Skip to content

API Reference

This page shows the generated contract summary for the public API surface. For practical integration guidance, use the dedicated endpoint guides in the sidebar.

Generated Overview

Public API

This summary is generated from the public API contract. Use the endpoint guides in the sidebar for examples, sequencing, and integration advice.

Workspace

/public-api/publicapi.v1.Workspace

Me

Returns the authenticated workspace and API key context.

POST /public-api/publicapi.v1.Workspace/Me
Request: MeRequest Response: MeResponse

Problem

/public-api/publicapi.v1.Problem

CreateProblem

Creates a portfolio-linked problem. This operation is not idempotent.

POST /public-api/publicapi.v1.Problem/CreateProblem
Request: CreateProblemRequest Response: CreateProblemResponse

ListProblems

Lists problems visible to the API key actor, with bounded pagination. page defaults to 1 and page_size defaults to 25.

POST /public-api/publicapi.v1.Problem/ListProblems
Request: ListProblemsRequest Response: ListProblemsResponse

UpdateProblem

Updates supported everyday fields without performing lifecycle transitions.

POST /public-api/publicapi.v1.Problem/UpdateProblem
Request: UpdateProblemRequest Response: UpdateProblemResponse

WorkOrder

/public-api/publicapi.v1.WorkOrder

CreateWorkOrder

Creates a manual portfolio work order. This operation is not idempotent.

POST /public-api/publicapi.v1.WorkOrder/CreateWorkOrder
Request: CreateWorkOrderRequest Response: CreateWorkOrderResponse

ListWorkOrders

Lists at most page_size work orders visible to the API key actor. page_size defaults to 100 and may be filtered by status or portfolio.

POST /public-api/publicapi.v1.WorkOrder/ListWorkOrders
Request: ListWorkOrdersRequest Response: ListWorkOrdersResponse

UpdateWorkOrder

Updates a work order while preserving portfolio access rules.

POST /public-api/publicapi.v1.WorkOrder/UpdateWorkOrder
Request: UpdateWorkOrderRequest Response: UpdateWorkOrderResponse

Catalog

/public-api/publicapi.v1.Catalog

ListProducts

Lists active products available to the API key actor.

POST /public-api/publicapi.v1.Catalog/ListProducts
Request: ListProductsRequest Response: ListProductsResponse

ListDiscounts

Lists active discounts available to the API key actor.

POST /public-api/publicapi.v1.Catalog/ListDiscounts
Request: ListDiscountsRequest Response: ListDiscountsResponse

Quote

/public-api/publicapi.v1.Quote

CreateQuote

Creates a concept quote with product quantities and optional discounts. This operation is not idempotent and must not be blindly retried.

POST /public-api/publicapi.v1.Quote/CreateQuote
Request: CreateQuoteRequest Response: CreateQuoteResponse

GetQuote

Returns a quote by ID.

POST /public-api/publicapi.v1.Quote/GetQuote
Request: GetQuoteRequest Response: GetQuoteResponse

ListQuotes

Lists quotes belonging to one portfolio.

POST /public-api/publicapi.v1.Quote/ListQuotes
Request: ListQuotesRequest Response: ListQuotesResponse

ConfirmQuote

Confirms a concept quote and atomically creates its commercial order. Repeating the operation for an already-confirmed quote returns its order.

POST /public-api/publicapi.v1.Quote/ConfirmQuote
Request: ConfirmQuoteRequest Response: ConfirmQuoteResponse

Order

/public-api/publicapi.v1.Order

GetOrder

Returns a commercial order by ID.

POST /public-api/publicapi.v1.Order/GetOrder
Request: GetOrderRequest Response: GetOrderResponse

ListOrders

Lists commercial orders belonging to one portfolio.

POST /public-api/publicapi.v1.Order/ListOrders
Request: ListOrdersRequest Response: ListOrdersResponse

Payment

/public-api/publicapi.v1.Payment

CreatePayment

Creates a payment request. Reusing external_operation_id with the same request returns the original payment; different input is rejected.

POST /public-api/publicapi.v1.Payment/CreatePayment
Request: CreatePaymentRequest Response: CreatePaymentResponse

GetPayment

Returns a payment by ID.

POST /public-api/publicapi.v1.Payment/GetPayment
Request: GetPaymentRequest Response: GetPaymentResponse

ListPayments

Lists payments visible to the API key actor with bounded pagination.

POST /public-api/publicapi.v1.Payment/ListPayments
Request: ListPaymentsRequest Response: ListPaymentsResponse

RecordManualPayment

Records the new total amount received for a manual payment. The status is derived as partially paid or paid; provider-owned statuses cannot be set.

POST /public-api/publicapi.v1.Payment/RecordManualPayment
Request: RecordManualPaymentRequest Response: RecordManualPaymentResponse

Invoice

/public-api/publicapi.v1.Invoice

CreateInvoice

Creates or returns the provider draft for an immutable order revision. Reusing idempotency_key with different input is rejected.

POST /public-api/publicapi.v1.Invoice/CreateInvoice
Request: CreateInvoiceRequest Response: CreateInvoiceResponse

Appointment

/public-api/publicapi.v1.Appointment

CreateAppointment

Creates a direct appointment on a round-robin or choose-user agenda. This operation is not idempotent and must not be blindly retried.

POST /public-api/publicapi.v1.Appointment/CreateAppointment
Request: CreateAppointmentRequest Response: CreateAppointmentResponse

ActionRequest

/public-api/publicapi.v1.ActionRequest

CreateManualActionRequest

Creates a manual customer action request. This operation is not idempotent.

POST /public-api/publicapi.v1.ActionRequest/CreateManualActionRequest
Request: CreateManualActionRequestRequest Response: CreateManualActionRequestResponse

Member

/public-api/publicapi.v1.Member

ListMembers

Lists at most page_size members in the authenticated workspace. page_size defaults to 100.

POST /public-api/publicapi.v1.Member/ListMembers
Request: ListMembersRequest Response: ListMembersResponse

ReplaceMemberRoles

Replaces all roles assigned to a member. Team memberships are unchanged.

POST /public-api/publicapi.v1.Member/ReplaceMemberRoles
Request: ReplaceMemberRolesRequest Response: ReplaceMemberRolesResponse

Role

/public-api/publicapi.v1.Role

ListRoles

Lists at most page_size roles in the authenticated workspace. page_size defaults to 100.

POST /public-api/publicapi.v1.Role/ListRoles
Request: ListRolesRequest Response: ListRolesResponse

Team

/public-api/publicapi.v1.Team

ListTeams

Lists at most page_size teams in the authenticated workspace. page_size defaults to 100.

POST /public-api/publicapi.v1.Team/ListTeams
Request: ListTeamsRequest Response: ListTeamsResponse

CreateTeam

Creates a team in the authenticated workspace.

POST /public-api/publicapi.v1.Team/CreateTeam
Request: CreateTeamRequest Response: CreateTeamResponse

WorkspaceInvitation

/public-api/publicapi.v1.WorkspaceInvitation

EmailMemberInvitation

Emails a single-use workspace invitation. Duplicate pending invitations fail; this operation is not idempotent.

POST /public-api/publicapi.v1.WorkspaceInvitation/EmailMemberInvitation
Request: EmailMemberInvitationRequest Response: EmailMemberInvitationResponse

CreateInviteLink

Creates a reusable workspace invitation link. The token is returned once. This operation is not idempotent and must not be blindly retried.

POST /public-api/publicapi.v1.WorkspaceInvitation/CreateInviteLink
Request: CreateInviteLinkRequest Response: CreateInviteLinkResponse

Portfolio

/public-api/publicapi.v1.Portfolio

GetPortfolio

Returns a portfolio by ID.

POST /public-api/publicapi.v1.Portfolio/GetPortfolio
Request: GetPortfolioRequest Response: GetPortfolioResponse

CreatePortfolio

Creates a portfolio and resolves its customer identity from the supplied customer fields. Contacts are not a public API resource.

POST /public-api/publicapi.v1.Portfolio/CreatePortfolio
Request: CreatePortfolioRequest Response: CreatePortfolioResponse

PatchPortfolioDataFields

Patches portfolio data fields without replacing unspecified fields.

POST /public-api/publicapi.v1.Portfolio/PatchPortfolioDataFields
Request: PatchPortfolioDataFieldsRequest Response: PatchPortfolioDataFieldsResponse

CreatePortfolioDocumentUpload

Creates a short-lived signed upload URL for a portfolio document.

POST /public-api/publicapi.v1.Portfolio/CreatePortfolioDocumentUpload
Request: CreatePortfolioDocumentUploadRequest Response: CreatePortfolioDocumentUploadResponse

CompletePortfolioDocumentUpload

Finalizes a previously-created portfolio document upload.

POST /public-api/publicapi.v1.Portfolio/CompletePortfolioDocumentUpload
Request: CompletePortfolioDocumentUploadRequest Response: CompletePortfolioDocumentUploadResponse

ListPortfolioDocuments

Lists portfolio documents.

POST /public-api/publicapi.v1.Portfolio/ListPortfolioDocuments
Request: ListPortfolioDocumentsRequest Response: ListPortfolioDocumentsResponse

GetPortfolioDocumentDownloadLink

Returns a short-lived download URL for a portfolio document.

POST /public-api/publicapi.v1.Portfolio/GetPortfolioDocumentDownloadLink
Request: GetPortfolioDocumentDownloadLinkRequest Response: GetPortfolioDocumentDownloadLinkResponse

CreatePortfolioPhotoUpload

Creates a short-lived signed upload URL for a portfolio photo.

POST /public-api/publicapi.v1.Portfolio/CreatePortfolioPhotoUpload
Request: CreatePortfolioPhotoUploadRequest Response: CreatePortfolioPhotoUploadResponse

CompletePortfolioPhotoUpload

Finalizes a previously-created portfolio photo upload.

POST /public-api/publicapi.v1.Portfolio/CompletePortfolioPhotoUpload
Request: CompletePortfolioPhotoUploadRequest Response: CompletePortfolioPhotoUploadResponse

ListPortfolioPhotos

Lists portfolio photos.

POST /public-api/publicapi.v1.Portfolio/ListPortfolioPhotos
Request: ListPortfolioPhotosRequest Response: ListPortfolioPhotosResponse

GetPortfolioPhotoDownloadLink

Returns a short-lived download URL for a portfolio photo.

POST /public-api/publicapi.v1.Portfolio/GetPortfolioPhotoDownloadLink
Request: GetPortfolioPhotoDownloadLinkRequest Response: GetPortfolioPhotoDownloadLinkResponse

CreatePortfolioComment

Creates an internal portfolio comment/memo.

POST /public-api/publicapi.v1.Portfolio/CreatePortfolioComment
Request: CreatePortfolioCommentRequest Response: CreatePortfolioCommentResponse

DataField

/public-api/publicapi.v1.DataField

ListDataFields

Lists portfolio data field definitions for the workspace.

POST /public-api/publicapi.v1.DataField/ListDataFields
Request: ListDataFieldsRequest Response: ListDataFieldsResponse

PortfolioEvent

/public-api/publicapi.v1.PortfolioEvent

CreatePortfolioEvent

Adds an externally-observed event to a portfolio timeline.

POST /public-api/publicapi.v1.PortfolioEvent/CreatePortfolioEvent
Request: CreatePortfolioEventRequest Response: CreatePortfolioEventResponse

Correspondence

/public-api/publicapi.v1.Correspondence

AddCorrespondenceMessage

Ingests a single inbound or outbound message into a contact conversation. Messages are deduplicated per conversation by message_external_id.

POST /public-api/publicapi.v1.Correspondence/AddCorrespondenceMessage
Request: AddCorrespondenceMessageRequest Response: AddCorrespondenceMessageResponse

AdvancedTaskService

/public-api/publicapi.v1.AdvancedTaskService

ListAdvancedTaskInstances

Lists external advanced-task instances, pending by default.

POST /public-api/publicapi.v1.AdvancedTaskService/ListAdvancedTaskInstances
Request: ListAdvancedTaskInstancesRequest Response: ListAdvancedTaskInstancesResponse

UpdateAdvancedTaskInstance

Completes or reopens an external advanced-task instance.

POST /public-api/publicapi.v1.AdvancedTaskService/UpdateAdvancedTaskInstance
Request: UpdateAdvancedTaskInstanceRequest Response: UpdateAdvancedTaskInstanceResponse