@simplyhomes/sos-sdk
Version:
TypeScript SDK for Simply Homes SoS API v4
154 lines • 102 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 { V4OffersCreateOfferBodyDto, V4OffersCreateOfferResponseDto, V4OffersDeleteOfferResponseDto, V4OffersGetOfferColumnsResponseDto, V4OffersGetOfferResponseDto, V4OffersGetOffersInViewResponseDto, V4OffersGetOffersResponseDto, V4OffersUpdateOfferBodyDto, V4OffersUpdateOfferResponseDto } from '../models/index';
export interface V4OffersControllerCreateOfferV4Request {
v4OffersCreateOfferBodyDto: V4OffersCreateOfferBodyDto;
}
export interface V4OffersControllerDeleteOfferV4Request {
offerId: number;
}
export interface V4OffersControllerGetOfferColumnsV4Request {
columns: string;
offerId: number;
}
export interface V4OffersControllerGetOfferV4Request {
offerId: number;
viewId?: number;
}
export interface V4OffersControllerGetOffersInViewV4Request {
viewId: number;
limit?: number;
offset?: number;
countOnly?: boolean;
}
export interface V4OffersControllerGetOffersV4Request {
viewId?: number;
limit?: number;
offset?: number;
countOnly?: boolean;
}
export interface V4OffersControllerUpdateOfferV4Request {
offerId: number;
v4OffersUpdateOfferBodyDto: V4OffersUpdateOfferBodyDto;
}
/**
* OffersAPIV4Api - interface
*
* @export
* @interface OffersAPIV4ApiInterface
*/
export interface OffersAPIV4ApiInterface {
/**
* # POST /v4/offers ## Overview Creates a new property offer with the provided information. This endpoint allows you to submit new offers for properties with buyer details, financial terms, and contract conditions. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Body The request body should contain offer information to create the new offer. ### Required Fields | Field | Type | Description | |-------|------|-------------| | `name` | string | Offer name or identifier | ### Optional Fields | Field | Type | Description | |-------|------|-------------| | `leadId` | number | Associated lead ID | ### Validation Rules - **Name**: Required, non-empty string for offer identification - **Lead ID**: Optional, must be a valid lead ID within the organization if provided - **Organization Scoping**: Offer is automatically associated with user\'s organization ## Request Example ```json { \"name\": \"Purchase Offer - Downtown Condo\", \"leadId\": 456 } ``` ## Response Structure Returns the newly created offer\'s ID and confirmation. ## Use Cases This endpoint is ideal for: - **Offer Management**: Create named offers for tracking and organization - **Lead Integration**: Associate offers with specific leads in the pipeline - **Deal Tracking**: Start tracking deal progression with named identifiers - **Workflow Management**: Create offers as part of investment workflows - **Pipeline Organization**: Organize offers by name and lead association - **Investment Analysis**: Begin offer analysis with proper identification ## Business Rules - **Name Validation**: Offer name is required for identification and tracking - **Lead Validation**: Lead ID must be a valid lead within the organization if provided - **Organization Association**: Offers are automatically scoped to the user\'s organization - **Initial Status**: New offers are created with default status for tracking - **Audit Trail**: Offer creation is logged for compliance and tracking ## Offer Categories ### Offer Types You can create offers for various scenarios: - **Investment Offers**: Offers for real estate investment opportunities - **Purchase Offers**: Standard property purchase offers - **Wholesale Offers**: Offers for wholesale real estate transactions - **Partnership Offers**: Offers for joint venture opportunities ### Lead Integration - **Lead Association**: Link offers to specific leads for pipeline management - **Deal Progression**: Track offers through the investment pipeline - **Communication Tracking**: Connect offers to lead communication history - **Conversion Analysis**: Analyze lead-to-offer conversion metrics ## Error Handling Common validation errors include: - **Missing Name**: Offer name not provided - **Invalid Lead ID**: Lead does not exist or belongs to different organization - **Invalid Name Format**: Name contains invalid characters or exceeds length limits - **Organization Access**: User lacks permission to create offers
* @summary Create a new offer
* @param {V4OffersCreateOfferBodyDto} v4OffersCreateOfferBodyDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OffersAPIV4ApiInterface
*/
v4OffersControllerCreateOfferV4Raw(requestParameters: V4OffersControllerCreateOfferV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OffersCreateOfferResponseDto>>;
/**
* # POST /v4/offers ## Overview Creates a new property offer with the provided information. This endpoint allows you to submit new offers for properties with buyer details, financial terms, and contract conditions. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Body The request body should contain offer information to create the new offer. ### Required Fields | Field | Type | Description | |-------|------|-------------| | `name` | string | Offer name or identifier | ### Optional Fields | Field | Type | Description | |-------|------|-------------| | `leadId` | number | Associated lead ID | ### Validation Rules - **Name**: Required, non-empty string for offer identification - **Lead ID**: Optional, must be a valid lead ID within the organization if provided - **Organization Scoping**: Offer is automatically associated with user\'s organization ## Request Example ```json { \"name\": \"Purchase Offer - Downtown Condo\", \"leadId\": 456 } ``` ## Response Structure Returns the newly created offer\'s ID and confirmation. ## Use Cases This endpoint is ideal for: - **Offer Management**: Create named offers for tracking and organization - **Lead Integration**: Associate offers with specific leads in the pipeline - **Deal Tracking**: Start tracking deal progression with named identifiers - **Workflow Management**: Create offers as part of investment workflows - **Pipeline Organization**: Organize offers by name and lead association - **Investment Analysis**: Begin offer analysis with proper identification ## Business Rules - **Name Validation**: Offer name is required for identification and tracking - **Lead Validation**: Lead ID must be a valid lead within the organization if provided - **Organization Association**: Offers are automatically scoped to the user\'s organization - **Initial Status**: New offers are created with default status for tracking - **Audit Trail**: Offer creation is logged for compliance and tracking ## Offer Categories ### Offer Types You can create offers for various scenarios: - **Investment Offers**: Offers for real estate investment opportunities - **Purchase Offers**: Standard property purchase offers - **Wholesale Offers**: Offers for wholesale real estate transactions - **Partnership Offers**: Offers for joint venture opportunities ### Lead Integration - **Lead Association**: Link offers to specific leads for pipeline management - **Deal Progression**: Track offers through the investment pipeline - **Communication Tracking**: Connect offers to lead communication history - **Conversion Analysis**: Analyze lead-to-offer conversion metrics ## Error Handling Common validation errors include: - **Missing Name**: Offer name not provided - **Invalid Lead ID**: Lead does not exist or belongs to different organization - **Invalid Name Format**: Name contains invalid characters or exceeds length limits - **Organization Access**: User lacks permission to create offers
* Create a new offer
*/
v4OffersControllerCreateOfferV4(requestParameters: V4OffersControllerCreateOfferV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OffersCreateOfferResponseDto>;
/**
* # DELETE /v4/offers/{offerId} ## Overview Deletes an existing property offer from the system. This is a permanent operation that removes the offer and handles all associated data relationships appropriately. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer to delete | ## Access Control - **Organization Scope**: Offer must belong to the authenticated user\'s organization - **Offer Validation**: Invalid or non-existent offer IDs will return a 404 error - **Data Privacy**: Only offers within the user\'s organization can be deleted ## Deletion Behavior The deletion operation: - **Permanent Removal**: Offer is permanently deleted from the system - **Cascade Handling**: Associated relationships and references are handled appropriately - **Immediate Effect**: Deletion is applied immediately - **Audit Trail**: Deletion is logged for audit and compliance purposes - **Data Integrity**: System ensures referential integrity during deletion ## Response Structure Returns confirmation that the offer was successfully deleted. ## Use Cases This endpoint is ideal for: - **Offer Cleanup**: Remove withdrawn or expired offers - **Deal Management**: Clean up unsuccessful offers and negotiations - **Data Management**: Maintain clean offer databases - **Privacy Compliance**: Delete offers upon request (GDPR, etc.) - **System Maintenance**: Remove test or duplicate offer data - **Workflow Completion**: Remove offers when deals are finalized ## Important Considerations Before deleting an offer, consider: - **Deal Status**: Verify offer is not part of an active deal - **Historical Value**: Consider impact on deal history and analytics - **Associated Data**: Review any contracts or documents linked to the offer - **Backup Requirements**: Ensure proper backup if recovery might be needed - **Compliance**: Follow data retention and deletion policies - **Stakeholder Notification**: Consider notifying relevant parties of the deletion ## Referential Impact Offer deletion may affect: - **Deal History**: Loss of negotiation context and history - **Property Analytics**: Impact on property offer analysis and pricing - **Buyer History**: Effect on buyer offer history and patterns - **Market Analysis**: Impact on market trend analysis and reporting - **Contract Records**: Effect on contract and legal document references ## Data Relationships The system handles these relationships during deletion: - **Property References**: Property-offer associations are updated - **Buyer Information**: Buyer-offer relationships are cleaned up - **Contract Documents**: Associated contract references are handled - **Timeline Records**: Offer timeline and milestone records are updated - **Financial Records**: Financial transaction references are managed ## Error Handling Common errors include: - **Offer Not Found**: Offer ID does not exist or belongs to different organization - **Permission Denied**: User lacks permission to delete offers - **Active Deal**: Offer cannot be deleted due to active deal status - **Referential Constraints**: Offer cannot be deleted due to active dependencies - **System Errors**: Database or system issues preventing deletion - **Business Rules**: Business logic preventing deletion (e.g., accepted offers) ## Recovery - **No API Recovery**: Deleted offers cannot be restored through the API - **Backup Systems**: Recovery may be possible through system backups - **Audit Logs**: Deletion events are recorded for audit purposes - **Data Archival**: Consider data archival policies for compliance - **Recreation**: Similar offers can be created with POST /v4/offers
* @summary Delete a specific offer by offerId
* @param {number} offerId The unique identifier of the offer
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OffersAPIV4ApiInterface
*/
v4OffersControllerDeleteOfferV4Raw(requestParameters: V4OffersControllerDeleteOfferV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OffersDeleteOfferResponseDto>>;
/**
* # DELETE /v4/offers/{offerId} ## Overview Deletes an existing property offer from the system. This is a permanent operation that removes the offer and handles all associated data relationships appropriately. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer to delete | ## Access Control - **Organization Scope**: Offer must belong to the authenticated user\'s organization - **Offer Validation**: Invalid or non-existent offer IDs will return a 404 error - **Data Privacy**: Only offers within the user\'s organization can be deleted ## Deletion Behavior The deletion operation: - **Permanent Removal**: Offer is permanently deleted from the system - **Cascade Handling**: Associated relationships and references are handled appropriately - **Immediate Effect**: Deletion is applied immediately - **Audit Trail**: Deletion is logged for audit and compliance purposes - **Data Integrity**: System ensures referential integrity during deletion ## Response Structure Returns confirmation that the offer was successfully deleted. ## Use Cases This endpoint is ideal for: - **Offer Cleanup**: Remove withdrawn or expired offers - **Deal Management**: Clean up unsuccessful offers and negotiations - **Data Management**: Maintain clean offer databases - **Privacy Compliance**: Delete offers upon request (GDPR, etc.) - **System Maintenance**: Remove test or duplicate offer data - **Workflow Completion**: Remove offers when deals are finalized ## Important Considerations Before deleting an offer, consider: - **Deal Status**: Verify offer is not part of an active deal - **Historical Value**: Consider impact on deal history and analytics - **Associated Data**: Review any contracts or documents linked to the offer - **Backup Requirements**: Ensure proper backup if recovery might be needed - **Compliance**: Follow data retention and deletion policies - **Stakeholder Notification**: Consider notifying relevant parties of the deletion ## Referential Impact Offer deletion may affect: - **Deal History**: Loss of negotiation context and history - **Property Analytics**: Impact on property offer analysis and pricing - **Buyer History**: Effect on buyer offer history and patterns - **Market Analysis**: Impact on market trend analysis and reporting - **Contract Records**: Effect on contract and legal document references ## Data Relationships The system handles these relationships during deletion: - **Property References**: Property-offer associations are updated - **Buyer Information**: Buyer-offer relationships are cleaned up - **Contract Documents**: Associated contract references are handled - **Timeline Records**: Offer timeline and milestone records are updated - **Financial Records**: Financial transaction references are managed ## Error Handling Common errors include: - **Offer Not Found**: Offer ID does not exist or belongs to different organization - **Permission Denied**: User lacks permission to delete offers - **Active Deal**: Offer cannot be deleted due to active deal status - **Referential Constraints**: Offer cannot be deleted due to active dependencies - **System Errors**: Database or system issues preventing deletion - **Business Rules**: Business logic preventing deletion (e.g., accepted offers) ## Recovery - **No API Recovery**: Deleted offers cannot be restored through the API - **Backup Systems**: Recovery may be possible through system backups - **Audit Logs**: Deletion events are recorded for audit purposes - **Data Archival**: Consider data archival policies for compliance - **Recreation**: Similar offers can be created with POST /v4/offers
* Delete a specific offer by offerId
*/
v4OffersControllerDeleteOfferV4(requestParameters: V4OffersControllerDeleteOfferV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OffersDeleteOfferResponseDto>;
/**
* # GET /v4/offers/{offerId}/{columns} ## Overview Retrieves specific columns for a property offer identified by its unique ID. This endpoint allows selective data retrieval, returning only the requested fields for the specified offer. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer | | `columns` | string | Yes | Comma-separated list of column names to retrieve | ## Column Selection Specify desired columns as a comma-separated string: - **Basic Info**: `oid,propertyId,organizationId` - **Financial Information**: `offerAmount,earnestMoney,downPayment` - **Buyer Information**: `buyerName,buyerEmail,buyerPhone` - **Timeline Data**: `submittedDate,expirationDate,closingDate` - **Custom Selection**: Any combination of available columns ## Available Columns ### Basic Information - `oid`: Offer ID - `propertyId`: Associated property ID - `organizationId`: Organization ID ### Financial Information - `offerAmount`: Purchase offer amount - `earnestMoney`: Earnest money deposit - `downPayment`: Down payment amount - `financing`: Financing type and terms - `loanAmount`: Loan amount if financing - `interestRate`: Interest rate if applicable ### Buyer Information - `buyerName`: Buyer\'s full name - `buyerEmail`: Buyer\'s email address - `buyerPhone`: Buyer\'s phone number - `buyerAgent`: Buyer\'s real estate agent - `preApprovalAmount`: Pre-approval amount - `buyerType`: Type of buyer (investor, owner-occupied, etc.) ### Timeline Information - `submittedDate`: Offer submission date - `expirationDate`: Offer expiration date - `closingDate`: Proposed closing date - `inspectionDate`: Inspection deadline - `appraisalDate`: Appraisal deadline - `financingContingencyDate`: Financing contingency deadline ### Status and Legal Information - `status`: Current offer status - `contingencies`: Array of contingencies - `specialTerms`: Special terms and conditions - `counterOfferCount`: Number of counter offers - `negotiationStage`: Current negotiation stage ## Access Control - **Organization Scope**: Offer must belong to the user\'s organization - **Column Validation**: Invalid column names are ignored - **Data Privacy**: Only authorized columns are returned ## Use Cases This endpoint is ideal for: - **Performance Optimization**: Retrieve only needed data to reduce bandwidth - **Financial Comparisons**: Get specific financial fields for offer comparison tables - **Integration**: Extract specific data points for external systems - **Custom Views**: Build interfaces with selective data display - **Mobile Optimization**: Minimize data transfer for mobile applications - **API Efficiency**: Reduce response size for better performance ## Performance Benefits - **Reduced Data Transfer**: Only requested columns are returned - **Faster Processing**: Less data processing on both server and client - **Network Efficiency**: Smaller response payloads - **Selective Queries**: Database queries target only required fields - **Cache Optimization**: Smaller responses improve caching efficiency
* @summary Get specific columns of a offer by offerId
* @param {string} columns Comma-separated list of column names
* @param {number} offerId The unique identifier of the offer
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OffersAPIV4ApiInterface
*/
v4OffersControllerGetOfferColumnsV4Raw(requestParameters: V4OffersControllerGetOfferColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OffersGetOfferColumnsResponseDto>>;
/**
* # GET /v4/offers/{offerId}/{columns} ## Overview Retrieves specific columns for a property offer identified by its unique ID. This endpoint allows selective data retrieval, returning only the requested fields for the specified offer. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer | | `columns` | string | Yes | Comma-separated list of column names to retrieve | ## Column Selection Specify desired columns as a comma-separated string: - **Basic Info**: `oid,propertyId,organizationId` - **Financial Information**: `offerAmount,earnestMoney,downPayment` - **Buyer Information**: `buyerName,buyerEmail,buyerPhone` - **Timeline Data**: `submittedDate,expirationDate,closingDate` - **Custom Selection**: Any combination of available columns ## Available Columns ### Basic Information - `oid`: Offer ID - `propertyId`: Associated property ID - `organizationId`: Organization ID ### Financial Information - `offerAmount`: Purchase offer amount - `earnestMoney`: Earnest money deposit - `downPayment`: Down payment amount - `financing`: Financing type and terms - `loanAmount`: Loan amount if financing - `interestRate`: Interest rate if applicable ### Buyer Information - `buyerName`: Buyer\'s full name - `buyerEmail`: Buyer\'s email address - `buyerPhone`: Buyer\'s phone number - `buyerAgent`: Buyer\'s real estate agent - `preApprovalAmount`: Pre-approval amount - `buyerType`: Type of buyer (investor, owner-occupied, etc.) ### Timeline Information - `submittedDate`: Offer submission date - `expirationDate`: Offer expiration date - `closingDate`: Proposed closing date - `inspectionDate`: Inspection deadline - `appraisalDate`: Appraisal deadline - `financingContingencyDate`: Financing contingency deadline ### Status and Legal Information - `status`: Current offer status - `contingencies`: Array of contingencies - `specialTerms`: Special terms and conditions - `counterOfferCount`: Number of counter offers - `negotiationStage`: Current negotiation stage ## Access Control - **Organization Scope**: Offer must belong to the user\'s organization - **Column Validation**: Invalid column names are ignored - **Data Privacy**: Only authorized columns are returned ## Use Cases This endpoint is ideal for: - **Performance Optimization**: Retrieve only needed data to reduce bandwidth - **Financial Comparisons**: Get specific financial fields for offer comparison tables - **Integration**: Extract specific data points for external systems - **Custom Views**: Build interfaces with selective data display - **Mobile Optimization**: Minimize data transfer for mobile applications - **API Efficiency**: Reduce response size for better performance ## Performance Benefits - **Reduced Data Transfer**: Only requested columns are returned - **Faster Processing**: Less data processing on both server and client - **Network Efficiency**: Smaller response payloads - **Selective Queries**: Database queries target only required fields - **Cache Optimization**: Smaller responses improve caching efficiency
* Get specific columns of a offer by offerId
*/
v4OffersControllerGetOfferColumnsV4(requestParameters: V4OffersControllerGetOfferColumnsV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OffersGetOfferColumnsResponseDto>;
/**
* # GET /v4/offers/{offerId} ## Overview Retrieves detailed information for a specific property offer by its unique identifier. This endpoint returns complete offer data including financial terms, buyer information, property details, and negotiation history. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer to retrieve | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply column selection and formatting | ## Access Control - **Organization Scope**: Offer must belong to the authenticated user\'s organization - **Offer Validation**: Invalid or non-existent offer IDs will return a 404 error - **Data Privacy**: Only offers within the user\'s organization are accessible ## Response Structure Returns a complete offer object with all available fields and deal information. ## Use Cases This endpoint is ideal for: - **Offer Detail Views**: Display complete offer information in detail pages - **Deal Management**: Access full offer details for deal negotiations - **Financial Analysis**: Get detailed financial terms and offer structures - **Contract Review**: Access complete offer terms for legal review - **Buyer Communication**: View buyer details and contact information for follow-up - **Property Analysis**: Understand offers in the context of specific properties ## Offer Information Access The response includes comprehensive offer information: - **Financial Details**: Complete offer amount, financing terms, and payment structure - **Buyer Information**: Buyer contact details, pre-approval status, and buyer agent info - **Property Association**: Complete property details and listing information - **Timeline Details**: All important dates including submission, expiration, and closing dates - **Legal Terms**: Contract terms, contingencies, and special conditions - **Status Information**: Current offer status and workflow stage ## Performance Considerations - **Single Record Fetch**: Optimized for retrieving individual offers - **Complete Data**: Returns all available offer fields and information - **Real-time Data**: Always returns current offer information - **Organization Filtering**: Automatic organization scoping ensures security
* @summary Get a specific offer by offerId
* @param {number} offerId The unique identifier of the offer
* @param {number} [viewId] The ID of the view to use for retrieving the repository
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OffersAPIV4ApiInterface
*/
v4OffersControllerGetOfferV4Raw(requestParameters: V4OffersControllerGetOfferV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OffersGetOfferResponseDto>>;
/**
* # GET /v4/offers/{offerId} ## Overview Retrieves detailed information for a specific property offer by its unique identifier. This endpoint returns complete offer data including financial terms, buyer information, property details, and negotiation history. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer to retrieve | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `viewId` | number | No | Optional view ID to apply column selection and formatting | ## Access Control - **Organization Scope**: Offer must belong to the authenticated user\'s organization - **Offer Validation**: Invalid or non-existent offer IDs will return a 404 error - **Data Privacy**: Only offers within the user\'s organization are accessible ## Response Structure Returns a complete offer object with all available fields and deal information. ## Use Cases This endpoint is ideal for: - **Offer Detail Views**: Display complete offer information in detail pages - **Deal Management**: Access full offer details for deal negotiations - **Financial Analysis**: Get detailed financial terms and offer structures - **Contract Review**: Access complete offer terms for legal review - **Buyer Communication**: View buyer details and contact information for follow-up - **Property Analysis**: Understand offers in the context of specific properties ## Offer Information Access The response includes comprehensive offer information: - **Financial Details**: Complete offer amount, financing terms, and payment structure - **Buyer Information**: Buyer contact details, pre-approval status, and buyer agent info - **Property Association**: Complete property details and listing information - **Timeline Details**: All important dates including submission, expiration, and closing dates - **Legal Terms**: Contract terms, contingencies, and special conditions - **Status Information**: Current offer status and workflow stage ## Performance Considerations - **Single Record Fetch**: Optimized for retrieving individual offers - **Complete Data**: Returns all available offer fields and information - **Real-time Data**: Always returns current offer information - **Organization Filtering**: Automatic organization scoping ensures security
* Get a specific offer by offerId
*/
v4OffersControllerGetOfferV4(requestParameters: V4OffersControllerGetOfferV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OffersGetOfferResponseDto>;
/**
* # GET /v4/offers/viewId/{viewId} ## Overview Retrieves offers filtered by a specific view configuration. This endpoint applies view-defined filters, sorts, and column selections to provide a customized dataset of property offers. ## 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 offers to return (default: 20, max: 100) | | `offset` | number | No | Number of offers to skip for pagination (default: 0) | | `countOnly` | boolean | No | Return only the count of offers without the actual data | ## View Application The specified view configuration is applied automatically: - **Filters**: All view filters are applied to narrow the offer dataset - **Sorts**: View sort criteria determine the order of returned offers - **Columns**: View column selection determines which fields are returned - **Relationships**: Related data inclusion based on view configuration ## Access Control - **Organization Scope**: Offers are filtered by the user\'s organization - **View Ownership**: View must belong to the requesting user - **Data Privacy**: Only organization offers are accessible through views ## Response Structure Returns offers that match the specified view configuration. ## Use Cases This endpoint is ideal for: - **Custom Dashboards**: Display offers according to predefined views - **Filtered Reports**: Generate reports with specific offer criteria - **Saved Searches**: Retrieve offers using saved filter combinations - **User Preferences**: Apply user-defined offer viewing preferences - **Specialized Views**: Access offers for specific properties, price ranges, or buyer types ## View Consistency - **Reproducible Results**: Same view ID produces consistent results - **Filter Persistence**: View filters remain constant across requests - **Sort Stability**: View sorting provides predictable ordering - **Column Consistency**: Same columns returned for each request ## Performance Benefits - **Optimized Queries**: View-specific optimizations improve performance - **Cached Configurations**: View settings are cached for faster execution - **Reduced Overhead**: Only requested columns are processed and returned - **Efficient Filtering**: Database-level filtering reduces data transfer
* @summary Get offers 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 OffersAPIV4ApiInterface
*/
v4OffersControllerGetOffersInViewV4Raw(requestParameters: V4OffersControllerGetOffersInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OffersGetOffersInViewResponseDto>>;
/**
* # GET /v4/offers/viewId/{viewId} ## Overview Retrieves offers filtered by a specific view configuration. This endpoint applies view-defined filters, sorts, and column selections to provide a customized dataset of property offers. ## 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 offers to return (default: 20, max: 100) | | `offset` | number | No | Number of offers to skip for pagination (default: 0) | | `countOnly` | boolean | No | Return only the count of offers without the actual data | ## View Application The specified view configuration is applied automatically: - **Filters**: All view filters are applied to narrow the offer dataset - **Sorts**: View sort criteria determine the order of returned offers - **Columns**: View column selection determines which fields are returned - **Relationships**: Related data inclusion based on view configuration ## Access Control - **Organization Scope**: Offers are filtered by the user\'s organization - **View Ownership**: View must belong to the requesting user - **Data Privacy**: Only organization offers are accessible through views ## Response Structure Returns offers that match the specified view configuration. ## Use Cases This endpoint is ideal for: - **Custom Dashboards**: Display offers according to predefined views - **Filtered Reports**: Generate reports with specific offer criteria - **Saved Searches**: Retrieve offers using saved filter combinations - **User Preferences**: Apply user-defined offer viewing preferences - **Specialized Views**: Access offers for specific properties, price ranges, or buyer types ## View Consistency - **Reproducible Results**: Same view ID produces consistent results - **Filter Persistence**: View filters remain constant across requests - **Sort Stability**: View sorting provides predictable ordering - **Column Consistency**: Same columns returned for each request ## Performance Benefits - **Optimized Queries**: View-specific optimizations improve performance - **Cached Configurations**: View settings are cached for faster execution - **Reduced Overhead**: Only requested columns are processed and returned - **Efficient Filtering**: Database-level filtering reduces data transfer
* Get offers with a specific viewId
*/
v4OffersControllerGetOffersInViewV4(requestParameters: V4OffersControllerGetOffersInViewV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OffersGetOffersInViewResponseDto>;
/**
* # GET /v4/offers ## Overview Retrieves a list of property offers with optional filtering, sorting, and pagination capabilities. This endpoint provides access to offer information including property details, financial terms, buyer information, and offer status. ## 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 and column selection | | `limit` | number | No | Maximum number of offers to return (default: 20, max: 100) | | `offset` | number | No | Number of offers to skip for pagination (default: 0) | | `countOnly` | boolean | No | Return only the count of offers without the actual data | ## Access Control - **Organization Scope**: Offers are filtered by the user\'s organization - **Data Privacy**: Only offers within the organization are accessible - **Permission**: User must have offer read permissions ## View Integration When a `viewId` is provided: - **Filters**: All view filters are applied to narrow the offer dataset - **Sorts**: View sort criteria determine the order of returned offers - **Columns**: View column selection determines which fields are returned - **Consistent Results**: Same view produces consistent response structure ## Response Structure Returns a paginated list of offers matching the specified criteria. ## Use Cases This endpoint is ideal for: - **Deal Management**: Building offer listing interfaces and deal tracking dashboards - **Property Sales**: Managing property offers and sales workflows - **Buyer Management**: Tracking offers from different buyers and investors - **Financial Analysis**: Analyzing offer patterns and market trends - **Sales Pipeline**: Managing offers through various stages of negotiation - **Market Research**: Understanding pricing and offer patterns in different markets ## Offer Data Categories Offer information includes: - **Basic Information**: Offer ID, property association, and offer details - **Financial Terms**: Purchase price, financing details, and payment terms - **Buyer Information**: Buyer details and contact information - **Timeline**: Offer dates, expiration, and closing timelines - **Status**: Offer status and negotiation stage - **Legal Terms**: Contract terms and conditions ## Performance Considerations - **Optimized Queries**: Database queries are optimized for organization filtering - **View Caching**: View configurations are cached for improved performance - **Index Usage**: Queries utilize database indexes for fast retrieval - **Response Size**: Use limit parameter to control response size
* @summary Get offers 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 OffersAPIV4ApiInterface
*/
v4OffersControllerGetOffersV4Raw(requestParameters: V4OffersControllerGetOffersV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OffersGetOffersResponseDto>>;
/**
* # GET /v4/offers ## Overview Retrieves a list of property offers with optional filtering, sorting, and pagination capabilities. This endpoint provides access to offer information including property details, financial terms, buyer information, and offer status. ## 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 and column selection | | `limit` | number | No | Maximum number of offers to return (default: 20, max: 100) | | `offset` | number | No | Number of offers to skip for pagination (default: 0) | | `countOnly` | boolean | No | Return only the count of offers without the actual data | ## Access Control - **Organization Scope**: Offers are filtered by the user\'s organization - **Data Privacy**: Only offers within the organization are accessible - **Permission**: User must have offer read permissions ## View Integration When a `viewId` is provided: - **Filters**: All view filters are applied to narrow the offer dataset - **Sorts**: View sort criteria determine the order of returned offers - **Columns**: View column selection determines which fields are returned - **Consistent Results**: Same view produces consistent response structure ## Response Structure Returns a paginated list of offers matching the specified criteria. ## Use Cases This endpoint is ideal for: - **Deal Management**: Building offer listing interfaces and deal tracking dashboards - **Property Sales**: Managing property offers and sales workflows - **Buyer Management**: Tracking offers from different buyers and investors - **Financial Analysis**: Analyzing offer patterns and market trends - **Sales Pipeline**: Managing offers through various stages of negotiation - **Market Research**: Understanding pricing and offer patterns in different markets ## Offer Data Categories Offer information includes: - **Basic Information**: Offer ID, property association, and offer details - **Financial Terms**: Purchase price, financing details, and payment terms - **Buyer Information**: Buyer details and contact information - **Timeline**: Offer dates, expiration, and closing timelines - **Status**: Offer status and negotiation stage - **Legal Terms**: Contract terms and conditions ## Performance Considerations - **Optimized Queries**: Database queries are optimized for organization filtering - **View Caching**: View configurations are cached for improved performance - **Index Usage**: Queries utilize database indexes for fast retrieval - **Response Size**: Use limit parameter to control response size
* Get offers with optional viewId
*/
v4OffersControllerGetOffersV4(requestParameters: V4OffersControllerGetOffersV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<V4OffersGetOffersResponseDto>;
/**
* # PATCH /v4/offers/{offerId} ## Overview Updates an existing property offer with the provided information. This endpoint allows partial updates, meaning you only need to include the fields you want to change. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer to update | ## Request Body The request body should contain only the fields you want to update. All fields are optional for updates. ### Updateable Fields | Field | Type | Description | |-------|------|-------------| | `buyerName` | string | Name of the buyer making the offer | | `buyerEmail` | string | Buyer\'s contact email | | `buyerPhone` | string | Buyer\'s contact phone number | | `offerAmount` | number | Purchase offer amount | | `earnestMoney` | number | Earnest money deposit amount | | `downPayment` | number | Down payment amount | | `financing` | string | Financing type and details | | `status` | string | Current offer status | | `expirationDate` | string | Offer expiration date | | `closingDate` | string | Proposed closing date | | `contingencies` | array | Array of offer contingencies | | `specialTerms` | string | Special terms and conditions | ### Validation Rules - **Offer Amount**: Must be positive number (if provided) - **Email**: Must be valid email format (if provided) - **Phone**: Must be valid phone format (if provided) - **Dates**: Must be valid ISO date format (if provided) - **Status**: Must be valid offer status (pending, accepted, rejected, withdrawn) - **Partial Updates**: Only provided fields will be updated - **Organization Scope**: Offer must belong to user\'s organization ## Request Example ```json { \"offerAmount\": 365000, \"status\": \"accepted\", \"closingDate\": \"2024-01-20T12:00:00Z\", \"specialTerms\": \"Seller to provide home warranty and complete minor repairs\" } ``` ## Access Control - **Organization Scope**: Offer must belong to the authenticated user\'s organization - **Offer Validation**: Invalid or non-existent offer IDs will return a 404 error - **Data Privacy**: Only offers within the user\'s organization can be updated ## Response Structure Returns confirmation that the offer was successfully updated. ## Use Cases This endpoint is ideal for: - **Offer Negotiations**: Update offer terms during negotiations - **Status Management**: Change offer status as deals progress - **Financial Updates**: Modify financial terms and conditions - **Buyer Information Updates**: Update buyer contact information - **Timeline Management**: Adjust dates and deadlines - **Contract Modifications**: Update special terms and contingencies ## Update Scenarios ### Financial Modifications - **Price Changes**: Update offer amounts during negotiations - **Payment Terms**: Modify down payment and financing details - **Earnest Money**: Adjust earnest money deposit amounts ### Status and Timeline Changes - **Status Updates**: Change offer status (pending, accepted, rejected, withdrawn) - **Date Adjustments**: Update expiration, closing, and contingency dates - **Deadline Management**: Extend or modify important deadlines ### Contract and Terms Updates - **Contingency Changes**: Add, remove, or modify contingencies - **Special Terms**: Update custom terms and conditions - **Contract Modifications**: Reflect negotiated changes in contract terms ## Validation and Constraints - **Financial Validation**: All financial terms are validated for reasonableness - **Date Validation**: Dates are validated for logical sequence and format - **Status Validation**: Status changes must follow valid workflow transitions - **Data Integrity**: Updates maintain data consistency and integrity - **Organization Scoping**: Updates are scoped to the user\'s organization - **Audit Trail**: All updates are logged for compliance and tracking ## Error Handling Common validation errors include: - **Offer Not Found**: Offer ID does not exist or belongs to different organization - **Invalid Financial Terms**: Financial amounts are negative or unreasonable - **Invalid Status**: Status transition is not allowed or invalid - **Invalid Dates**: Dates are in wrong format or create illogical sequences - **Permission Denied**: User lacks permission to update offers - **Business Rule Violations**: Updates violate business logic or constraints
* @summary Update a specific offer by offerId
* @param {number} offerId The unique identifier of the offer
* @param {V4OffersUpdateOfferBodyDto} v4OffersUpdateOfferBodyDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof OffersAPIV4ApiInterface
*/
v4OffersControllerUpdateOfferV4Raw(requestParameters: V4OffersControllerUpdateOfferV4Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<V4OffersUpdateOfferResponseDto>>;
/**
* # PATCH /v4/offers/{offerId} ## Overview Updates an existing property offer with the provided information. This endpoint allows partial updates, meaning you only need to include the fields you want to change. ## Authentication - **Required**: Yes - **Security**: - `x-api-key` header - `organization-id` header ## Request Parameters ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `offerId` | number | Yes | The unique identifier of the offer to update | ## Request Body The request body should contain only the fields you want to update. All fields are optional for updates. ### Updateable Fields | Field | Type | Description | |-------|------|-------------| | `buyerName` | string | Name of the buyer making the offer | | `buyerEmail` | string | Buyer\'s contact email | | `buyerPhone` | string | Buyer\'s contact phone number | | `offerAmount` | number | Purchase offer amount | | `earnestMoney` | number | Earnest money deposit amount | | `downPayment` | number | Down payment amount | | `financing` | string | Financing type and details | | `status` | string | Current offer status | | `expirationDate` | string | Offer expiration date | | `closingDate` | string | Proposed closing date | | `contingencies` | array | Array of offer contingencies | | `specialTerms` | string | Special terms and conditions | ### Validation Rules - **Offer Amount**: Must be positive number (if provided) - **Email**: Must be valid email format (if provided) - **Phone**: Must be valid phone format (if provided) - **Dates**: Must be valid ISO date format (if provided) - **Status**: Must be valid offer status (pending, accepted, rejected, withdrawn) - **Partial Updates**: Only provided fields will be updated - **