@simplyhomes/sos-sdk
Version:
TypeScript SDK for Simply Homes SoS API v4
154 lines • 98.7 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 { V4OrganizationsCreateOrganizationBodyDto, V4OrganizationsCreateOrganizationResponseDto, V4OrganizationsDeleteOrganizationResponseDto, V4OrganizationsGetOrganizationColumnsResponseDto, V4OrganizationsGetOrganizationResponseDto, V4OrganizationsGetOrganizationsInViewResponseDto, V4OrganizationsGetOrganizationsResponseDto, V4OrganizationsUpdateOrganizationBodyDto, V4OrganizationsUpdateOrganizationResponseDto } from '../models/index';
export interface V4OrganizationsControllerCreateOrganizationV4Request {
v4OrganizationsCreateOrganizationBodyDto: V4OrganizationsCreateOrganizationBodyDto;
}
export interface V4OrganizationsControllerDeleteOrganizationV4Request {
organizationId: number;
}
export interface V4OrganizationsControllerGetOrganizationColumnsV4Request {
columns: string;
organizationId: number;
}
export interface V4OrganizationsControllerGetOrganizationV4Request {
organizationId: number;
viewId?: number;
}
export interface V4OrganizationsControllerGetOrganizationsInViewV4Request {
viewId: number;
limit?: number;
offset?: number;
countOnly?: boolean;
}
export interface V4OrganizationsControllerGetOrganizationsV4Request {
viewId?: number;
limit?: number;
offset?: number;
countOnly?: boolean;
}
export interface V4OrganizationsControllerUpdateOrganizationV4Request {
organizationId: number;
v4OrganizationsUpdateOrganizationBodyDto: V4OrganizationsUpdateOrganizationBodyDto;
}
/**
* OrganizationsAPIV4Api - interface
*
* @export
* @interface OrganizationsAPIV4ApiInterface
*/
export interface OrganizationsAPIV4ApiInterface {
/**
* # POST /v4/organizations ## Overview Creates a new organization in the system. This endpoint allows you to create new organizations with basic information including name and description. ## Controller Reference See `V4_Organizations_Controller.createOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Body The request body must contain a JSON object with the organization information. ### Content Type - **application/json** ### Required Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | Yes | The name of the organization | ### Optional Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `description` | string | No | A description of the organization | ### Request Structure ```json { \"name\": \"New Organization\", \"description\": \"A sample organization for property management\" } ``` ## Organization Creation Process The system handles organization creation with: - **Validation**: All required fields are validated - **Ownership Assignment**: Organization is assigned to the creating user - **Timestamps**: Creation and update timestamps are automatically set - **Unique Identifier**: System generates a unique organization ID - **Access Control**: Organization is scoped to the user\'s organization ## Use Cases This endpoint is ideal for: - **Organization Setup**: Creating new organizations for property management - **System Initialization**: Setting up organizations for new users - **Data Migration**: Creating organizations during data import processes - **User Management**: Allowing users to create their own organizations - **System Administration**: Administrative creation of organizations ## Validation Rules The system validates: - **Name Required**: Organization name must be provided - **Name Length**: Name must meet minimum and maximum length requirements - **Description Format**: Description must be properly formatted if provided - **User Authentication**: User must be authenticated to create organizations - **Organization Limits**: User may have limits on number of organizations ## Performance Considerations - **Database Transaction**: Organization creation is atomic and transactional - **Immediate Availability**: Organization is available for operations immediately - **Auto-incrementing ID**: Organization receives auto-generated unique identifier - **Audit Logging**: Creation event is logged for compliance and tracking
* @summary Create a new organization
* @param {V4OrganizationsCreateOrganizationBodyDto} v4OrganizationsCreateOrganizationBodyDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OrganizationsAPIV4ApiInterface
*/
v4OrganizationsControllerCreateOrganizationV4Raw(requestParameters: V4OrganizationsControllerCreateOrganizationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OrganizationsCreateOrganizationResponseDto>>;
/**
* # POST /v4/organizations ## Overview Creates a new organization in the system. This endpoint allows you to create new organizations with basic information including name and description. ## Controller Reference See `V4_Organizations_Controller.createOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/dto/` for complete field specifications and validation rules. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Body The request body must contain a JSON object with the organization information. ### Content Type - **application/json** ### Required Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | Yes | The name of the organization | ### Optional Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `description` | string | No | A description of the organization | ### Request Structure ```json { \"name\": \"New Organization\", \"description\": \"A sample organization for property management\" } ``` ## Organization Creation Process The system handles organization creation with: - **Validation**: All required fields are validated - **Ownership Assignment**: Organization is assigned to the creating user - **Timestamps**: Creation and update timestamps are automatically set - **Unique Identifier**: System generates a unique organization ID - **Access Control**: Organization is scoped to the user\'s organization ## Use Cases This endpoint is ideal for: - **Organization Setup**: Creating new organizations for property management - **System Initialization**: Setting up organizations for new users - **Data Migration**: Creating organizations during data import processes - **User Management**: Allowing users to create their own organizations - **System Administration**: Administrative creation of organizations ## Validation Rules The system validates: - **Name Required**: Organization name must be provided - **Name Length**: Name must meet minimum and maximum length requirements - **Description Format**: Description must be properly formatted if provided - **User Authentication**: User must be authenticated to create organizations - **Organization Limits**: User may have limits on number of organizations ## Performance Considerations - **Database Transaction**: Organization creation is atomic and transactional - **Immediate Availability**: Organization is available for operations immediately - **Auto-incrementing ID**: Organization receives auto-generated unique identifier - **Audit Logging**: Creation event is logged for compliance and tracking
* Create a new organization
*/
v4OrganizationsControllerCreateOrganizationV4(requestParameters: V4OrganizationsControllerCreateOrganizationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OrganizationsCreateOrganizationResponseDto>;
/**
* # DELETE /v4/organizations/{organizationId} ## Overview Permanently deletes an organization from the system. This is a destructive operation that removes the organization and may impact related data. ## Controller Reference See `V4_Organizations_Controller.deleteOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization to delete | ## Access Control - **Organization Ownership**: User must own or have delete permissions for the organization - **Organization Scoped**: Organization must belong to user\'s organization - **Permission Check**: User must have delete permissions for organizations - **Data Privacy**: Deletions are isolated between organizations ## Deletion Process The system handles deletion with: - **Validation**: Confirms organization exists and user has permissions - **Dependency Check**: Verifies no critical dependencies prevent deletion - **Soft/Hard Delete**: May perform soft delete for audit purposes - **Cleanup**: Removes or updates related data as appropriate - **Audit Logging**: Records deletion event for compliance ## Impact Analysis Before deletion, consider: - **Related Properties**: Impact on properties associated with the organization - **User Access**: Impact on users who have access to the organization - **Historical Data**: Impact on historical records and audit trails - **System Integration**: Impact on external systems using organization data - **Data Dependencies**: Impact on other system components ## Use Cases This endpoint is appropriate for: - **Organization Cleanup**: Removing obsolete or unused organizations - **Data Management**: Cleaning up test or temporary organizations - **User Management**: Removing organizations when users leave - **System Administration**: Administrative cleanup of organization data - **Compliance**: Removing organizations for data retention compliance ## Safety Considerations Important safety measures: - **Confirmation Required**: Consider requiring additional confirmation - **Backup Strategy**: Ensure organization data is backed up if needed - **Recovery Plan**: Have a plan for data recovery if needed - **Impact Assessment**: Understand full impact before deletion - **Rollback Capability**: Consider soft delete for rollback capability ## Validation Rules The system validates: - **Organization Existence**: Organization must exist and be accessible - **User Permissions**: User must have appropriate delete permissions - **Dependency Check**: No critical dependencies prevent deletion - **Business Rules**: Deletion must comply with business rules - **Data Constraints**: Deletion must satisfy all data constraints
* @summary Delete a specific organization by organizationId
* @param {number} organizationId The unique identifier of the organization
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OrganizationsAPIV4ApiInterface
*/
v4OrganizationsControllerDeleteOrganizationV4Raw(requestParameters: V4OrganizationsControllerDeleteOrganizationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OrganizationsDeleteOrganizationResponseDto>>;
/**
* # DELETE /v4/organizations/{organizationId} ## Overview Permanently deletes an organization from the system. This is a destructive operation that removes the organization and may impact related data. ## Controller Reference See `V4_Organizations_Controller.deleteOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization to delete | ## Access Control - **Organization Ownership**: User must own or have delete permissions for the organization - **Organization Scoped**: Organization must belong to user\'s organization - **Permission Check**: User must have delete permissions for organizations - **Data Privacy**: Deletions are isolated between organizations ## Deletion Process The system handles deletion with: - **Validation**: Confirms organization exists and user has permissions - **Dependency Check**: Verifies no critical dependencies prevent deletion - **Soft/Hard Delete**: May perform soft delete for audit purposes - **Cleanup**: Removes or updates related data as appropriate - **Audit Logging**: Records deletion event for compliance ## Impact Analysis Before deletion, consider: - **Related Properties**: Impact on properties associated with the organization - **User Access**: Impact on users who have access to the organization - **Historical Data**: Impact on historical records and audit trails - **System Integration**: Impact on external systems using organization data - **Data Dependencies**: Impact on other system components ## Use Cases This endpoint is appropriate for: - **Organization Cleanup**: Removing obsolete or unused organizations - **Data Management**: Cleaning up test or temporary organizations - **User Management**: Removing organizations when users leave - **System Administration**: Administrative cleanup of organization data - **Compliance**: Removing organizations for data retention compliance ## Safety Considerations Important safety measures: - **Confirmation Required**: Consider requiring additional confirmation - **Backup Strategy**: Ensure organization data is backed up if needed - **Recovery Plan**: Have a plan for data recovery if needed - **Impact Assessment**: Understand full impact before deletion - **Rollback Capability**: Consider soft delete for rollback capability ## Validation Rules The system validates: - **Organization Existence**: Organization must exist and be accessible - **User Permissions**: User must have appropriate delete permissions - **Dependency Check**: No critical dependencies prevent deletion - **Business Rules**: Deletion must comply with business rules - **Data Constraints**: Deletion must satisfy all data constraints
* Delete a specific organization by organizationId
*/
v4OrganizationsControllerDeleteOrganizationV4(requestParameters: V4OrganizationsControllerDeleteOrganizationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OrganizationsDeleteOrganizationResponseDto>;
/**
* # GET /v4/organizations/{organizationId}/{columns} ## Overview Retrieves specific columns for a particular organization. This endpoint allows precise data selection by specifying which organization fields to return, optimizing performance and reducing response size. ## Controller Reference See `V4_Organizations_Controller.getOrganizationColumns()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization | | `columns` | string | Yes | Comma-separated list of column names to retrieve | ## Column Selection ### Available Columns The following columns are available for selection: - **oid**: Organization unique identifier - **name**: Organization name - **description**: Organization description - **createdAt**: Creation timestamp - **updatedAt**: Last update timestamp - **uid**: Owner user ID ### Column Format Columns should be specified as a comma-separated string: - **Single Column**: `name` - **Multiple Columns**: `oid,name,createdAt` - **All Columns**: `oid,name,description,createdAt,updatedAt,uid` ### Example URLs - `/v4/organizations/1234/name` - Get only organization name - `/v4/organizations/1234/oid,name` - Get ID and name - `/v4/organizations/1234/name,description,createdAt` - Get name, description, and creation date ## Access Control - **Organization Scope**: Organization must belong to the user\'s organization - **Organization Ownership**: Only organizations within the organization can be accessed - **Data Privacy**: Organization data is isolated between organizations - **Column Access**: All organization columns are accessible to authorized users ## Use Cases This endpoint is ideal for: - **Performance Optimization**: Retrieve only needed data to improve response times - **Mobile Applications**: Minimize data transfer for mobile clients - **Micro-services**: Get specific data for service-to-service communication - **Dashboard Widgets**: Retrieve specific metrics for dashboard components - **Data Export**: Export specific organization fields for external systems - **Report Generation**: Get targeted data for specific reports ## Performance Benefits Column selection provides: - **Reduced Bandwidth**: Smaller response size means faster data transfer - **Lower Memory Usage**: Less data processing and memory consumption - **Faster Queries**: Database can optimize queries for specific columns - **Improved Caching**: Smaller responses are more efficient to cache - **Better Scalability**: Reduced resource usage supports higher concurrency ## Data Categories Organizations have several data categories: - **Identifiers**: oid (unique identifier) - **Basic Info**: name, description - **Ownership**: uid (user identifier) - **Timestamps**: createdAt, updatedAt - **System Fields**: Various system-managed fields ## Column Validation The system validates: - **Column Names**: All specified columns must be valid organization fields - **Column Access**: User must have access to all requested columns - **Organization Existence**: Organization must exist and be accessible - **Format Correctness**: Column list must be properly formatted
* @summary Get specific columns of a organization by organizationId
* @param {string} columns Comma-separated list of column names
* @param {number} organizationId The unique identifier of the organization
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OrganizationsAPIV4ApiInterface
*/
v4OrganizationsControllerGetOrganizationColumnsV4Raw(requestParameters: V4OrganizationsControllerGetOrganizationColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OrganizationsGetOrganizationColumnsResponseDto>>;
/**
* # GET /v4/organizations/{organizationId}/{columns} ## Overview Retrieves specific columns for a particular organization. This endpoint allows precise data selection by specifying which organization fields to return, optimizing performance and reducing response size. ## Controller Reference See `V4_Organizations_Controller.getOrganizationColumns()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization | | `columns` | string | Yes | Comma-separated list of column names to retrieve | ## Column Selection ### Available Columns The following columns are available for selection: - **oid**: Organization unique identifier - **name**: Organization name - **description**: Organization description - **createdAt**: Creation timestamp - **updatedAt**: Last update timestamp - **uid**: Owner user ID ### Column Format Columns should be specified as a comma-separated string: - **Single Column**: `name` - **Multiple Columns**: `oid,name,createdAt` - **All Columns**: `oid,name,description,createdAt,updatedAt,uid` ### Example URLs - `/v4/organizations/1234/name` - Get only organization name - `/v4/organizations/1234/oid,name` - Get ID and name - `/v4/organizations/1234/name,description,createdAt` - Get name, description, and creation date ## Access Control - **Organization Scope**: Organization must belong to the user\'s organization - **Organization Ownership**: Only organizations within the organization can be accessed - **Data Privacy**: Organization data is isolated between organizations - **Column Access**: All organization columns are accessible to authorized users ## Use Cases This endpoint is ideal for: - **Performance Optimization**: Retrieve only needed data to improve response times - **Mobile Applications**: Minimize data transfer for mobile clients - **Micro-services**: Get specific data for service-to-service communication - **Dashboard Widgets**: Retrieve specific metrics for dashboard components - **Data Export**: Export specific organization fields for external systems - **Report Generation**: Get targeted data for specific reports ## Performance Benefits Column selection provides: - **Reduced Bandwidth**: Smaller response size means faster data transfer - **Lower Memory Usage**: Less data processing and memory consumption - **Faster Queries**: Database can optimize queries for specific columns - **Improved Caching**: Smaller responses are more efficient to cache - **Better Scalability**: Reduced resource usage supports higher concurrency ## Data Categories Organizations have several data categories: - **Identifiers**: oid (unique identifier) - **Basic Info**: name, description - **Ownership**: uid (user identifier) - **Timestamps**: createdAt, updatedAt - **System Fields**: Various system-managed fields ## Column Validation The system validates: - **Column Names**: All specified columns must be valid organization fields - **Column Access**: User must have access to all requested columns - **Organization Existence**: Organization must exist and be accessible - **Format Correctness**: Column list must be properly formatted
* Get specific columns of a organization by organizationId
*/
v4OrganizationsControllerGetOrganizationColumnsV4(requestParameters: V4OrganizationsControllerGetOrganizationColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OrganizationsGetOrganizationColumnsResponseDto>;
/**
* # GET /v4/organizations/{organizationId} ## Overview Retrieves detailed information for a specific organization by its unique organization ID. This endpoint returns comprehensive organization data including basic information, metadata, and timestamps. ## Controller Reference See `V4_Organizations_Controller.getOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization to retrieve | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply column selection | ## Access Control - **Organization Scope**: Organization must belong to the user\'s organization - **Organization Ownership**: Only organizations within the organization can be accessed - **Data Privacy**: Organization 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 organization information including basic details, timestamps, and metadata. ## Use Cases This endpoint is ideal for: - **Organization Detail Pages**: Display comprehensive organization information - **Organization Management**: Access operational details and configurations - **Data Export**: Retrieve complete organization data for external systems - **Reporting**: Generate detailed organization reports and summaries - **System Integration**: Get organization data for integration purposes ## Data Categories The organization data includes several categories: - **Basic Information**: Organization ID, name, description - **Ownership**: User ID of the organization owner - **Timestamps**: Creation and modification dates - **System Metadata**: System-generated information and audit data ## Performance Considerations - **Complete Data**: Returns comprehensive organization information - **View Optimization**: Use viewId to limit returned fields for better performance - **Caching**: Consider caching organization details for frequently accessed organizations - **Real-time Data**: Always returns current organization state
* @summary Get a specific organization by organizationId
* @param {number} organizationId The unique identifier of the organization
* @param {number} [viewId] The ID of the view to use for retrieving the repository
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OrganizationsAPIV4ApiInterface
*/
v4OrganizationsControllerGetOrganizationV4Raw(requestParameters: V4OrganizationsControllerGetOrganizationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OrganizationsGetOrganizationResponseDto>>;
/**
* # GET /v4/organizations/{organizationId} ## Overview Retrieves detailed information for a specific organization by its unique organization ID. This endpoint returns comprehensive organization data including basic information, metadata, and timestamps. ## Controller Reference See `V4_Organizations_Controller.getOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization to retrieve | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply column selection | ## Access Control - **Organization Scope**: Organization must belong to the user\'s organization - **Organization Ownership**: Only organizations within the organization can be accessed - **Data Privacy**: Organization 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 organization information including basic details, timestamps, and metadata. ## Use Cases This endpoint is ideal for: - **Organization Detail Pages**: Display comprehensive organization information - **Organization Management**: Access operational details and configurations - **Data Export**: Retrieve complete organization data for external systems - **Reporting**: Generate detailed organization reports and summaries - **System Integration**: Get organization data for integration purposes ## Data Categories The organization data includes several categories: - **Basic Information**: Organization ID, name, description - **Ownership**: User ID of the organization owner - **Timestamps**: Creation and modification dates - **System Metadata**: System-generated information and audit data ## Performance Considerations - **Complete Data**: Returns comprehensive organization information - **View Optimization**: Use viewId to limit returned fields for better performance - **Caching**: Consider caching organization details for frequently accessed organizations - **Real-time Data**: Always returns current organization state
* Get a specific organization by organizationId
*/
v4OrganizationsControllerGetOrganizationV4(requestParameters: V4OrganizationsControllerGetOrganizationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OrganizationsGetOrganizationResponseDto>;
/**
* # GET /v4/organizations/viewId/{viewId} ## Overview Retrieves organizations filtered by a specific view configuration. This endpoint applies view-specific filtering and column selection to return organizations that match the view criteria. ## Controller Reference See `V4_Organizations_Controller.getOrganizationsInView()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 organizations to return (1-100, default: 10) | | `offset` | number | No | Number of organizations to skip for pagination (default: 0) | ## View Configuration Views provide: - **Column Selection**: Only view-configured columns are returned - **Filtering**: View-specific filters are applied to results - **Consistent Structure**: Same view produces consistent response structure - **Performance**: Optimized queries based on view configuration - **User Preference**: Personalized organization display options ## Access Control - **Organization Scope**: Only organizations within the user\'s organization are returned - **View Access**: User must have access to the specified view - **Data Privacy**: Organization data is isolated between organizations - **Permission**: User must have read access to organizations ## Use Cases This endpoint is ideal for: - **Customized Organization Views**: Display organizations according to user preferences - **Filtered Organization Lists**: Show organizations that match specific criteria - **Dashboard Integration**: Provide organization data for specialized dashboards - **Reporting**: Generate reports with specific organization subsets - **User Interface**: Support various UI views of organization data ## View Benefits Using views provides: - **Reduced Data Transfer**: Only required columns are returned - **Consistent Formatting**: Same view always produces same structure - **Performance Optimization**: Views can optimize database queries - **User Customization**: Users can configure their preferred organization views - **System Integration**: Views can be shared across different system components ## Performance Notes - **Optimized Queries**: Views can use optimized database queries - **Reduced Payload**: Smaller response size due to column selection - **Caching**: View results can be cached for improved performance - **Index Usage**: Views can leverage database indexes effectively - **Pagination**: Use limit and offset for large result sets
* @summary Get organizations 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 OrganizationsAPIV4ApiInterface
*/
v4OrganizationsControllerGetOrganizationsInViewV4Raw(requestParameters: V4OrganizationsControllerGetOrganizationsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OrganizationsGetOrganizationsInViewResponseDto>>;
/**
* # GET /v4/organizations/viewId/{viewId} ## Overview Retrieves organizations filtered by a specific view configuration. This endpoint applies view-specific filtering and column selection to return organizations that match the view criteria. ## Controller Reference See `V4_Organizations_Controller.getOrganizationsInView()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 organizations to return (1-100, default: 10) | | `offset` | number | No | Number of organizations to skip for pagination (default: 0) | ## View Configuration Views provide: - **Column Selection**: Only view-configured columns are returned - **Filtering**: View-specific filters are applied to results - **Consistent Structure**: Same view produces consistent response structure - **Performance**: Optimized queries based on view configuration - **User Preference**: Personalized organization display options ## Access Control - **Organization Scope**: Only organizations within the user\'s organization are returned - **View Access**: User must have access to the specified view - **Data Privacy**: Organization data is isolated between organizations - **Permission**: User must have read access to organizations ## Use Cases This endpoint is ideal for: - **Customized Organization Views**: Display organizations according to user preferences - **Filtered Organization Lists**: Show organizations that match specific criteria - **Dashboard Integration**: Provide organization data for specialized dashboards - **Reporting**: Generate reports with specific organization subsets - **User Interface**: Support various UI views of organization data ## View Benefits Using views provides: - **Reduced Data Transfer**: Only required columns are returned - **Consistent Formatting**: Same view always produces same structure - **Performance Optimization**: Views can optimize database queries - **User Customization**: Users can configure their preferred organization views - **System Integration**: Views can be shared across different system components ## Performance Notes - **Optimized Queries**: Views can use optimized database queries - **Reduced Payload**: Smaller response size due to column selection - **Caching**: View results can be cached for improved performance - **Index Usage**: Views can leverage database indexes effectively - **Pagination**: Use limit and offset for large result sets
* Get organizations with a specific viewId
*/
v4OrganizationsControllerGetOrganizationsInViewV4(requestParameters: V4OrganizationsControllerGetOrganizationsInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OrganizationsGetOrganizationsInViewResponseDto>;
/**
* # GET /v4/organizations ## Overv```json { \"objects\": [ { \"oid\": 1234, \"name\": \"New Org\", \"description\": \"A sample organization\", \"createdAt\": \"2024-01-15T10:30:00Z\", \"updatedAt\": \"2024-01-15T10:30:00Z\", \"uid\": \"user-123\" }, { \"oid\": 1235, \"name\": \"Another Org\", \"description\": \"Another sample organization\", \"createdAt\": \"2024-01-16T09:15:00Z\", \"updatedAt\": \"2024-01-16T09:15:00Z\", \"uid\": \"user-123\" } ], \"count\": 2 } ```ll organizations with optional pagination and view filtering. This endpoint provides access to organization data that can be used for property relationship management and data sourcing operations. ## Controller Reference See `V4_Organizations_Controller.getOrganizations()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `limit` | number | No | Maximum number of organizations to return (1-100, default: 10) | | `offset` | number | No | Number of organizations to skip for pagination (default: 0) | | `viewId` | number | No | Optional view ID to apply filters and column selection | ## Access Control - **Organization Scope**: Only organizations within the user\'s organization are returned - **Data Privacy**: Organization data is isolated between organizations - **Permission**: User must have read access to organizations ## Use Cases This endpoint is ideal for: - **Organization Management**: Listing all available data organizations - **Property Relations**: Finding organizations for property relationship creation - **Data Quality**: Reviewing organization information and metadata - **System Integration**: Fetching organization data for external integrations - **Analytics**: Generating reports on data organization usage ## Performance Notes - **Pagination**: Use limit and offset parameters for large datasets - **View Filtering**: Apply viewId to reduce response size and improve performance - **Caching**: Responses are cached for improved performance - **Rate Limiting**: Standard API rate limits apply ## Response Format Returns an array of organization objects with pagination metadata including organization ID, organization name, creation date, and associated metadata.
* @summary Get organizations 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 OrganizationsAPIV4ApiInterface
*/
v4OrganizationsControllerGetOrganizationsV4Raw(requestParameters: V4OrganizationsControllerGetOrganizationsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OrganizationsGetOrganizationsResponseDto>>;
/**
* # GET /v4/organizations ## Overv```json { \"objects\": [ { \"oid\": 1234, \"name\": \"New Org\", \"description\": \"A sample organization\", \"createdAt\": \"2024-01-15T10:30:00Z\", \"updatedAt\": \"2024-01-15T10:30:00Z\", \"uid\": \"user-123\" }, { \"oid\": 1235, \"name\": \"Another Org\", \"description\": \"Another sample organization\", \"createdAt\": \"2024-01-16T09:15:00Z\", \"updatedAt\": \"2024-01-16T09:15:00Z\", \"uid\": \"user-123\" } ], \"count\": 2 } ```ll organizations with optional pagination and view filtering. This endpoint provides access to organization data that can be used for property relationship management and data sourcing operations. ## Controller Reference See `V4_Organizations_Controller.getOrganizations()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `limit` | number | No | Maximum number of organizations to return (1-100, default: 10) | | `offset` | number | No | Number of organizations to skip for pagination (default: 0) | | `viewId` | number | No | Optional view ID to apply filters and column selection | ## Access Control - **Organization Scope**: Only organizations within the user\'s organization are returned - **Data Privacy**: Organization data is isolated between organizations - **Permission**: User must have read access to organizations ## Use Cases This endpoint is ideal for: - **Organization Management**: Listing all available data organizations - **Property Relations**: Finding organizations for property relationship creation - **Data Quality**: Reviewing organization information and metadata - **System Integration**: Fetching organization data for external integrations - **Analytics**: Generating reports on data organization usage ## Performance Notes - **Pagination**: Use limit and offset parameters for large datasets - **View Filtering**: Apply viewId to reduce response size and improve performance - **Caching**: Responses are cached for improved performance - **Rate Limiting**: Standard API rate limits apply ## Response Format Returns an array of organization objects with pagination metadata including organization ID, organization name, creation date, and associated metadata.
* Get organizations with optional viewId
*/
v4OrganizationsControllerGetOrganizationsV4(requestParameters: V4OrganizationsControllerGetOrganizationsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OrganizationsGetOrganizationsResponseDto>;
/**
* # PATCH /v4/organizations/{organizationId} ## Overview Updates an existing organization\'s information. This endpoint allows partial updates to organization data including name and description modifications. ## Controller Reference See `V4_Organizations_Controller.updateOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization to update | ## Request Body The request body contains the fields to update. Only provided fields will be updated. ### Content Type - **application/json** ### Updatable Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | No | New name for the organization | | `description` | string | No | New description for the organization | ### Request Structure ```json { \"name\": \"Updated Organization Name\", \"description\": \"Updated organization description\" } ``` ## Update Behavior The system handles updates with: - **Partial Updates**: Only specified fields are modified - **Validation**: All provided fields are validated - **Timestamp Updates**: Update timestamp is automatically modified - **Ownership Preservation**: Organization ownership remains unchanged - **Data Integrity**: All updates maintain data consistency ## Access Control - **Organization Ownership**: User must own or have access to the organization - **Organization Scoped**: Organization must belong to user\'s organization - **Permission Check**: User must have update permissions for organizations - **Data Privacy**: Updates are isolated between organizations ## Use Cases This endpoint is ideal for: - **Organization Maintenance**: Updating organization information as it changes - **Data Correction**: Fixing incorrect organization data - **Organization Rebranding**: Updating names and descriptions for rebranding - **User Management**: Allowing users to modify their organization details - **System Administration**: Administrative updates to organization information ## Validation Rules The system validates: - **Field Formats**: All provided fields must meet format requirements - **Organization Existence**: Organization must exist and be accessible - **User Permissions**: User must have appropriate update permissions - **Data Constraints**: Updates must satisfy all data constraints - **Business Rules**: Organization updates must comply with business rules ## Performance Considerations - **Atomic Updates**: All updates are applied atomically - **Optimistic Locking**: System prevents concurrent update conflicts - **Change Tracking**: All changes are logged for audit purposes - **Index Updates**: Search indexes are updated automatically - **Cache Invalidation**: Cached organization data is refreshed
* @summary Update a specific organization by organizationId
* @param {number} organizationId The unique identifier of the organization
* @param {V4OrganizationsUpdateOrganizationBodyDto} v4OrganizationsUpdateOrganizationBodyDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OrganizationsAPIV4ApiInterface
*/
v4OrganizationsControllerUpdateOrganizationV4Raw(requestParameters: V4OrganizationsControllerUpdateOrganizationV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OrganizationsUpdateOrganizationResponseDto>>;
/**
* # PATCH /v4/organizations/{organizationId} ## Overview Updates an existing organization\'s information. This endpoint allows partial updates to organization data including name and description modifications. ## Controller Reference See `V4_Organizations_Controller.updateOrganization()` in `/src/api/v4/organizations/organizations.controller.ts` for implementation details. ## DTO Reference See the DTO definitions in `/src/api/v4/organizations/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 | |-----------|------|----------|-------------| | `organizationId` | number | Yes | The unique identifier of the organization to update | ## Request Body The request body contains the fields to update. Only provided fields will be updated. ### Content Type - **application/json** ### Updatable Fields | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | No | New name for the organization | | `description` | string | No | New description for the organization | ### Request Structure ```json { \"name\": \"Updated Organization Name\", \"description\": \"Updated organization description\" } ``` ## Update Behavior The system handles updates with: - **Partial Updates**: Only specified fields are modified - **Validation**: All provided fields are validated - **Timestamp Updates**: Update timestamp is automatically modified - **Ownership Preservation**: Organization ownership remains unchanged - **Data Integrity**: All updates maintain data consistency ## Access Control - **Organization Ownership**: User must own or have access to the organization - **Organization Scoped**: Organization must belong to user\'s organization - **Permission Check**: User must have update permissions for organizations - **Data Privacy**: Updates are isolated between organizations ## Use Cases This endpo