UNPKG

@simplyhomes/sos-sdk

Version:

TypeScript SDK for Simply Homes SoS API v4

336 lines 37.4 kB
/** * API v4 * Swagger documentation for API v4 * * The version of the OpenAPI document: 4.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { V4TransactionsCreateTransactionBodyDto, V4TransactionsCreateTransactionResponseDto, V4TransactionsDeleteTransactionResponseDto, V4TransactionsGetTransactionColumnsResponseDto, V4TransactionsGetTransactionResponseDto, V4TransactionsGetTransactionsFilteredByResponseDto, V4TransactionsGetTransactionsInViewResponseDto, V4TransactionsGetTransactionsResponseDto, V4TransactionsGetUniqueValuesResponseDto, V4TransactionsUpdateTransactionBodyDto, V4TransactionsUpdateTransactionResponseDto } from '../models/index'; export interface V4TransactionsControllerCreateTransactionV4Request { v4TransactionsCreateTransactionBodyDto: V4TransactionsCreateTransactionBodyDto; } export interface V4TransactionsControllerDeleteTransactionV4Request { transactionId: number; } export interface V4TransactionsControllerGetTransactionColumnsV4Request { transactionId: number; columns: string; } export interface V4TransactionsControllerGetTransactionV4Request { transactionId: number; viewId?: number; } export interface V4TransactionsControllerGetTransactionsFilteredByV4Request { column: string; value: string; viewId?: number; columns?: string; limit?: number; offset?: number; countOnly?: boolean; filterOperation?: V4TransactionsControllerGetTransactionsFilteredByV4FilterOperation; } export interface V4TransactionsControllerGetTransactionsInViewV4Request { viewId: number; limit?: number; offset?: number; countOnly?: boolean; } export interface V4TransactionsControllerGetTransactionsV4Request { viewId?: number; limit?: number; offset?: number; countOnly?: boolean; } export interface V4TransactionsControllerGetUniqueValuesV4Request { column: string; viewId?: number; limit?: number; offset?: number; } export interface V4TransactionsControllerUpdateTransactionV4Request { transactionId: number; v4TransactionsUpdateTransactionBodyDto: V4TransactionsUpdateTransactionBodyDto; } /** * TransactionsAPIV4Api - interface * * @export * @interface TransactionsAPIV4ApiInterface */ export interface TransactionsAPIV4ApiInterface { /** * Create a new transaction linked to a property * @summary Create a new transaction * @param {V4TransactionsCreateTransactionBodyDto} v4TransactionsCreateTransactionBodyDto * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerCreateTransactionV4Raw(requestParameters: V4TransactionsControllerCreateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsCreateTransactionResponseDto>>; /** * Create a new transaction linked to a property * Create a new transaction */ v4TransactionsControllerCreateTransactionV4(requestParameters: V4TransactionsControllerCreateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsCreateTransactionResponseDto>; /** * Remove a transaction from the system * @summary Delete a specific transaction by transactionId * @param {number} transactionId The unique identifier of the transaction * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerDeleteTransactionV4Raw(requestParameters: V4TransactionsControllerDeleteTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsDeleteTransactionResponseDto>>; /** * Remove a transaction from the system * Delete a specific transaction by transactionId */ v4TransactionsControllerDeleteTransactionV4(requestParameters: V4TransactionsControllerDeleteTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsDeleteTransactionResponseDto>; /** * Retrieve only specified columns of a transaction * @summary Get specific columns of a transaction by transactionId * @param {number} transactionId The unique identifier of the transaction * @param {string} columns Comma-separated list of column names * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerGetTransactionColumnsV4Raw(requestParameters: V4TransactionsControllerGetTransactionColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionColumnsResponseDto>>; /** * Retrieve only specified columns of a transaction * Get specific columns of a transaction by transactionId */ v4TransactionsControllerGetTransactionColumnsV4(requestParameters: V4TransactionsControllerGetTransactionColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionColumnsResponseDto>; /** * Retrieve details of a single transaction * @summary Get a specific transaction by transactionId * @param {number} transactionId The unique identifier of the transaction * @param {number} [viewId] The ID of the view to use for retrieving the repository * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerGetTransactionV4Raw(requestParameters: V4TransactionsControllerGetTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionResponseDto>>; /** * Retrieve details of a single transaction * Get a specific transaction by transactionId */ v4TransactionsControllerGetTransactionV4(requestParameters: V4TransactionsControllerGetTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionResponseDto>; /** * Retrieve transactions that match the specified column filter * @summary Get transactions filtered by a specific column and value * @param {string} column The name of the column * @param {string} value The value to filter or query by * @param {number} [viewId] The ID of the view to use for retrieving the repository * @param {string} [columns] The columns to select from the object * @param {number} [limit] The maximum number of objects to return * @param {number} [offset] The offset for pagination, used to skip a number of objects * @param {boolean} [countOnly] Whether to return only the count of objects instead of the objects themselves * @param {'contains' | 'does not contain' | 'is' | 'is not' | 'is any of' | 'is none of' | '=' | '!=' | '>' | '<' | '>=' | '<=' | 'contains all of' | 'contains any of' | 'contains none of' | 'is empty' | 'is not empty' | 'is before' | 'is after' | 'is on or before' | 'is on or after' | 'is between'} [filterOperation] Filters to apply to the view - Operation must be one of the following: + For string: contains, does not contain, is, is not, is any of, is none of + For number: &#x3D;, !&#x3D;, &gt;, &lt;, &gt;&#x3D;, &lt;&#x3D;, is any of, is none of + For array: contains all of, contains any of, contains none of, is empty, is not empty + For boolean: is + For date: is, is not, is before, is after, is on or before, is on or after, is between, is any of, is none of * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerGetTransactionsFilteredByV4Raw(requestParameters: V4TransactionsControllerGetTransactionsFilteredByV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionsFilteredByResponseDto>>; /** * Retrieve transactions that match the specified column filter * Get transactions filtered by a specific column and value */ v4TransactionsControllerGetTransactionsFilteredByV4(requestParameters: V4TransactionsControllerGetTransactionsFilteredByV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionsFilteredByResponseDto>; /** * Retrieve transactions filtered by a specific view * @summary Get transactions with a specific viewId * @param {number} viewId The unique identifier of the view * @param {number} [limit] The maximum number of objects to return * @param {number} [offset] The offset for pagination, used to skip a number of objects * @param {boolean} [countOnly] Whether to return only the count of objects instead of the objects themselves * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerGetTransactionsInViewV4Raw(requestParameters: V4TransactionsControllerGetTransactionsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionsInViewResponseDto>>; /** * Retrieve transactions filtered by a specific view * Get transactions with a specific viewId */ v4TransactionsControllerGetTransactionsInViewV4(requestParameters: V4TransactionsControllerGetTransactionsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionsInViewResponseDto>; /** * Retrieve a list of transactions, optionally filtered by a view * @summary Get transactions with optional viewId * @param {number} [viewId] The ID of the view to use for retrieving the repository * @param {number} [limit] The maximum number of objects to return * @param {number} [offset] The offset for pagination, used to skip a number of objects * @param {boolean} [countOnly] Whether to return only the count of objects instead of the objects themselves * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerGetTransactionsV4Raw(requestParameters: V4TransactionsControllerGetTransactionsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionsResponseDto>>; /** * Retrieve a list of transactions, optionally filtered by a view * Get transactions with optional viewId */ v4TransactionsControllerGetTransactionsV4(requestParameters: V4TransactionsControllerGetTransactionsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionsResponseDto>; /** * # GET /v4/transactions/unique/{column} ## Overview Retrieves all unique values for a specified transaction column along with the count of transactions having each value. This endpoint is ideal for building filter dropdowns, analytics dashboards, and understanding data distribution across transaction fields. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `column` | string | Yes | The transaction column/field to get unique values from (e.g., \"status\", \"closingConfidence\") | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply view filters before calculating unique values (only transactions matching the view criteria will be considered) | | `limit` | number | No | Maximum number of unique values to return (default: 100, max: 1000) | | `offset` | number | No | Number of unique values to skip for pagination (default: 0) | ## Supported Columns The endpoint supports any valid transaction column, including but not limited to: ### Status and Classification - **status**: Transaction status (New, In Contract, Closed, etc.) - **closingConfidence**: Confidence level in transaction closing ### Financial Fields - **contractPrice**: Contract price of the transaction - **closingCost**: Estimated closing costs ### Dates - **contractDate**: Date contract was signed - **closingDate**: Expected or actual closing date ## View Integration When a `viewId` is provided: - **Pre-filtering**: View filters are applied before calculating unique values - **Scoped Results**: Only transactions matching the view criteria are considered - **Consistent Data**: Results align with transactions visible in the specified view - **Dynamic Analysis**: Unique values reflect the filtered dataset, not all transactions ## Access Control - **Organization Scope**: Unique values are automatically filtered by organization - **Transaction Ownership**: Only transactions within the organization are considered - **Data Privacy**: Results are isolated between organizations - **View Authorization**: View access is validated before applying view filters ## Response Structure The response contains unique values with their counts, total count, and the queried column name. ## Use Cases This endpoint is ideal for: - **Filter Dropdowns**: Populate dropdown menus with available filter options - **Data Analytics**: Understand distribution of values across transaction portfolio - **Dashboard Widgets**: Display counts and statistics for different transaction categories - **Validation**: Check available values before filtering or updating transactions - **Report Generation**: Generate summaries and breakdowns by transaction attributes ## Examples ### Get Transaction Statuses `GET /v4/transactions/unique/status` ### Get Closing Confidence Levels `GET /v4/transactions/unique/closingConfidence` ### Get Statuses with View Filter `GET /v4/transactions/unique/status?viewId=12345` ## Performance Considerations - **Index Usage**: Queries on indexed columns (status, closingConfidence) perform better - **Result Size**: Use pagination for columns with many unique values - **Data Types**: Numeric columns may return many unique values; consider grouping - **Organization Filtering**: Automatic organization scoping ensures optimal performance ## Integration Patterns **Filter Interfaces:** - Use results to populate filter dropdown options - Show counts to help users understand data availability - Implement dynamic filtering based on available values **Analytics Dashboards:** - Display distribution charts using value counts - Create summary statistics for transaction portfolios - Build interactive data exploration tools **Data Validation:** - Verify valid values before transaction updates - Check data consistency across transaction records - Validate import data against existing values * @summary Get unique values for a specific transaction column with counts * @param {string} column The name of the column to get unique values for * @param {number} [viewId] The ID of the view to use for retrieving the repository * @param {number} [limit] The maximum number of objects to return * @param {number} [offset] The offset for pagination, used to skip a number of objects * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerGetUniqueValuesV4Raw(requestParameters: V4TransactionsControllerGetUniqueValuesV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetUniqueValuesResponseDto>>; /** * # GET /v4/transactions/unique/{column} ## Overview Retrieves all unique values for a specified transaction column along with the count of transactions having each value. This endpoint is ideal for building filter dropdowns, analytics dashboards, and understanding data distribution across transaction fields. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `column` | string | Yes | The transaction column/field to get unique values from (e.g., \"status\", \"closingConfidence\") | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply view filters before calculating unique values (only transactions matching the view criteria will be considered) | | `limit` | number | No | Maximum number of unique values to return (default: 100, max: 1000) | | `offset` | number | No | Number of unique values to skip for pagination (default: 0) | ## Supported Columns The endpoint supports any valid transaction column, including but not limited to: ### Status and Classification - **status**: Transaction status (New, In Contract, Closed, etc.) - **closingConfidence**: Confidence level in transaction closing ### Financial Fields - **contractPrice**: Contract price of the transaction - **closingCost**: Estimated closing costs ### Dates - **contractDate**: Date contract was signed - **closingDate**: Expected or actual closing date ## View Integration When a `viewId` is provided: - **Pre-filtering**: View filters are applied before calculating unique values - **Scoped Results**: Only transactions matching the view criteria are considered - **Consistent Data**: Results align with transactions visible in the specified view - **Dynamic Analysis**: Unique values reflect the filtered dataset, not all transactions ## Access Control - **Organization Scope**: Unique values are automatically filtered by organization - **Transaction Ownership**: Only transactions within the organization are considered - **Data Privacy**: Results are isolated between organizations - **View Authorization**: View access is validated before applying view filters ## Response Structure The response contains unique values with their counts, total count, and the queried column name. ## Use Cases This endpoint is ideal for: - **Filter Dropdowns**: Populate dropdown menus with available filter options - **Data Analytics**: Understand distribution of values across transaction portfolio - **Dashboard Widgets**: Display counts and statistics for different transaction categories - **Validation**: Check available values before filtering or updating transactions - **Report Generation**: Generate summaries and breakdowns by transaction attributes ## Examples ### Get Transaction Statuses `GET /v4/transactions/unique/status` ### Get Closing Confidence Levels `GET /v4/transactions/unique/closingConfidence` ### Get Statuses with View Filter `GET /v4/transactions/unique/status?viewId=12345` ## Performance Considerations - **Index Usage**: Queries on indexed columns (status, closingConfidence) perform better - **Result Size**: Use pagination for columns with many unique values - **Data Types**: Numeric columns may return many unique values; consider grouping - **Organization Filtering**: Automatic organization scoping ensures optimal performance ## Integration Patterns **Filter Interfaces:** - Use results to populate filter dropdown options - Show counts to help users understand data availability - Implement dynamic filtering based on available values **Analytics Dashboards:** - Display distribution charts using value counts - Create summary statistics for transaction portfolios - Build interactive data exploration tools **Data Validation:** - Verify valid values before transaction updates - Check data consistency across transaction records - Validate import data against existing values * Get unique values for a specific transaction column with counts */ v4TransactionsControllerGetUniqueValuesV4(requestParameters: V4TransactionsControllerGetUniqueValuesV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetUniqueValuesResponseDto>; /** * Update fields of an existing transaction * @summary Update a specific transaction by transactionId * @param {number} transactionId The unique identifier of the transaction * @param {V4TransactionsUpdateTransactionBodyDto} v4TransactionsUpdateTransactionBodyDto * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionsAPIV4ApiInterface */ v4TransactionsControllerUpdateTransactionV4Raw(requestParameters: V4TransactionsControllerUpdateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsUpdateTransactionResponseDto>>; /** * Update fields of an existing transaction * Update a specific transaction by transactionId */ v4TransactionsControllerUpdateTransactionV4(requestParameters: V4TransactionsControllerUpdateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsUpdateTransactionResponseDto>; } /** * */ export declare class TransactionsAPIV4Api extends runtime.BaseAPI implements TransactionsAPIV4ApiInterface { /** * Create a new transaction linked to a property * Create a new transaction */ v4TransactionsControllerCreateTransactionV4Raw(requestParameters: V4TransactionsControllerCreateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsCreateTransactionResponseDto>>; /** * Create a new transaction linked to a property * Create a new transaction */ v4TransactionsControllerCreateTransactionV4(requestParameters: V4TransactionsControllerCreateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsCreateTransactionResponseDto>; /** * Remove a transaction from the system * Delete a specific transaction by transactionId */ v4TransactionsControllerDeleteTransactionV4Raw(requestParameters: V4TransactionsControllerDeleteTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsDeleteTransactionResponseDto>>; /** * Remove a transaction from the system * Delete a specific transaction by transactionId */ v4TransactionsControllerDeleteTransactionV4(requestParameters: V4TransactionsControllerDeleteTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsDeleteTransactionResponseDto>; /** * Retrieve only specified columns of a transaction * Get specific columns of a transaction by transactionId */ v4TransactionsControllerGetTransactionColumnsV4Raw(requestParameters: V4TransactionsControllerGetTransactionColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionColumnsResponseDto>>; /** * Retrieve only specified columns of a transaction * Get specific columns of a transaction by transactionId */ v4TransactionsControllerGetTransactionColumnsV4(requestParameters: V4TransactionsControllerGetTransactionColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionColumnsResponseDto>; /** * Retrieve details of a single transaction * Get a specific transaction by transactionId */ v4TransactionsControllerGetTransactionV4Raw(requestParameters: V4TransactionsControllerGetTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionResponseDto>>; /** * Retrieve details of a single transaction * Get a specific transaction by transactionId */ v4TransactionsControllerGetTransactionV4(requestParameters: V4TransactionsControllerGetTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionResponseDto>; /** * Retrieve transactions that match the specified column filter * Get transactions filtered by a specific column and value */ v4TransactionsControllerGetTransactionsFilteredByV4Raw(requestParameters: V4TransactionsControllerGetTransactionsFilteredByV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionsFilteredByResponseDto>>; /** * Retrieve transactions that match the specified column filter * Get transactions filtered by a specific column and value */ v4TransactionsControllerGetTransactionsFilteredByV4(requestParameters: V4TransactionsControllerGetTransactionsFilteredByV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionsFilteredByResponseDto>; /** * Retrieve transactions filtered by a specific view * Get transactions with a specific viewId */ v4TransactionsControllerGetTransactionsInViewV4Raw(requestParameters: V4TransactionsControllerGetTransactionsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionsInViewResponseDto>>; /** * Retrieve transactions filtered by a specific view * Get transactions with a specific viewId */ v4TransactionsControllerGetTransactionsInViewV4(requestParameters: V4TransactionsControllerGetTransactionsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionsInViewResponseDto>; /** * Retrieve a list of transactions, optionally filtered by a view * Get transactions with optional viewId */ v4TransactionsControllerGetTransactionsV4Raw(requestParameters: V4TransactionsControllerGetTransactionsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetTransactionsResponseDto>>; /** * Retrieve a list of transactions, optionally filtered by a view * Get transactions with optional viewId */ v4TransactionsControllerGetTransactionsV4(requestParameters?: V4TransactionsControllerGetTransactionsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetTransactionsResponseDto>; /** * # GET /v4/transactions/unique/{column} ## Overview Retrieves all unique values for a specified transaction column along with the count of transactions having each value. This endpoint is ideal for building filter dropdowns, analytics dashboards, and understanding data distribution across transaction fields. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `column` | string | Yes | The transaction column/field to get unique values from (e.g., \"status\", \"closingConfidence\") | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply view filters before calculating unique values (only transactions matching the view criteria will be considered) | | `limit` | number | No | Maximum number of unique values to return (default: 100, max: 1000) | | `offset` | number | No | Number of unique values to skip for pagination (default: 0) | ## Supported Columns The endpoint supports any valid transaction column, including but not limited to: ### Status and Classification - **status**: Transaction status (New, In Contract, Closed, etc.) - **closingConfidence**: Confidence level in transaction closing ### Financial Fields - **contractPrice**: Contract price of the transaction - **closingCost**: Estimated closing costs ### Dates - **contractDate**: Date contract was signed - **closingDate**: Expected or actual closing date ## View Integration When a `viewId` is provided: - **Pre-filtering**: View filters are applied before calculating unique values - **Scoped Results**: Only transactions matching the view criteria are considered - **Consistent Data**: Results align with transactions visible in the specified view - **Dynamic Analysis**: Unique values reflect the filtered dataset, not all transactions ## Access Control - **Organization Scope**: Unique values are automatically filtered by organization - **Transaction Ownership**: Only transactions within the organization are considered - **Data Privacy**: Results are isolated between organizations - **View Authorization**: View access is validated before applying view filters ## Response Structure The response contains unique values with their counts, total count, and the queried column name. ## Use Cases This endpoint is ideal for: - **Filter Dropdowns**: Populate dropdown menus with available filter options - **Data Analytics**: Understand distribution of values across transaction portfolio - **Dashboard Widgets**: Display counts and statistics for different transaction categories - **Validation**: Check available values before filtering or updating transactions - **Report Generation**: Generate summaries and breakdowns by transaction attributes ## Examples ### Get Transaction Statuses `GET /v4/transactions/unique/status` ### Get Closing Confidence Levels `GET /v4/transactions/unique/closingConfidence` ### Get Statuses with View Filter `GET /v4/transactions/unique/status?viewId=12345` ## Performance Considerations - **Index Usage**: Queries on indexed columns (status, closingConfidence) perform better - **Result Size**: Use pagination for columns with many unique values - **Data Types**: Numeric columns may return many unique values; consider grouping - **Organization Filtering**: Automatic organization scoping ensures optimal performance ## Integration Patterns **Filter Interfaces:** - Use results to populate filter dropdown options - Show counts to help users understand data availability - Implement dynamic filtering based on available values **Analytics Dashboards:** - Display distribution charts using value counts - Create summary statistics for transaction portfolios - Build interactive data exploration tools **Data Validation:** - Verify valid values before transaction updates - Check data consistency across transaction records - Validate import data against existing values * Get unique values for a specific transaction column with counts */ v4TransactionsControllerGetUniqueValuesV4Raw(requestParameters: V4TransactionsControllerGetUniqueValuesV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsGetUniqueValuesResponseDto>>; /** * # GET /v4/transactions/unique/{column} ## Overview Retrieves all unique values for a specified transaction column along with the count of transactions having each value. This endpoint is ideal for building filter dropdowns, analytics dashboards, and understanding data distribution across transaction fields. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `column` | string | Yes | The transaction column/field to get unique values from (e.g., \"status\", \"closingConfidence\") | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply view filters before calculating unique values (only transactions matching the view criteria will be considered) | | `limit` | number | No | Maximum number of unique values to return (default: 100, max: 1000) | | `offset` | number | No | Number of unique values to skip for pagination (default: 0) | ## Supported Columns The endpoint supports any valid transaction column, including but not limited to: ### Status and Classification - **status**: Transaction status (New, In Contract, Closed, etc.) - **closingConfidence**: Confidence level in transaction closing ### Financial Fields - **contractPrice**: Contract price of the transaction - **closingCost**: Estimated closing costs ### Dates - **contractDate**: Date contract was signed - **closingDate**: Expected or actual closing date ## View Integration When a `viewId` is provided: - **Pre-filtering**: View filters are applied before calculating unique values - **Scoped Results**: Only transactions matching the view criteria are considered - **Consistent Data**: Results align with transactions visible in the specified view - **Dynamic Analysis**: Unique values reflect the filtered dataset, not all transactions ## Access Control - **Organization Scope**: Unique values are automatically filtered by organization - **Transaction Ownership**: Only transactions within the organization are considered - **Data Privacy**: Results are isolated between organizations - **View Authorization**: View access is validated before applying view filters ## Response Structure The response contains unique values with their counts, total count, and the queried column name. ## Use Cases This endpoint is ideal for: - **Filter Dropdowns**: Populate dropdown menus with available filter options - **Data Analytics**: Understand distribution of values across transaction portfolio - **Dashboard Widgets**: Display counts and statistics for different transaction categories - **Validation**: Check available values before filtering or updating transactions - **Report Generation**: Generate summaries and breakdowns by transaction attributes ## Examples ### Get Transaction Statuses `GET /v4/transactions/unique/status` ### Get Closing Confidence Levels `GET /v4/transactions/unique/closingConfidence` ### Get Statuses with View Filter `GET /v4/transactions/unique/status?viewId=12345` ## Performance Considerations - **Index Usage**: Queries on indexed columns (status, closingConfidence) perform better - **Result Size**: Use pagination for columns with many unique values - **Data Types**: Numeric columns may return many unique values; consider grouping - **Organization Filtering**: Automatic organization scoping ensures optimal performance ## Integration Patterns **Filter Interfaces:** - Use results to populate filter dropdown options - Show counts to help users understand data availability - Implement dynamic filtering based on available values **Analytics Dashboards:** - Display distribution charts using value counts - Create summary statistics for transaction portfolios - Build interactive data exploration tools **Data Validation:** - Verify valid values before transaction updates - Check data consistency across transaction records - Validate import data against existing values * Get unique values for a specific transaction column with counts */ v4TransactionsControllerGetUniqueValuesV4(requestParameters: V4TransactionsControllerGetUniqueValuesV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsGetUniqueValuesResponseDto>; /** * Update fields of an existing transaction * Update a specific transaction by transactionId */ v4TransactionsControllerUpdateTransactionV4Raw(requestParameters: V4TransactionsControllerUpdateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4TransactionsUpdateTransactionResponseDto>>; /** * Update fields of an existing transaction * Update a specific transaction by transactionId */ v4TransactionsControllerUpdateTransactionV4(requestParameters: V4TransactionsControllerUpdateTransactionV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4TransactionsUpdateTransactionResponseDto>; } /** * @export * @enum {string} */ export declare enum V4TransactionsControllerGetTransactionsFilteredByV4FilterOperation { Contains = "contains", DoesNotContain = "does not contain", Is = "is", IsNot = "is not", IsAnyOf = "is any of", IsNoneOf = "is none of", Equal = "=", NotEqual = "!=", GreaterThan = ">", LessThan = "<", GreaterThanOrEqualTo = ">=", LessThanOrEqualTo = "<=", ContainsAllOf = "contains all of", ContainsAnyOf = "contains any of", ContainsNoneOf = "contains none of", IsEmpty = "is empty", IsNotEmpty = "is not empty", IsBefore = "is before", IsAfter = "is after", IsOnOrBefore = "is on or before", IsOnOrAfter = "is on or after", IsBetween = "is between" } //# sourceMappingURL=TransactionsAPIV4Api.d.ts.map