openapi: 3.2.0 info: title: Housecall Pro Public Estimates API version: '1.0' description: 'The Housecall Pro Public API exposes core resources of the Housecall Pro home services business management platform — customers, leads, jobs, estimates, invoices, payments, employees, schedule items, line items, and webhooks. The API is available to Pros on the MAX plan and is documented on Stoplight at https://docs.housecallpro.com/. ' contact: name: Housecall Pro url: https://www.housecallpro.com license: name: Proprietary servers: - url: https://api.housecallpro.com description: Production security: - bearerAuth: [] - apiKey: [] tags: - name: Estimates paths: /estimates: get: tags: - Estimates summary: List Estimates operationId: listEstimates responses: '200': description: Estimate collection. content: application/json: schema: type: object properties: estimates: type: array items: $ref: '#/components/schemas/Estimate' post: tags: - Estimates summary: Create Estimate operationId: createEstimate responses: '201': description: Estimate created. /estimates/{estimate_id}: get: tags: - Estimates summary: Get Estimate operationId: getEstimate parameters: - name: estimate_id in: path required: true schema: type: string responses: '200': description: Single estimate. content: application/json: schema: $ref: '#/components/schemas/Estimate' components: schemas: Address: type: object properties: id: type: string type: type: string enum: - billing - service street: type: string street_line_2: type: string city: type: string state: type: string zip: type: string country: type: string Customer: type: object properties: id: type: string first_name: type: string last_name: type: string email: type: string format: email mobile_number: type: string home_number: type: string work_number: type: string company: type: string notifications_enabled: type: boolean lead_source: type: string tags: type: array items: type: string addresses: type: array items: $ref: '#/components/schemas/Address' created_at: type: string format: date-time updated_at: type: string format: date-time Estimate: type: object properties: id: type: string estimate_number: type: string work_status: type: string customer: $ref: '#/components/schemas/Customer' address: $ref: '#/components/schemas/Address' total_amount: type: integer approval_status: type: string enum: - pro_approved - customer_approved - declined - pending options: type: array items: type: object properties: id: type: string name: type: string total_amount: type: integer created_at: type: string format: date-time securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key description: Bearer token using the API key generated from the MAX-plan App Store API card. apiKey: type: apiKey in: header name: Authorization description: 'API key passed as `Authorization: Token {key}`.'