ListCatalog
Lists authorized entities, fields, relationships, operations and limits.
POST /public-api/publicapi.v1.AnalyticsService/ListCatalogAnalyticsCatalogRequest Response: AnalyticsCatalogResponse This page shows the generated contract summary for the public API surface. For practical integration guidance, use the dedicated endpoint guides in the sidebar.
This summary is generated from the public API contract. Use the endpoint guides in the sidebar for examples, sequencing, and integration advice.
/public-api/publicapi.v1.AnalyticsService Lists authorized entities, fields, relationships, operations and limits.
POST /public-api/publicapi.v1.AnalyticsService/ListCatalogAnalyticsCatalogRequest Response: AnalyticsCatalogResponse Executes a typed current-state aggregate or bounded record projection. No saved widget, executable code, history or implicit status filters.
POST /public-api/publicapi.v1.AnalyticsService/ExecuteQueryAnalyticsQueryRequest Response: AnalyticsQueryResponse Parses restricted SQL into the typed current-state query contract, then executes that contract. Submitted SQL is never sent to the database.
POST /public-api/publicapi.v1.AnalyticsService/ExecuteSQLAnalyticsSQLRequest Response: AnalyticsSQLResponse /public-api/publicapi.v1.Workspace Returns the authenticated workspace and API key context.
POST /public-api/publicapi.v1.Workspace/MeMeRequest Response: MeResponse Returns the authenticated workspace's public company profile: the legal and contact details a company publishes on customer-facing documents, plus its primary customer portal URL. Read-only.
POST /public-api/publicapi.v1.Workspace/GetCompanyProfileGetCompanyProfileRequest Response: GetCompanyProfileResponse /public-api/publicapi.v1.Problem Creates a general or template-backed problem. Customer is optional unless the template contains advanced tasks. This operation is not idempotent.
POST /public-api/publicapi.v1.Problem/CreateProblemCreateProblemRequest Response: CreateProblemResponse Reads bounded problem detail without marking the actor's inbox as seen.
POST /public-api/publicapi.v1.Problem/GetProblemGetProblemRequest Response: GetProblemResponse 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/ListProblemsListProblemsRequest Response: ListProblemsResponse Updates supported everyday fields without performing lifecycle transitions.
POST /public-api/publicapi.v1.Problem/UpdateProblemUpdateProblemRequest Response: UpdateProblemResponse Appends a plain-text comment attributed to the API key actor's member and notifies the problem's subscribers. This operation is not idempotent.
POST /public-api/publicapi.v1.Problem/AddProblemCommentAddProblemCommentRequest Response: AddProblemCommentResponse Applies coarse lifecycle transitions (resolve, close, archive) that UpdateProblem deliberately excludes. Resolution may be blocked when the problem has incomplete tasks or manual solving is disabled.
POST /public-api/publicapi.v1.Problem/UpdateProblemStatusUpdateProblemStatusRequest Response: UpdateProblemStatusResponse /public-api/publicapi.v1.WorkOrder Creates a customer work order, optionally inheriting a template. Explicit title, description and location override defaults; tasks are appended. This operation is not idempotent.
POST /public-api/publicapi.v1.WorkOrder/CreateWorkOrderCreateWorkOrderRequest Response: CreateWorkOrderResponse Owner-workspace only. Returns a bounded summary and one page of tasks.
POST /public-api/publicapi.v1.WorkOrder/GetWorkOrderGetWorkOrderRequest Response: GetWorkOrderResponse Lists populated customer locations visible through the actor's current Customer View. Use the returned labels to ask which location to select.
POST /public-api/publicapi.v1.WorkOrder/PrepareWorkOrderPrepareWorkOrderRequest Response: PrepareWorkOrderResponse 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 customer.
POST /public-api/publicapi.v1.WorkOrder/ListWorkOrdersListWorkOrdersRequest Response: ListWorkOrdersResponse Updates a work order while preserving customer access rules.
POST /public-api/publicapi.v1.WorkOrder/UpdateWorkOrderUpdateWorkOrderRequest Response: UpdateWorkOrderResponse Marks a work order completed. Blocked when the work order has incomplete tasks or advanced tasks. Terminal and not idempotent; completing an already-completed work order returns it unchanged without re-emitting.
POST /public-api/publicapi.v1.WorkOrder/CompleteWorkOrderCompleteWorkOrderRequest Response: CompleteWorkOrderResponse Marks a work order cancelled. Terminal and not idempotent; cancelling an already-terminal work order returns it unchanged without re-emitting.
POST /public-api/publicapi.v1.WorkOrder/CancelWorkOrderCancelWorkOrderRequest Response: CancelWorkOrderResponse /public-api/publicapi.v1.Catalog Lists active products available to the API key actor.
POST /public-api/publicapi.v1.Catalog/ListProductsListProductsRequest Response: ListProductsResponse Lists active discounts available to the API key actor.
POST /public-api/publicapi.v1.Catalog/ListDiscountsListDiscountsRequest Response: ListDiscountsResponse Returns a single catalog product by its stable identifier.
POST /public-api/publicapi.v1.Catalog/GetProductGetProductRequest Response: GetProductResponse Creates a catalog product for external ERP/PIM synchronization. This operation is not idempotent and repeated calls create duplicate products.
POST /public-api/publicapi.v1.Catalog/CreateProductCreateProductRequest Response: CreateProductResponse Updates a catalog product by ID. Only supplied fields are changed.
POST /public-api/publicapi.v1.Catalog/UpdateProductUpdateProductRequest Response: UpdateProductResponse /public-api/publicapi.v1.Quote 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/CreateQuoteCreateQuoteRequest Response: CreateQuoteResponse Returns a quote by ID.
POST /public-api/publicapi.v1.Quote/GetQuoteGetQuoteRequest Response: GetQuoteResponse Lists quotes belonging to one customer.
POST /public-api/publicapi.v1.Quote/ListQuotesListQuotesRequest Response: ListQuotesResponse 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/ConfirmQuoteConfirmQuoteRequest Response: ConfirmQuoteResponse Replaces the line items and discounts of a concept quote in one call. Guarded by expected_version optimistic concurrency; not request-idempotent.
POST /public-api/publicapi.v1.Quote/UpdateQuoteUpdateQuoteRequest Response: UpdateQuoteResponse Discards a concept quote. Confirmed quotes cannot be discarded.
POST /public-api/publicapi.v1.Quote/DiscardQuoteDiscardQuoteRequest Response: DiscardQuoteResponse /public-api/publicapi.v1.Order Returns a commercial order by ID.
POST /public-api/publicapi.v1.Order/GetOrderGetOrderRequest Response: GetOrderResponse Lists commercial orders belonging to one customer.
POST /public-api/publicapi.v1.Order/ListOrdersListOrdersRequest Response: ListOrdersResponse Previews the payment-plan and refund impact of cancelling an order. Safe read-only operation that does not change order or payment state.
POST /public-api/publicapi.v1.Order/GetOrderCancellationImpactGetOrderCancellationImpactRequest Response: GetOrderCancellationImpactResponse Cancels an order and optionally issues a refund up to the refundable amount. Guarded by expected_version; the refund leg is idempotent per refund_request_id.
POST /public-api/publicapi.v1.Order/CancelOrderCancelOrderRequest Response: CancelOrderResponse /public-api/publicapi.v1.Payment 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/CreatePaymentCreatePaymentRequest Response: CreatePaymentResponse Returns a payment by ID.
POST /public-api/publicapi.v1.Payment/GetPaymentGetPaymentRequest Response: GetPaymentResponse Lists payments visible to the API key actor with bounded pagination.
POST /public-api/publicapi.v1.Payment/ListPaymentsListPaymentsRequest Response: ListPaymentsResponse 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/RecordManualPaymentRecordManualPaymentRequest Response: RecordManualPaymentResponse Creates a refund against a payment. Moves money; idempotent per request_id. Only Mollie and manual providers are supported; others are rejected.
POST /public-api/publicapi.v1.Payment/CreateRefundCreateRefundRequest Response: CreateRefundResponse Lists refunds visible to the API key actor with bounded pagination.
POST /public-api/publicapi.v1.Payment/ListRefundsListRefundsRequest Response: ListRefundsResponse /public-api/publicapi.v1.Invoice 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/CreateInvoiceCreateInvoiceRequest Response: CreateInvoiceResponse Returns the provider draft for an immutable order revision. Keyed by order and integration, not by invoice ID.
POST /public-api/publicapi.v1.Invoice/GetInvoiceGetInvoiceRequest Response: GetInvoiceResponse Lists invoices for one customer with bounded pagination.
POST /public-api/publicapi.v1.Invoice/ListInvoicesListInvoicesRequest Response: ListInvoicesResponse Lists accounting provider connections and their capabilities for a customer. This is the discovery call before creating or sending an invoice.
POST /public-api/publicapi.v1.Invoice/ListAccountingConnectionsListAccountingConnectionsRequest Response: ListAccountingConnectionsResponse Sends the provider invoice for an order revision to the customer. Triggers a real customer-facing provider send; idempotent per idempotency_key.
POST /public-api/publicapi.v1.Invoice/SendInvoiceSendInvoiceRequest Response: SendInvoiceResponse /public-api/publicapi.v1.ProForma Generates or returns the pro-forma document for an immutable order revision. Idempotent per idempotency_key.
POST /public-api/publicapi.v1.ProForma/CreateProFormaCreateProFormaRequest Response: CreateProFormaResponse Returns a pro-forma document by its stable identifier.
POST /public-api/publicapi.v1.ProForma/GetProFormaGetProFormaRequest Response: GetProFormaResponse Lists pro-forma documents for one customer with bounded pagination.
POST /public-api/publicapi.v1.ProForma/ListProFormasListProFormasRequest Response: ListProFormasResponse /public-api/publicapi.v1.Appointment 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/CreateAppointmentCreateAppointmentRequest Response: CreateAppointmentResponse Reads one appointment by its stable ID. Returns not found when the appointment is outside the caller's appointment and customer visibility.
POST /public-api/publicapi.v1.Appointment/GetAppointmentGetAppointmentRequest Response: GetAppointmentResponse Lists appointments whose scheduled start falls inside a required time window, with optional agenda, member, customer and status filters. Results are capped at page_size; has_more reports whether the window held more.
POST /public-api/publicapi.v1.Appointment/ListAppointmentsListAppointmentsRequest Response: ListAppointmentsResponse Lists every visible appointment for one customer, newest scheduled first.
POST /public-api/publicapi.v1.Appointment/ListCustomerAppointmentsListCustomerAppointmentsRequest Response: ListCustomerAppointmentsResponse Lists bookable start times for one active agenda on one local calendar day and appointment type. Manual-routing agendas are not bookable this way.
POST /public-api/publicapi.v1.Appointment/ListAvailableAppointmentSlotsListAvailableAppointmentSlotsRequest Response: ListAvailableAppointmentSlotsResponse Lists agendas the caller can read, exposing only the fields needed to book: strategy, timezone, slot durations and allowed appointment types.
POST /public-api/publicapi.v1.Appointment/ListAgendasListAgendasRequest Response: ListAgendasResponse Lists appointment types and their default and allowed durations.
POST /public-api/publicapi.v1.Appointment/ListAppointmentTypesListAppointmentTypesRequest Response: ListAppointmentTypesResponse Lists the members eligible to be assigned appointments on one agenda.
POST /public-api/publicapi.v1.Appointment/ListAgendaEligibleMembersListAgendaEligibleMembersRequest Response: ListAgendaEligibleMembersResponse Lists the active visit result codes selectable for one appointment.
POST /public-api/publicapi.v1.Appointment/ListAppointmentResultCodesListAppointmentResultCodesRequest Response: ListAppointmentResultCodesResponse Reschedules or edits a scheduled, locally created direct appointment. Only scheduled appointments on direct-scheduling agendas can be changed. This operation is not idempotent and must not be blindly retried.
POST /public-api/publicapi.v1.Appointment/UpdateAppointmentUpdateAppointmentRequest Response: UpdateAppointmentResponse Cancels a scheduled, locally created direct appointment and reopens any linked work order. Cancelling an already-cancelled appointment succeeds.
POST /public-api/publicapi.v1.Appointment/CancelAppointmentCancelAppointmentRequest Response: CancelAppointmentResponse Records a visit result on an appointment and completes it. Idempotent per request_id: replaying the same request_id with identical feedback returns the recorded result; reusing it with different feedback is rejected.
POST /public-api/publicapi.v1.Appointment/RecordAppointmentResultRecordAppointmentResultRequest Response: RecordAppointmentResultResponse /public-api/publicapi.v1.ActionRequest Creates a manual customer action request. This operation is not idempotent.
POST /public-api/publicapi.v1.ActionRequest/CreateManualActionRequestCreateManualActionRequestRequest Response: CreateManualActionRequestResponse Returns a single action request by its stable identifier. Read-only.
POST /public-api/publicapi.v1.ActionRequest/GetActionRequestGetActionRequestRequest Response: GetActionRequestResponse Lists at most page_size action requests visible to the API key actor, newest first. page defaults to 1 and page_size defaults to 25. Optionally filtered by customer or status. Read-only.
POST /public-api/publicapi.v1.ActionRequest/ListActionRequestsListActionRequestsRequest Response: ListActionRequestsResponse Cancels a pending action request so it can no longer be completed by the customer. Cancelling an already-terminal request is rejected. This operation is not idempotent.
POST /public-api/publicapi.v1.ActionRequest/CancelActionRequestCancelActionRequestRequest Response: CancelActionRequestResponse Resends the action request notification to the customer over SMS and/or email and returns a fresh customer portal URL. This delivers real messages and is not idempotent; repeated calls send repeated messages.
POST /public-api/publicapi.v1.ActionRequest/ResendActionRequestNotificationResendActionRequestNotificationRequest Response: ResendActionRequestNotificationResponse /public-api/publicapi.v1.Member Gets workspace membership, not a global account or effective View claims.
POST /public-api/publicapi.v1.Member/GetMemberGetMemberRequest Response: GetMemberResponse Lists at most page_size members in the authenticated workspace. page_size defaults to 100.
POST /public-api/publicapi.v1.Member/ListMembersListMembersRequest Response: ListMembersResponse Replaces all roles assigned to a member. Team memberships are unchanged.
POST /public-api/publicapi.v1.Member/ReplaceMemberRolesReplaceMemberRolesRequest Response: ReplaceMemberRolesResponse Lists pending email invitations only, newest first; no reusable link tokens. Returns at most page_size (default 100), with truncation indicated.
POST /public-api/publicapi.v1.Member/ListMemberInvitationsListMemberInvitationsRequest Response: ListMemberInvitationsResponse Revokes a pending email invitation. Repeating returns not found.
POST /public-api/publicapi.v1.Member/RevokeMemberInvitationRevokeMemberInvitationRequest Response: RevokeMemberInvitationResponse Removes a workspace member entirely, revoking their access to the workspace. The actor cannot remove their own membership. This operation is destructive and not idempotent; a removed member no longer exists.
POST /public-api/publicapi.v1.Member/RemoveMemberRemoveMemberRequest Response: RemoveMemberResponse /public-api/publicapi.v1.Role Gets administrative grants, not effective operational or customer access.
POST /public-api/publicapi.v1.Role/GetRoleGetRoleRequest Response: GetRoleResponse Creates a custom role. Omitted access grants no administrative permissions. Roles can also select Customer Views; this does not configure those Views. Not idempotent.
POST /public-api/publicapi.v1.Role/CreateRoleCreateRoleRequest Response: CreateRoleResponse Replaces custom role access and flags. Access must be explicit; {} removes all administrative grants. Empty description preserves the existing value. System and owner roles cannot be updated through this public operation. Not idempotent; existing and requested grants must fit the delegation ceiling.
POST /public-api/publicapi.v1.Role/UpdateRoleUpdateRoleRequest Response: UpdateRoleResponse Lists at most page_size roles in the authenticated workspace. page_size defaults to 100.
POST /public-api/publicapi.v1.Role/ListRolesListRolesRequest Response: ListRolesResponse /public-api/publicapi.v1.Team POST /public-api/publicapi.v1.Team/GetTeamGetTeamRequest Response: GetTeamResponse Updates non-empty supplied fields; omitted fields are preserved. Does not replace membership. Description cannot be cleared by this operation.
POST /public-api/publicapi.v1.Team/UpdateTeamUpdateTeamRequest Response: UpdateTeamResponse Adds one workspace member without replacing other teams or roles.
POST /public-api/publicapi.v1.Team/AddTeamMemberAddTeamMemberRequest Response: AddTeamMemberResponse Removes one team membership, not the workspace member or their roles.
POST /public-api/publicapi.v1.Team/RemoveTeamMemberRemoveTeamMemberRequest Response: RemoveTeamMemberResponse Lists at most page_size teams in the authenticated workspace. page_size defaults to 100.
POST /public-api/publicapi.v1.Team/ListTeamsListTeamsRequest Response: ListTeamsResponse Creates a team in the authenticated workspace.
POST /public-api/publicapi.v1.Team/CreateTeamCreateTeamRequest Response: CreateTeamResponse /public-api/publicapi.v1.WorkspaceInvitation Emails a single-use workspace invitation. Duplicate pending invitations fail; this operation is not idempotent.
POST /public-api/publicapi.v1.WorkspaceInvitation/EmailMemberInvitationEmailMemberInvitationRequest Response: EmailMemberInvitationResponse 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/CreateInviteLinkCreateInviteLinkRequest Response: CreateInviteLinkResponse /public-api/publicapi.v1.Customer Returns a customer by ID.
POST /public-api/publicapi.v1.Customer/GetCustomerGetCustomerRequest Response: GetCustomerResponse Creates a customer from the supplied fields. Contacts are not a public API resource.
POST /public-api/publicapi.v1.Customer/CreateCustomerCreateCustomerRequest Response: CreateCustomerResponse Patches customer data fields without replacing unspecified fields.
POST /public-api/publicapi.v1.Customer/PatchCustomerDataFieldsPatchCustomerDataFieldsRequest Response: PatchCustomerDataFieldsResponse Creates a short-lived signed upload URL for a customer document.
POST /public-api/publicapi.v1.Customer/CreateCustomerDocumentUploadCreateCustomerDocumentUploadRequest Response: CreateCustomerDocumentUploadResponse Finalizes a previously-created customer document upload.
POST /public-api/publicapi.v1.Customer/CompleteCustomerDocumentUploadCompleteCustomerDocumentUploadRequest Response: CompleteCustomerDocumentUploadResponse Lists customer documents.
POST /public-api/publicapi.v1.Customer/ListCustomerDocumentsListCustomerDocumentsRequest Response: ListCustomerDocumentsResponse Returns a short-lived download URL for a customer document.
POST /public-api/publicapi.v1.Customer/GetCustomerDocumentDownloadLinkGetCustomerDocumentDownloadLinkRequest Response: GetCustomerDocumentDownloadLinkResponse Creates a short-lived signed upload URL for a customer photo.
POST /public-api/publicapi.v1.Customer/CreateCustomerPhotoUploadCreateCustomerPhotoUploadRequest Response: CreateCustomerPhotoUploadResponse Finalizes a previously-created customer photo upload.
POST /public-api/publicapi.v1.Customer/CompleteCustomerPhotoUploadCompleteCustomerPhotoUploadRequest Response: CompleteCustomerPhotoUploadResponse Lists customer photos.
POST /public-api/publicapi.v1.Customer/ListCustomerPhotosListCustomerPhotosRequest Response: ListCustomerPhotosResponse Returns a short-lived download URL for a customer photo.
POST /public-api/publicapi.v1.Customer/GetCustomerPhotoDownloadLinkGetCustomerPhotoDownloadLinkRequest Response: GetCustomerPhotoDownloadLinkResponse Creates an internal customer comment/memo.
POST /public-api/publicapi.v1.Customer/CreateCustomerCommentCreateCustomerCommentRequest Response: CreateCustomerCommentResponse Sets a customer's status on a journey track. Manual-mode statuses apply immediately; approval-mode statuses open an approval request instead of applying, so check applied and pending_approval in the response. automation_only statuses are rejected.
POST /public-api/publicapi.v1.Customer/SetCustomerJourneyStatusSetCustomerJourneyStatusRequest Response: SetCustomerJourneyStatusResponse Clears a customer's status on a journey track.
POST /public-api/publicapi.v1.Customer/ClearCustomerJourneyStatusClearCustomerJourneyStatusRequest Response: ClearCustomerJourneyStatusResponse Looks up customers by an email address or phone number, returning each matching customer with its current journey statuses. Results are limited to customers the API key can access, so an empty list does not prove the identifier is unknown.
POST /public-api/publicapi.v1.Customer/LookupCustomersByIdentifierLookupCustomersByIdentifierRequest Response: LookupCustomersByIdentifierResponse Updates a customer's editable top-level fields. Only supplied fields change: omit a field to preserve it. Assignee and team lists replace the current assignments when nonempty; send the matching clear flag to remove all assignees or teams. A nonempty list takes precedence over its clear flag. Custom data fields are not modified here; use PatchCustomerDataFields for those. This operation is not idempotent and must not be blindly retried.
POST /public-api/publicapi.v1.Customer/PatchCustomerPatchCustomerRequest Response: PatchCustomerResponse Lists a customer's internal comment thread: top-level comments each with their replies nested. Read-only; only comments the API key's member can read are returned.
POST /public-api/publicapi.v1.Customer/ListCustomerCommentsListCustomerCommentsRequest Response: ListCustomerCommentsResponse Lists the saved edit history of a single customer comment. Each entry is a prior body with the time it was superseded. Read-only.
POST /public-api/publicapi.v1.Customer/ListCustomerCommentHistoryListCustomerCommentHistoryRequest Response: ListCustomerCommentHistoryResponse Lists a customer's activity timeline: audit and lifecycle events recorded against the customer. Entries are limited by the API key member's audit and order visibility, so the timeline may be partial. Read-only.
POST /public-api/publicapi.v1.Customer/ListCustomerTimelineEventsListCustomerTimelineEventsRequest Response: ListCustomerTimelineEventsResponse /public-api/publicapi.v1.Contact Returns a contact by ID.
POST /public-api/publicapi.v1.Contact/GetContactGetContactRequest Response: GetContactResponse Lists contacts in the workspace, with optional free-text search over name, email, and phone number, and page-based pagination.
POST /public-api/publicapi.v1.Contact/ListContactsListContactsRequest Response: ListContactsResponse Creates a contact, or returns the existing contact when the supplied email or phone already identifies one. At least one of name, email, or phone is required. Because a matching identifier returns the existing contact, this operation is idempotent by identifier.
POST /public-api/publicapi.v1.Contact/CreateContactCreateContactRequest Response: CreateContactResponse Updates a contact's editable fields. Only supplied fields change: omit a field to leave it unchanged, or send an empty string to clear it.
POST /public-api/publicapi.v1.Contact/UpdateContactUpdateContactRequest Response: UpdateContactResponse /public-api/publicapi.v1.Journey Lists the workspace journey tracks and their statuses, limited to the tracks the API key's member can read.
POST /public-api/publicapi.v1.Journey/ListJourneyConfigListJourneyConfigRequest Response: ListJourneyConfigResponse /public-api/publicapi.v1.DataField Lists customer data field definitions for the workspace.
POST /public-api/publicapi.v1.DataField/ListDataFieldsListDataFieldsRequest Response: ListDataFieldsResponse /public-api/publicapi.v1.CustomerEvent Adds an externally-observed event to a customer timeline.
POST /public-api/publicapi.v1.CustomerEvent/CreateCustomerEventCreateCustomerEventRequest Response: CreateCustomerEventResponse /public-api/publicapi.v1.Correspondence 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/AddCorrespondenceMessageAddCorrespondenceMessageRequest Response: AddCorrespondenceMessageResponse Lists the most recent messages exchanged with a customer across their conversations, newest first and capped. Redacted messages report the redacted flag instead of their body. Read-only.
POST /public-api/publicapi.v1.Correspondence/ListCustomerMessagesListCustomerMessagesRequest Response: ListCustomerMessagesResponse Lists the messages in a single conversation belonging to a customer, newest first and capped, alongside a bounded conversation summary. Redacted messages report the redacted flag instead of their body. Read-only.
POST /public-api/publicapi.v1.Correspondence/ListConversationMessagesListConversationMessagesRequest Response: ListConversationMessagesResponse /public-api/publicapi.v1.AdvancedTaskService Lists external advanced-task instances, pending by default.
POST /public-api/publicapi.v1.AdvancedTaskService/ListAdvancedTaskInstancesListAdvancedTaskInstancesRequest Response: ListAdvancedTaskInstancesResponse Completes or reopens an external advanced-task instance.
POST /public-api/publicapi.v1.AdvancedTaskService/UpdateAdvancedTaskInstanceUpdateAdvancedTaskInstanceRequest Response: UpdateAdvancedTaskInstanceResponse Attaches an external-type advanced-task definition to a problem or work order, creating a new pending instance. Exactly one parent must be given. Rejected when the parent is already terminal. Not idempotent.
POST /public-api/publicapi.v1.AdvancedTaskService/AttachAdvancedTaskAttachAdvancedTaskRequest Response: AttachAdvancedTaskResponse /public-api/publicapi.v1.WorkOrderTemplate POST /public-api/publicapi.v1.WorkOrderTemplate/ListWorkOrderTemplatesListWorkOrderTemplatesRequest Response: ListWorkOrderTemplatesResponse POST /public-api/publicapi.v1.WorkOrderTemplate/GetWorkOrderTemplateGetWorkOrderTemplateRequest Response: GetWorkOrderTemplateResponse Creates a template with manual tasks only. Not idempotent.
POST /public-api/publicapi.v1.WorkOrderTemplate/CreateWorkOrderTemplateCreateWorkOrderTemplateRequest Response: CreateWorkOrderTemplateResponse Active location definitions, not customer location values.
POST /public-api/publicapi.v1.WorkOrderTemplate/ListWorkOrderTemplateLocationFieldsListWorkOrderTemplateLocationFieldsRequest Response: ListWorkOrderTemplateLocationFieldsResponse Updates a template's descriptive fields only. Requires settings write access. Task lists cannot be edited through the public API.
POST /public-api/publicapi.v1.WorkOrderTemplate/UpdateWorkOrderTemplateUpdateWorkOrderTemplateRequest Response: UpdateWorkOrderTemplateResponse Archives a template so it can no longer be selected, preserving its history. Requires settings full access. Effectively idempotent.
POST /public-api/publicapi.v1.WorkOrderTemplate/ArchiveWorkOrderTemplateArchiveWorkOrderTemplateRequest Response: ArchiveWorkOrderTemplateResponse /public-api/publicapi.v1.RecordSearch Searches customer title and reference only; never contacts or custom fields.
POST /public-api/publicapi.v1.RecordSearch/SearchCustomersSearchRecordsRequest Response: SearchCustomersResponse Searches non-archived problem titles using customer/reporter/assignee access.
POST /public-api/publicapi.v1.RecordSearch/SearchProblemsSearchRecordsRequest Response: SearchProblemsResponse Searches titles of readable, workspace-owned work orders.
POST /public-api/publicapi.v1.RecordSearch/SearchWorkOrdersSearchRecordsRequest Response: SearchWorkOrdersResponse Searches product names and SKUs, including inactive products.
POST /public-api/publicapi.v1.RecordSearch/SearchProductsSearchRecordsRequest Response: SearchProductsResponse Searches effective workspace member names and account email, not global users.
POST /public-api/publicapi.v1.RecordSearch/SearchMembersSearchRecordsRequest Response: SearchMembersResponse POST /public-api/publicapi.v1.RecordSearch/SearchTeamsSearchRecordsRequest Response: SearchTeamsResponse Discovery does not imply permission to delegate or assign a role.
POST /public-api/publicapi.v1.RecordSearch/SearchRolesSearchRecordsRequest Response: SearchRolesResponse Searches location names and codes, including inactive locations.
POST /public-api/publicapi.v1.RecordSearch/SearchInventoryLocationsSearchRecordsRequest Response: SearchInventoryLocationsResponse /public-api/publicapi.v1.ProblemTemplate Active usable templates only; bounded, stable-ID pagination.
POST /public-api/publicapi.v1.ProblemTemplate/ListProblemTemplatesListProblemTemplatesRequest Response: ListProblemTemplatesResponse POST /public-api/publicapi.v1.ProblemTemplate/GetProblemTemplateGetProblemTemplateRequest Response: GetProblemTemplateResponse Creates a reusable template of manual text tasks. Does not create a problem, assign principals, block journeys, or run automation. Not idempotent.
POST /public-api/publicapi.v1.ProblemTemplate/CreateProblemTemplateCreateProblemTemplateRequest Response: CreateProblemTemplateResponse /public-api/publicapi.v1.ContentTemplate POST /public-api/publicapi.v1.ContentTemplate/ListEmailTemplatesContentTemplateListRequest Response: ContentTemplateListResponse POST /public-api/publicapi.v1.ContentTemplate/GetEmailTemplateContentTemplateGetRequest Response: ContentTemplateGetResponse POST /public-api/publicapi.v1.ContentTemplate/ListDocumentTemplatesContentTemplateListRequest Response: ContentTemplateListResponse POST /public-api/publicapi.v1.ContentTemplate/GetDocumentTemplateContentTemplateGetRequest Response: ContentTemplateGetResponse POST /public-api/publicapi.v1.ContentTemplate/ListAdvancedTaskDefinitionsContentTemplateListRequest Response: ContentTemplateListResponse POST /public-api/publicapi.v1.ContentTemplate/GetAdvancedTaskDefinitionContentTemplateGetRequest Response: ContentTemplateGetResponse Creates an operational email draft with literal subject/content defaults. Never publishes, assigns to a flow, renders remotely, or sends email. Not idempotent: retrying may conflict with an existing name.
POST /public-api/publicapi.v1.ContentTemplate/CreateEmailTemplateCreateEmailTemplateRequest Response: ContentTemplateGetResponse Creates a blank one-page PDF draft to edit in document settings. Never publishes, generates a PDF, or assigns to a flow. Not idempotent.
POST /public-api/publicapi.v1.ContentTemplate/CreateDocumentTemplateCreateDocumentTemplateRequest Response: ContentTemplateGetResponse /public-api/publicapi.v1.Inventory Includes inbound-only product/location pairs. Available is on_hand-reserved, never on_hand-reserved+inbound. Pages default to 1 and 25 items.
POST /public-api/publicapi.v1.Inventory/ListInventoryBalancesListInventoryBalancesRequest Response: ListInventoryBalancesResponse POST /public-api/publicapi.v1.Inventory/ListInventoryMovementsListInventoryMovementsRequest Response: ListInventoryMovementsResponse Creates an active, non-default location. Not idempotent.
POST /public-api/publicapi.v1.Inventory/CreateInventoryLocationCreateInventoryLocationRequest Response: CreateInventoryLocationResponse Requires exactly one explicit correction mode and a reason. Not idempotent, including target_available: intervening stock changes make retries unsafe.
POST /public-api/publicapi.v1.Inventory/AdjustInventoryAdjustInventoryRequest Response: AdjustInventoryResponse Immediately moves available stock. Reuse the key only for the same request.
POST /public-api/publicapi.v1.Inventory/MoveInventoryMoveInventoryRequest Response: MoveInventoryResponse Receiving is a lifecycle: create a draft, add lines, then ReceiveInventory. Draft and line keys are workspace-scoped; changed payloads conflict.
POST /public-api/publicapi.v1.Inventory/CreateInventoryReceiptCreateInventoryReceiptRequest Response: CreateInventoryReceiptResponse POST /public-api/publicapi.v1.Inventory/AddInventoryReceiptLineAddInventoryReceiptLineRequest Response: AddInventoryReceiptLineResponse Posts an existing draft atomically. Repeating a posted receipt is safe. Add all lines before posting. No backorder linkage or evidence upload here.
POST /public-api/publicapi.v1.Inventory/ReceiveInventoryReceiveInventoryRequest Response: ReceiveInventoryResponse Bounded recovery read by receipt ID or its draft-creation idempotency key.
POST /public-api/publicapi.v1.Inventory/GetInventoryReceiptGetInventoryReceiptRequest Response: GetInventoryReceiptResponse Summarizes required, reserved, and short quantities for one order, broken down by product and reserving location. Requires customer read access to the order's customer in addition to inventory read.
POST /public-api/publicapi.v1.Inventory/GetOrderInventorySummaryGetOrderInventorySummaryRequest Response: GetOrderInventorySummaryResponse Lists the stock reservations backing one order, including per-line stock status. Requires customer read access to the order's customer.
POST /public-api/publicapi.v1.Inventory/ListOrderReservationsListOrderReservationsRequest Response: ListOrderReservationsResponse Lists workspace-wide unfulfilled order stock demand. Gated on inventory read only, so it exposes order and customer references across customers.
POST /public-api/publicapi.v1.Inventory/ListOrderStockDemandListOrderStockDemandRequest Response: ListOrderStockDemandResponse Commits and physically reserves stock for one order line at one location. Creating a shortage reservation requires confirm_shortage. Idempotent by key.
POST /public-api/publicapi.v1.Inventory/AllocateOrderStockAllocateOrderStockRequest Response: AllocateOrderStockResponse Creates a multi-line reservation for an order at caller-chosen locations. Idempotent by key. Prefer AllocateOrderStock for shortage-aware allocation.
POST /public-api/publicapi.v1.Inventory/CreateOrderReservationCreateOrderReservationRequest Response: CreateOrderReservationResponse Releases a reservation and returns its reserved stock. State-convergent: releasing an already-released reservation returns its current status.
POST /public-api/publicapi.v1.Inventory/ReleaseReservationReleaseReservationRequest Response: ReleaseReservationResponse Consumes an active reservation, permanently deducting on-hand and reserved stock. State-convergent: consuming an already-consumed reservation is a no-op.
POST /public-api/publicapi.v1.Inventory/ConsumeReservationConsumeReservationRequest Response: ConsumeReservationResponse Returns stock previously consumed against a reservation, crediting on-hand. Only valid against a consumed reservation. Idempotent by key.
POST /public-api/publicapi.v1.Inventory/ReturnInventoryReturnInventoryRequest Response: ReturnInventoryResponse Resolves a barcode or serial value to its product identifier. NotFound when the value is unknown in this workspace.
POST /public-api/publicapi.v1.Inventory/LookupProductIdentifierLookupProductIdentifierRequest Response: LookupProductIdentifierResponse Lists the registered barcode and serial identifiers for one product.
POST /public-api/publicapi.v1.Inventory/ListProductIdentifiersListProductIdentifiersRequest Response: ListProductIdentifiersResponse Registers a barcode or serial identifier for a product. Not idempotent; a duplicate value conflicts.
POST /public-api/publicapi.v1.Inventory/AddProductIdentifierAddProductIdentifierRequest Response: AddProductIdentifierResponse Deletes a product identifier by ID. Destructive; NotFound when the identifier does not exist.
POST /public-api/publicapi.v1.Inventory/DeleteProductIdentifierDeleteProductIdentifierRequest Response: DeleteProductIdentifierResponse Starts an inter-location transfer, decrementing source stock immediately. In-transit transfers require a future expected_arrival_at and are completed later; direct transfers credit the destination at once. Not idempotent.
POST /public-api/publicapi.v1.Inventory/StartInventoryTransferStartInventoryTransferRequest Response: StartInventoryTransferResponse Lists inter-location transfers, optionally filtered by status.
POST /public-api/publicapi.v1.Inventory/ListInventoryTransfersListInventoryTransfersRequest Response: ListInventoryTransfersResponse Completes an in-transit transfer, crediting the destination. State-convergent: completing an already-completed transfer returns its current state.
POST /public-api/publicapi.v1.Inventory/CompleteInventoryTransferCompleteInventoryTransferRequest Response: CompleteInventoryTransferResponse Creates an inbound backorder tracking expected arrivals for a destination location. Idempotent by key.
POST /public-api/publicapi.v1.Inventory/CreateInventoryBackorderCreateInventoryBackorderRequest Response: CreateInventoryBackorderResponse Lists inbound backorders, optionally filtered by status.
POST /public-api/publicapi.v1.Inventory/ListInventoryBackordersListInventoryBackordersRequest Response: ListInventoryBackordersResponse Updates the expected arrival time of an open backorder. Only valid while the backorder is open.
POST /public-api/publicapi.v1.Inventory/UpdateInventoryBackorderEtaUpdateInventoryBackorderEtaRequest Response: UpdateInventoryBackorderEtaResponse /public-api/publicapi.v1.WorkflowAutomation Lists published workflow automations, newest first. Draft automations that were never published and archived automations are omitted.
POST /public-api/publicapi.v1.WorkflowAutomation/ListWorkflowAutomationsListWorkflowAutomationsRequest Response: ListWorkflowAutomationsResponse Returns one published workflow automation and its current published version metadata. Responds not_found when the id has never been published.
POST /public-api/publicapi.v1.WorkflowAutomation/GetWorkflowAutomationGetWorkflowAutomationRequest Response: GetWorkflowAutomationResponse /public-api/publicapi.v1.PlatformCatalog Lists the apps installed in the workspace, capped and newest first.
POST /public-api/publicapi.v1.PlatformCatalog/ListAppsListAppsRequest Response: ListAppsResponse Lists flow types, optionally filtered to a single app, capped.
POST /public-api/publicapi.v1.PlatformCatalog/ListFlowTypesListFlowTypesRequest Response: ListFlowTypesResponse Lists action types, optionally filtered to a single app, capped.
POST /public-api/publicapi.v1.PlatformCatalog/ListActionTypesListActionTypesRequest Response: ListActionTypesResponse Lists product types, optionally filtered to a single app, capped.
POST /public-api/publicapi.v1.PlatformCatalog/ListProductTypesListProductTypesRequest Response: ListProductTypesResponse /public-api/publicapi.v1.Usage Lists at most page_size usage log entries, newest first, optionally filtered by usage type, status and a created-at time window. page_size defaults to 100 and is capped at 200.
POST /public-api/publicapi.v1.Usage/ListUsageLogsListUsageLogsRequest Response: ListUsageLogsResponse Lists the usage types available to the workspace with their default per-unit pricing. Read-only.
POST /public-api/publicapi.v1.Usage/ListUsageTypesListUsageTypesRequest Response: ListUsageTypesResponse /public-api/publicapi.v1.Action Lists the configured actions in the workspace, optionally filtered to a single action type, capped and newest first. Read-only.
POST /public-api/publicapi.v1.Action/ListActionsListActionsRequest Response: ListActionsResponse /public-api/publicapi.v1.Audit Lists at most page_size audit events, newest first. page defaults to 1 and page_size defaults to 25 (capped at 100). Optionally filtered by customer, team, user, event name, actor type, a created-at window and a free-text query. Read-only.
POST /public-api/publicapi.v1.Audit/ListAuditEventsListAuditEventsRequest Response: ListAuditEventsResponse /public-api/publicapi.v1.Document Renders a published document template for a customer to a temporary PDF and returns a short-lived download URL. The template's current published configuration is used; raw template configuration cannot be supplied externally. This operation is not idempotent and produces a new document on every call.
POST /public-api/publicapi.v1.Document/GenerateCustomerDocumentPdfGenerateCustomerDocumentPdfRequest Response: GenerateCustomerDocumentPdfResponse