@simplyhomes/sos-sdk
Version:
TypeScript SDK for Simply Homes SoS API v4
155 lines • 105 kB
TypeScript
/**
* 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 { V4SourcePropertyRelationsCreateRelationBodyDto, V4SourcePropertyRelationsCreateRelationResponseDto, V4SourcePropertyRelationsDeleteRelationResponseDto, V4SourcePropertyRelationsGetRelationColumnsResponseDto, V4SourcePropertyRelationsGetRelationResponseDto, V4SourcePropertyRelationsGetRelationsInViewResponseDto, V4SourcePropertyRelationsGetRelationsResponseDto, V4SourcePropertyRelationsUpdateRelationBodyDto, V4SourcePropertyRelationsUpdateRelationResponseDto } from '../models/index';
export interface V4SourcePropertyRelationsControllerCreateRelationV4Request {
sourceId: number;
propertyId: string;
v4SourcePropertyRelationsCreateRelationBodyDto: V4SourcePropertyRelationsCreateRelationBodyDto;
}
export interface V4SourcePropertyRelationsControllerDeleteRelationV4Request {
sourceId: number;
propertyId: string;
}
export interface V4SourcePropertyRelationsControllerGetRelationColumnsV4Request {
columns: string;
sourceId: number;
propertyId: string;
}
export interface V4SourcePropertyRelationsControllerGetRelationV4Request {
sourceId: number;
propertyId: string;
viewId?: number;
}
export interface V4SourcePropertyRelationsControllerGetRelationsInViewV4Request {
viewId: number;
limit?: number;
offset?: number;
countOnly?: boolean;
}
export interface V4SourcePropertyRelationsControllerGetRelationsV4Request {
viewId?: number;
limit?: number;
offset?: number;
countOnly?: boolean;
}
export interface V4SourcePropertyRelationsControllerUpdateRelationV4Request {
sourceId: number;
propertyId: string;
v4SourcePropertyRelationsUpdateRelationBodyDto: V4SourcePropertyRelationsUpdateRelationBodyDto;
}
/**
* SourcePropertyRelationsAPIV4Api - interface
*
* @export
* @interface SourcePropertyRelationsAPIV4ApiInterface
*/
export interface SourcePropertyRelationsAPIV4ApiInterface {
/**
* # POST /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId} ## Overview Creates a new source property relation between two properties. This endpoint allows you to establish relationships between properties, specify the relationship type, and provide metadata about the connection. ## Controller Reference See `V4_SourcePropertyRelations_Controller.createRelation()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric ID of the source | | `propertyId` | string | Yes | The unique ID of the property | ## Request Body The request body must contain a JSON object with the relation information. The request structure follows the DTO defined in `/dto/create-relation-source-property.dto.ts`. ### Content Type - **application/json** ### Required Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `relationType` | string | Yes | The type of relationship being created | ### Optional Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `confidence` | number | No | Confidence score for the relationship (0.0 to 1.0) | | `matchingCriteria` | string | No | Criteria used to establish the relationship | | `notes` | string | No | Additional notes about the relationship | | `validationMethod` | string | No | Method used to validate the relationship | ### Request Structure ```json { \"relationType\": \"data_source\", \"confidence\": 0.95, \"matchingCriteria\": \"address_exact_match\", \"notes\": \"Exact address match with high confidence\", \"validationMethod\": \"automated_address_standardization\" } ``` ## Relationship Types Supported relationship types include: - **data_source**: Source property provides data for target property - **lineage**: Historical data lineage relationship - **duplicate**: Properties represent the same real-world property - **similar**: Properties are similar but distinct - **related**: General relationship between properties - **derived**: Target property is derived from source property ## Property Validation The system validates: - **Property Existence**: Both source and property must exist - **Property Access**: Both source and property must belong to the user\'s organization - **Relationship Logic**: Relationship type must be valid for the source and property types - **Duplicate Prevention**: System prevents duplicate relationships ## Relation Initialization Upon successful creation, the relation is initialized with: - **Basic Information**: Source, target, and relationship type as specified - **System Metadata**: Creation timestamps and audit information - **Validation Status**: Initial validation status based on provided data - **Quality Metrics**: Initial quality scores based on confidence and criteria - **Organization Assignment**: Inherits organization from the properties ## Use Cases This endpoint is ideal for: - **Data Integration**: Establishing relationships during data import processes - **Manual Linking**: Creating relationships through user interfaces - **Data Quality**: Linking duplicate or similar properties - **Lineage Tracking**: Creating data lineage relationships - **System Integration**: Programmatically establishing property relationships ## Validation Process The system validates: - **Property Access**: User must have access to both properties - **Relationship Type**: Relationship type must be valid - **Organization Consistency**: Both properties must belong to user\'s organization - **Data Integrity**: Relationship data must be consistent and valid ## Performance Considerations - **Property Lookup**: System validates property existence and access - **Duplicate Check**: System checks for existing relationships - **Database Transaction**: Relation creation is atomic and transactional - **Immediate Availability**: Relation is available for operations immediately
* @summary Create a source property relation
* @param {number} sourceId The unique identifier of the source
* @param {string} propertyId The unique identifier of the property
* @param {V4SourcePropertyRelationsCreateRelationBodyDto} v4SourcePropertyRelationsCreateRelationBodyDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof SourcePropertyRelationsAPIV4ApiInterface
*/
v4SourcePropertyRelationsControllerCreateRelationV4Raw(requestParameters: V4SourcePropertyRelationsControllerCreateRelationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4SourcePropertyRelationsCreateRelationResponseDto>>;
/**
* # POST /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId} ## Overview Creates a new source property relation between two properties. This endpoint allows you to establish relationships between properties, specify the relationship type, and provide metadata about the connection. ## Controller Reference See `V4_SourcePropertyRelations_Controller.createRelation()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric ID of the source | | `propertyId` | string | Yes | The unique ID of the property | ## Request Body The request body must contain a JSON object with the relation information. The request structure follows the DTO defined in `/dto/create-relation-source-property.dto.ts`. ### Content Type - **application/json** ### Required Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `relationType` | string | Yes | The type of relationship being created | ### Optional Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `confidence` | number | No | Confidence score for the relationship (0.0 to 1.0) | | `matchingCriteria` | string | No | Criteria used to establish the relationship | | `notes` | string | No | Additional notes about the relationship | | `validationMethod` | string | No | Method used to validate the relationship | ### Request Structure ```json { \"relationType\": \"data_source\", \"confidence\": 0.95, \"matchingCriteria\": \"address_exact_match\", \"notes\": \"Exact address match with high confidence\", \"validationMethod\": \"automated_address_standardization\" } ``` ## Relationship Types Supported relationship types include: - **data_source**: Source property provides data for target property - **lineage**: Historical data lineage relationship - **duplicate**: Properties represent the same real-world property - **similar**: Properties are similar but distinct - **related**: General relationship between properties - **derived**: Target property is derived from source property ## Property Validation The system validates: - **Property Existence**: Both source and property must exist - **Property Access**: Both source and property must belong to the user\'s organization - **Relationship Logic**: Relationship type must be valid for the source and property types - **Duplicate Prevention**: System prevents duplicate relationships ## Relation Initialization Upon successful creation, the relation is initialized with: - **Basic Information**: Source, target, and relationship type as specified - **System Metadata**: Creation timestamps and audit information - **Validation Status**: Initial validation status based on provided data - **Quality Metrics**: Initial quality scores based on confidence and criteria - **Organization Assignment**: Inherits organization from the properties ## Use Cases This endpoint is ideal for: - **Data Integration**: Establishing relationships during data import processes - **Manual Linking**: Creating relationships through user interfaces - **Data Quality**: Linking duplicate or similar properties - **Lineage Tracking**: Creating data lineage relationships - **System Integration**: Programmatically establishing property relationships ## Validation Process The system validates: - **Property Access**: User must have access to both properties - **Relationship Type**: Relationship type must be valid - **Organization Consistency**: Both properties must belong to user\'s organization - **Data Integrity**: Relationship data must be consistent and valid ## Performance Considerations - **Property Lookup**: System validates property existence and access - **Duplicate Check**: System checks for existing relationships - **Database Transaction**: Relation creation is atomic and transactional - **Immediate Availability**: Relation is available for operations immediately
* Create a source property relation
*/
v4SourcePropertyRelationsControllerCreateRelationV4(requestParameters: V4SourcePropertyRelationsControllerCreateRelationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4SourcePropertyRelationsCreateRelationResponseDto>;
/**
* # DELETE /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId} ## Overview Deletes a specific source property relation by its unique source ID and property ID. This endpoint permanently removes a relation from the system along with any associated metadata. ## Controller Reference See `V4_SourcePropertyRelations_Controller.deleteRelation()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric identifier of the source | | `propertyId` | string | Yes | The unique identifier of the property | ## Access Control - **Organization Scope**: Relation must belong to the user\'s organization - **Relation Ownership**: Only relations within the organization can be deleted - **Data Privacy**: Relation data is isolated between organizations ## Deletion Process When a relation is deleted: - **Permanent Removal**: The relation record is permanently removed from the system - **Metadata Cleanup**: All relation-related metadata is also removed - **Property Impact**: Property relationship counts may be updated - **Audit Trail**: Deletion event is logged for compliance tracking - **Irreversible**: This action cannot be undone ## Use Cases This endpoint is ideal for: - **Data Cleanup**: Removing incorrect or invalid relationships - **Quality Management**: Cleaning up low-quality or false positive relations - **Data Correction**: Removing relations that were created in error - **System Maintenance**: Bulk cleanup operations for relation management - **Workflow Management**: Removing relations as part of data processing workflows ## Validation The system validates: - **Relation Existence**: Relation must exist in the system - **Organization Access**: Relation must belong to the user\'s organization - **Deletion Permissions**: User must have permission to delete relations - **Data Integrity**: System ensures referential integrity after deletion ## Impact of Deletion Relation deletion may: - **Update Analytics**: Relationship analytics are recalculated - **Remove from Views**: Relation will no longer appear in any filtered views - **Clear References**: Any references to the relation are cleaned up - **Trigger Notifications**: System may generate deletion notifications - **Update Reports**: Relation will be excluded from future reports ## Business Rules - **Immediate Effect**: Deletion takes effect immediately - **Audit Compliance**: All deletions are logged for compliance purposes - **Data Consistency**: System maintains data integrity across all related entities - **Quality Impact**: Property relationship quality metrics may be updated ## Performance Considerations - **Immediate Deletion**: Relation is removed immediately from the system - **Cleanup Operations**: Related data cleanup happens automatically - **Cache Invalidation**: Relevant caches are invalidated automatically - **Database Optimization**: Deletion operations are optimized for performance
* @summary Delete a source property relation
* @param {number} sourceId The unique identifier of the source
* @param {string} propertyId The unique identifier of the property
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof SourcePropertyRelationsAPIV4ApiInterface
*/
v4SourcePropertyRelationsControllerDeleteRelationV4Raw(requestParameters: V4SourcePropertyRelationsControllerDeleteRelationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4SourcePropertyRelationsDeleteRelationResponseDto>>;
/**
* # DELETE /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId} ## Overview Deletes a specific source property relation by its unique source ID and property ID. This endpoint permanently removes a relation from the system along with any associated metadata. ## Controller Reference See `V4_SourcePropertyRelations_Controller.deleteRelation()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric identifier of the source | | `propertyId` | string | Yes | The unique identifier of the property | ## Access Control - **Organization Scope**: Relation must belong to the user\'s organization - **Relation Ownership**: Only relations within the organization can be deleted - **Data Privacy**: Relation data is isolated between organizations ## Deletion Process When a relation is deleted: - **Permanent Removal**: The relation record is permanently removed from the system - **Metadata Cleanup**: All relation-related metadata is also removed - **Property Impact**: Property relationship counts may be updated - **Audit Trail**: Deletion event is logged for compliance tracking - **Irreversible**: This action cannot be undone ## Use Cases This endpoint is ideal for: - **Data Cleanup**: Removing incorrect or invalid relationships - **Quality Management**: Cleaning up low-quality or false positive relations - **Data Correction**: Removing relations that were created in error - **System Maintenance**: Bulk cleanup operations for relation management - **Workflow Management**: Removing relations as part of data processing workflows ## Validation The system validates: - **Relation Existence**: Relation must exist in the system - **Organization Access**: Relation must belong to the user\'s organization - **Deletion Permissions**: User must have permission to delete relations - **Data Integrity**: System ensures referential integrity after deletion ## Impact of Deletion Relation deletion may: - **Update Analytics**: Relationship analytics are recalculated - **Remove from Views**: Relation will no longer appear in any filtered views - **Clear References**: Any references to the relation are cleaned up - **Trigger Notifications**: System may generate deletion notifications - **Update Reports**: Relation will be excluded from future reports ## Business Rules - **Immediate Effect**: Deletion takes effect immediately - **Audit Compliance**: All deletions are logged for compliance purposes - **Data Consistency**: System maintains data integrity across all related entities - **Quality Impact**: Property relationship quality metrics may be updated ## Performance Considerations - **Immediate Deletion**: Relation is removed immediately from the system - **Cleanup Operations**: Related data cleanup happens automatically - **Cache Invalidation**: Relevant caches are invalidated automatically - **Database Optimization**: Deletion operations are optimized for performance
* Delete a source property relation
*/
v4SourcePropertyRelationsControllerDeleteRelationV4(requestParameters: V4SourcePropertyRelationsControllerDeleteRelationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4SourcePropertyRelationsDeleteRelationResponseDto>;
/**
* # GET /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId}/{columns} ## Overview Retrieves specific columns for a source property relation by its unique source ID and property ID. This endpoint allows you to fetch only the specified columns from the relation data, optimizing response size and performance. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelationColumns()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric identifier of the source | | `propertyId` | string | Yes | The unique identifier of the property | | `columns` | string | Yes | Comma-separated list of column names to retrieve | ## Column Selection The `columns` parameter allows you to specify which columns to retrieve: - **Format**: Comma-separated string (e.g., \"price,status,createdAt\") - **Case Sensitive**: Column names must match exactly - **Validation**: Only valid column names are accepted - **Performance**: Fewer columns result in faster responses ## Use Cases This endpoint is ideal for: - **Optimized Queries**: Fetching only required data fields - **Performance Optimization**: Reducing response payload size - **Bandwidth Conservation**: Minimizing data transfer - **Targeted Data Access**: Getting specific relation attributes - **Mobile Applications**: Optimizing for limited bandwidth ## Performance Benefits - **Reduced Payload**: Only requested columns are included in response - **Faster Queries**: Database queries are optimized for selected columns - **Lower Bandwidth**: Smaller responses improve network performance - **Memory Efficiency**: Less memory usage on both client and server
* @summary Get columns of a source property relation
* @param {string} columns Comma-separated list of column names
* @param {number} sourceId The unique identifier of the source
* @param {string} propertyId The unique identifier of the property
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof SourcePropertyRelationsAPIV4ApiInterface
*/
v4SourcePropertyRelationsControllerGetRelationColumnsV4Raw(requestParameters: V4SourcePropertyRelationsControllerGetRelationColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4SourcePropertyRelationsGetRelationColumnsResponseDto>>;
/**
* # GET /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId}/{columns} ## Overview Retrieves specific columns for a source property relation by its unique source ID and property ID. This endpoint allows you to fetch only the specified columns from the relation data, optimizing response size and performance. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelationColumns()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric identifier of the source | | `propertyId` | string | Yes | The unique identifier of the property | | `columns` | string | Yes | Comma-separated list of column names to retrieve | ## Column Selection The `columns` parameter allows you to specify which columns to retrieve: - **Format**: Comma-separated string (e.g., \"price,status,createdAt\") - **Case Sensitive**: Column names must match exactly - **Validation**: Only valid column names are accepted - **Performance**: Fewer columns result in faster responses ## Use Cases This endpoint is ideal for: - **Optimized Queries**: Fetching only required data fields - **Performance Optimization**: Reducing response payload size - **Bandwidth Conservation**: Minimizing data transfer - **Targeted Data Access**: Getting specific relation attributes - **Mobile Applications**: Optimizing for limited bandwidth ## Performance Benefits - **Reduced Payload**: Only requested columns are included in response - **Faster Queries**: Database queries are optimized for selected columns - **Lower Bandwidth**: Smaller responses improve network performance - **Memory Efficiency**: Less memory usage on both client and server
* Get columns of a source property relation
*/
v4SourcePropertyRelationsControllerGetRelationColumnsV4(requestParameters: V4SourcePropertyRelationsControllerGetRelationColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4SourcePropertyRelationsGetRelationColumnsResponseDto>;
/**
* # GET /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId} ## Overview Retrieves detailed information for a specific source property relation by its unique source ID and property ID. This endpoint returns comprehensive relation data including source and target property information, relationship metadata, and validation details. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelation()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric identifier of the source | | `propertyId` | string | Yes | The unique identifier of the property | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply column selection | ## Access Control - **Organization Scope**: Relation must belong to the user\'s organization - **Relation Ownership**: Only relations within the organization can be accessed - **Data Privacy**: Relation data is isolated between organizations ## View Integration When a `viewId` is provided: - **Column Selection**: Only columns specified in the view are returned - **Consistent Structure**: Same view produces consistent response structure - **Performance**: Limiting columns can improve response time and size ## Response Structure The response contains detailed relation information including source and target property data, relationship metadata, and validation information. ## Use Cases This endpoint is ideal for: - **Relation Detail Pages**: Display comprehensive relation information - **Data Lineage Analysis**: Access detailed tracking of property data flow - **Relationship Validation**: View validation status and confidence metrics - **Data Quality Assessment**: Analyze relationship quality and reliability - **Data Export**: Retrieve complete relation data for external systems ## Data Categories The relation data includes several categories: - **Basic Information**: Relation ID, type, status, and timestamps - **Property References**: Source and target property identifiers - **Relationship Metadata**: Confidence, validation status, matching criteria - **System Information**: Source system, creation details, last verification - **Quality Metrics**: Confidence scores, validation results, quality indicators ## Performance Considerations - **Complete Data**: Returns comprehensive relation information - **View Optimization**: Use viewId to limit returned fields for better performance - **Caching**: Consider caching relation details for frequently accessed relations - **Real-time Data**: Always returns current relation state
* @summary Get a source property relation
* @param {number} sourceId The unique identifier of the source
* @param {string} propertyId The unique identifier of the property
* @param {number} [viewId] The ID of the view to use for retrieving the repository
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof SourcePropertyRelationsAPIV4ApiInterface
*/
v4SourcePropertyRelationsControllerGetRelationV4Raw(requestParameters: V4SourcePropertyRelationsControllerGetRelationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4SourcePropertyRelationsGetRelationResponseDto>>;
/**
* # GET /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId} ## Overview Retrieves detailed information for a specific source property relation by its unique source ID and property ID. This endpoint returns comprehensive relation data including source and target property information, relationship metadata, and validation details. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelation()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric identifier of the source | | `propertyId` | string | Yes | The unique identifier of the property | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply column selection | ## Access Control - **Organization Scope**: Relation must belong to the user\'s organization - **Relation Ownership**: Only relations within the organization can be accessed - **Data Privacy**: Relation data is isolated between organizations ## View Integration When a `viewId` is provided: - **Column Selection**: Only columns specified in the view are returned - **Consistent Structure**: Same view produces consistent response structure - **Performance**: Limiting columns can improve response time and size ## Response Structure The response contains detailed relation information including source and target property data, relationship metadata, and validation information. ## Use Cases This endpoint is ideal for: - **Relation Detail Pages**: Display comprehensive relation information - **Data Lineage Analysis**: Access detailed tracking of property data flow - **Relationship Validation**: View validation status and confidence metrics - **Data Quality Assessment**: Analyze relationship quality and reliability - **Data Export**: Retrieve complete relation data for external systems ## Data Categories The relation data includes several categories: - **Basic Information**: Relation ID, type, status, and timestamps - **Property References**: Source and target property identifiers - **Relationship Metadata**: Confidence, validation status, matching criteria - **System Information**: Source system, creation details, last verification - **Quality Metrics**: Confidence scores, validation results, quality indicators ## Performance Considerations - **Complete Data**: Returns comprehensive relation information - **View Optimization**: Use viewId to limit returned fields for better performance - **Caching**: Consider caching relation details for frequently accessed relations - **Real-time Data**: Always returns current relation state
* Get a source property relation
*/
v4SourcePropertyRelationsControllerGetRelationV4(requestParameters: V4SourcePropertyRelationsControllerGetRelationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4SourcePropertyRelationsGetRelationResponseDto>;
/**
* # GET /v4/relations-source-property/viewId/{viewId} ## Overview Retrieves source property relations filtered by a specific view configuration. This endpoint applies the filters, sorts, and column selections defined in the specified view to return a customized dataset of property relationships. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelationsInView()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | Yes | The unique identifier of the view to apply | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `limit` | number | No | Maximum number of relations to return (default: 10, max: 100) | | `offset` | number | No | Number of relations to skip for pagination (default: 0) | ## View Application The specified view configuration is applied automatically: - **Filters**: All view filters are applied to narrow the relation dataset - **Sorts**: View sort criteria determine the order of returned relations - **Columns**: View column selection determines which fields are returned - **Validation**: View must exist and belong to the authenticated user ## Access Control - **User Ownership**: Only views created by the authenticated user can be used - **Organization Scope**: Relations are automatically filtered by organization - **View Validation**: Invalid or non-existent views will return an error ## Response Structure The response contains relations matching the view criteria with pagination metadata. ## Use Cases This endpoint is ideal for: - **Saved Searches**: Quickly access frequently used relation filters - **Custom Dashboards**: Display relations using predefined view configurations - **Report Generation**: Generate consistent reports using saved view criteria - **User Workflows**: Provide quick access to personalized relation subsets - **Data Analysis**: Apply complex filter combinations saved in views ## Performance Benefits Using views provides several performance advantages: - **Pre-validated Filters**: View filters are validated once during creation - **Consistent Queries**: Same view produces optimized, consistent database queries - **Reduced Complexity**: Complex filter logic is encapsulated in the view - **Caching Opportunities**: Results can be cached based on view configuration ## Pagination Standard pagination is supported: - **Consistent Results**: Pagination maintains view filter consistency - **Stable Ordering**: View sort configuration ensures stable result ordering - **Performance**: Large filtered datasets benefit from pagination
* @summary Get source property relations in a view
* @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 SourcePropertyRelationsAPIV4ApiInterface
*/
v4SourcePropertyRelationsControllerGetRelationsInViewV4Raw(requestParameters: V4SourcePropertyRelationsControllerGetRelationsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4SourcePropertyRelationsGetRelationsInViewResponseDto>>;
/**
* # GET /v4/relations-source-property/viewId/{viewId} ## Overview Retrieves source property relations filtered by a specific view configuration. This endpoint applies the filters, sorts, and column selections defined in the specified view to return a customized dataset of property relationships. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelationsInView()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | Yes | The unique identifier of the view to apply | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `limit` | number | No | Maximum number of relations to return (default: 10, max: 100) | | `offset` | number | No | Number of relations to skip for pagination (default: 0) | ## View Application The specified view configuration is applied automatically: - **Filters**: All view filters are applied to narrow the relation dataset - **Sorts**: View sort criteria determine the order of returned relations - **Columns**: View column selection determines which fields are returned - **Validation**: View must exist and belong to the authenticated user ## Access Control - **User Ownership**: Only views created by the authenticated user can be used - **Organization Scope**: Relations are automatically filtered by organization - **View Validation**: Invalid or non-existent views will return an error ## Response Structure The response contains relations matching the view criteria with pagination metadata. ## Use Cases This endpoint is ideal for: - **Saved Searches**: Quickly access frequently used relation filters - **Custom Dashboards**: Display relations using predefined view configurations - **Report Generation**: Generate consistent reports using saved view criteria - **User Workflows**: Provide quick access to personalized relation subsets - **Data Analysis**: Apply complex filter combinations saved in views ## Performance Benefits Using views provides several performance advantages: - **Pre-validated Filters**: View filters are validated once during creation - **Consistent Queries**: Same view produces optimized, consistent database queries - **Reduced Complexity**: Complex filter logic is encapsulated in the view - **Caching Opportunities**: Results can be cached based on view configuration ## Pagination Standard pagination is supported: - **Consistent Results**: Pagination maintains view filter consistency - **Stable Ordering**: View sort configuration ensures stable result ordering - **Performance**: Large filtered datasets benefit from pagination
* Get source property relations in a view
*/
v4SourcePropertyRelationsControllerGetRelationsInViewV4(requestParameters: V4SourcePropertyRelationsControllerGetRelationsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4SourcePropertyRelationsGetRelationsInViewResponseDto>;
/**
* # GET /v4/relations-source-property ## Overview Retrieves source properties and their relationship data. This endpoint provides access to properties that serve as sources for various data relationships within the system, enabling analysis of property connections and data flow. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelations()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply filters, sorts, and column selections | | `limit` | number | No | Maximum number of relation records to return (default: 10, max: 100) | | `offset` | number | No | Number of records to skip for pagination (default: 0) | ### View Integration When a `viewId` is provided: - **Filters**: View filters are automatically applied to the query - **Sorts**: View sort configurations determine result ordering - **Columns**: View column selections determine returned fields - **Validation**: View must exist and belong to the authenticated user ### Pagination The endpoint supports offset-based pagination: - **Default Limit**: 10 records per request - **Maximum Limit**: 100 records per request - **Offset Calculation**: Use `offset = page * limit` for page-based pagination ## Response Structure The response contains an array of source property relation objects with pagination metadata. ## Use Cases This endpoint is ideal for: - Building property relationship visualizations - Analyzing data source dependencies - Creating property connection reports - Implementing property lineage tracking - Providing property data provenance information ## Performance Considerations - **Pagination**: Use appropriate limit values to balance performance and data needs - **View Optimization**: Well-designed views with targeted filters improve response times - **Column Selection**: Limit returned columns through views for better performance - **Caching**: Consider implementing client-side caching for frequently accessed data ## Integration Patterns **Standard Listing:** - No viewId: Returns all organization relation records with default columns - Basic pagination: Use limit/offset for page navigation **Filtered Views:** - With viewId: Returns relations matching view criteria - Consistent Results: Same view always returns same filtered dataset - User Personalization: Each user can have custom views for different purposes ## Relationship Types Source property relations may include: - **Data Source**: Original source of property information - **Data Flow**: How property data moves through the system - **Dependencies**: Properties that depend on this source - **Lineage**: Historical tracking of property data changes - **Connections**: Relationships between related properties
* @summary Get all source property relations
* @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 SourcePropertyRelationsAPIV4ApiInterface
*/
v4SourcePropertyRelationsControllerGetRelationsV4Raw(requestParameters: V4SourcePropertyRelationsControllerGetRelationsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4SourcePropertyRelationsGetRelationsResponseDto>>;
/**
* # GET /v4/relations-source-property ## Overview Retrieves source properties and their relationship data. This endpoint provides access to properties that serve as sources for various data relationships within the system, enabling analysis of property connections and data flow. ## Controller Reference See `V4_SourcePropertyRelations_Controller.getRelations()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply filters, sorts, and column selections | | `limit` | number | No | Maximum number of relation records to return (default: 10, max: 100) | | `offset` | number | No | Number of records to skip for pagination (default: 0) | ### View Integration When a `viewId` is provided: - **Filters**: View filters are automatically applied to the query - **Sorts**: View sort configurations determine result ordering - **Columns**: View column selections determine returned fields - **Validation**: View must exist and belong to the authenticated user ### Pagination The endpoint supports offset-based pagination: - **Default Limit**: 10 records per request - **Maximum Limit**: 100 records per request - **Offset Calculation**: Use `offset = page * limit` for page-based pagination ## Response Structure The response contains an array of source property relation objects with pagination metadata. ## Use Cases This endpoint is ideal for: - Building property relationship visualizations - Analyzing data source dependencies - Creating property connection reports - Implementing property lineage tracking - Providing property data provenance information ## Performance Considerations - **Pagination**: Use appropriate limit values to balance performance and data needs - **View Optimization**: Well-designed views with targeted filters improve response times - **Column Selection**: Limit returned columns through views for better performance - **Caching**: Consider implementing client-side caching for frequently accessed data ## Integration Patterns **Standard Listing:** - No viewId: Returns all organization relation records with default columns - Basic pagination: Use limit/offset for page navigation **Filtered Views:** - With viewId: Returns relations matching view criteria - Consistent Results: Same view always returns same filtered dataset - User Personalization: Each user can have custom views for different purposes ## Relationship Types Source property relations may include: - **Data Source**: Original source of property information - **Data Flow**: How property data moves through the system - **Dependencies**: Properties that depend on this source - **Lineage**: Historical tracking of property data changes - **Connections**: Relationships between related properties
* Get all source property relations
*/
v4SourcePropertyRelationsControllerGetRelationsV4(requestParameters: V4SourcePropertyRelationsControllerGetRelationsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4SourcePropertyRelationsGetRelationsResponseDto>;
/**
* # PATCH /v4/relations-source-property/sourceId/{sourceId}/propertyId/{propertyId} ## Overview Updates an existing source property relation with new information. This endpoint allows you to modify the price for a specific relation identified by its source ID and property ID. ## Controller Reference See `V4_SourcePropertyRelations_Controller.updateRelation()` in `/src/api/v4/source-property-relations/source-property-relations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/source-property-relations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourceId` | number | Yes | The numeric identifier of the source | | `propertyId` | string | Yes | The unique identifier of the property | ## Request Body The request body must contain a JSON object with the relation fields to be updated. ### Content Type - **application/json** ### Request Structure The request body should contain the relation data to update: ```json { \"relation\": { \"price\": 250000 } } ``` ### Updatable Fields Currently, you can update the following relation field: #### Property Information - **price**: The price value for the property relation (number) ### Read-Only Fields The following fields cannot be updated via this endpoint: - **sourceId**: Source ID (immutable) - **propertyId**: Property ID (immutable) - **createdAt**: Creation timestamp (system managed) - **updatedAt**: Last update timestamp (system managed) ## Partial Updates This endpoint supports partial updates: - **Selective Updates**: Only include fields you want to modify - **Unchanged Fields**: Fields not included in the request remain unchanged - **Null Values**: Explicitly set fields to null by including them with null values - **Validation**: Only provided fields are validated ## Access Control - **Organization Scope**: Relation must belong to the user\'s organization - **Relation Ownership**: Only relations within the organization can be updated - **Permission**: User must have relation update permissions ## Business Rules - **Data Validation**: Price values are validated for format and business rules - **Price Range**: Price must be a positive number within acceptable ranges - **Audit Trail**: All price changes are logged for compliance and tracking - **Consistency**: Updates maintain data integrity across related fiel