From c5f82e2ed259139ab8a6e52b7de6ae6436c784ab Mon Sep 17 00:00:00 2001 From: Quentin Heng Date: Tue, 28 Apr 2026 18:29:49 +1200 Subject: [PATCH 1/2] feat: add xero-practicemanager-v3-1 spec --- manifest.json | 4 + xero-practicemanager-v3-1.yaml | 7349 ++++++++++++++++++++++++++++++++ 2 files changed, 7353 insertions(+) create mode 100644 xero-practicemanager-v3-1.yaml diff --git a/manifest.json b/manifest.json index b5034a216..4341509b9 100644 --- a/manifest.json +++ b/manifest.json @@ -39,6 +39,10 @@ "path": "/xero-payroll-uk.yaml", "canPreview": true }, + "practiceManagerV31": { + "path": "/xero-practicemanager-v3-1.yaml", + "canPreview": true + }, "projects": { "path": "/xero-projects.yaml", "canPreview": true diff --git a/xero-practicemanager-v3-1.yaml b/xero-practicemanager-v3-1.yaml new file mode 100644 index 000000000..5df93355d --- /dev/null +++ b/xero-practicemanager-v3-1.yaml @@ -0,0 +1,7349 @@ +openapi: 3.0.0 +info: + title: XPM Public API + description: Xero Practice Manager Public API v3.1 + termsOfService: https://developer.xero.com/xero-developer-platform-terms-conditions/ + contact: + name: Xero Platform Team + url: https://developer.xero.com + email: api@xero.com + version: v3.1 +servers: +- url: https://api.xero.com/practicemanager/3.1 + description: Xero Practice Manager API +paths: + /v3.1/category.api/list: + get: + tags: + - CategoryV31 + summary: Return a list of all categories + operationId: CategoryV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/client.api/list: + get: + tags: + - ClientV31 + summary: Return a list of all clients + operationId: ClientV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed client information including notes, groups, and relationships. + schema: + type: boolean + - name: modifiedSince + in: query + description: 'Return clients modified since this date. Format: yyyy-MM-ddTHH:mm:ss.' + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/client.api/paged-list: + get: + tags: + - ClientV31 + summary: Return a paginated subset of non-archived and non-deleted clients. + operationId: ClientV31_PagedList + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: pageSize + in: query + schema: + type: integer + format: int32 + default: 50 + x-position: 1 + - name: pageToken + in: query + schema: + type: string + nullable: true + x-position: 2 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientPagedListResponseDto' + "400": + description: The request was invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "403": + description: Access to the resource is forbidden. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/client.api/search: + get: + tags: + - ClientV31 + summary: Return a list of all clients matching search query + operationId: ClientV31_Search + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: query + in: query + description: Search term to find clients by name or other fields. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed client information including notes, groups, and relationships. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/client.api/get/{identifier}: + get: + tags: + - ClientV31 + summary: Detailed information for a specific client + operationId: ClientV31_GetByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/client.api/add: + post: + tags: + - ClientV31 + summary: Create a new client and add new contacts to it + operationId: ClientV31_Add + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/update: + put: + tags: + - ClientV31 + summary: Update a client's details + operationId: ClientV31_Update + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientResponseDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/contacts: + get: + tags: + - ClientV31 + summary: Return a paginated subset of non-deleted contacts. + operationId: ClientV31_Contacts + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: pageSize + in: query + schema: + type: integer + format: int32 + default: 50 + x-position: 1 + - name: pageToken + in: query + schema: + type: string + nullable: true + x-position: 2 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientContactsResponseDto' + "400": + description: The request was invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "403": + description: Access to the resource is forbidden. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "404": + description: The requested resource was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/client.api/contact: + post: + tags: + - ClientV31 + summary: Create a new contact and add it to a client + operationId: ClientV31_ContactPost + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientContactResponseDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/contact/{identifier}: + get: + tags: + - ClientV31 + summary: Detailed information for a specific contact + operationId: ClientV31_ContactGet + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: clientUuid + in: query + schema: + type: string + nullable: true + x-position: 2 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientContactResponseDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + put: + tags: + - ClientV31 + summary: Update or delete a contact + operationId: ClientV31_ContactPUT + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: clientUuid + in: query + schema: + type: string + nullable: true + x-position: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientContactResponseDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + delete: + tags: + - ClientV31 + summary: Update or delete a contact + operationId: ClientV31_ContactDELETE + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: clientUuid + in: query + schema: + type: string + nullable: true + x-position: 2 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientContactResponseDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/client/{identifier}/contacts: + post: + tags: + - ClientV31 + summary: Add contacts to a client. Up to 10 contacts can be added to a client per request. + operationId: ClientV31_ClientContact + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + nullable: true + x-position: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientAddContactsRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientAddContactsResponseDto' + "400": + description: The request was invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "404": + description: The requested resource was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/archive: + put: + tags: + - ClientV31 + summary: Archive a client + operationId: ClientV31_Archive + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientArchiveRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientResponseDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/delete: + post: + tags: + - ClientV31 + summary: Delete a client + operationId: ClientV31_Delete + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientDeleteRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "409": + description: A conflict occurred with the current state of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/document: + post: + tags: + - ClientV31 + summary: Add a document to a client + operationId: ClientV31_Document + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientDocumentRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UuidResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/documents/{identifier}: + get: + tags: + - ClientV31 + summary: Return a list of documents for a client + operationId: ClientV31_Documents + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientDocumentsResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/client.api/addrelationship: + post: + tags: + - ClientV31 + summary: Add a relationship between clients + operationId: ClientV31_AddRelationship + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRelationshipAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRelationshipResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/updaterelationship: + put: + tags: + - ClientV31 + summary: Update the relationship details between clients + operationId: ClientV31_UpdateRelationship + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRelationshipUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRelationshipResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/deleterelationship: + post: + tags: + - ClientV31 + summary: Delete the relationship between clients + operationId: ClientV31_DeleteRelationship + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRelationshipDeleteRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRelationshipResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/clientgroup.api/get/{identifier}: + get: + tags: + - ClientGroupV31 + summary: Detailed information for a specific client group + operationId: ClientGroupV31_GetByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGroupResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/clientgroup.api/list: + get: + tags: + - ClientGroupV31 + summary: Return a list of all client groups + operationId: ClientGroupV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGroupListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/clientgroup.api/add: + post: + tags: + - ClientGroupV31 + summary: Add a client group + operationId: ClientGroupV31_Add + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGroupAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGroupResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/clientgroup.api/members: + put: + tags: + - ClientGroupV31 + summary: Manage the members of a client group + operationId: ClientGroupV31_Members + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGroupMembersRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGroupResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/clientgroup.api/delete: + post: + tags: + - ClientGroupV31 + summary: Delete a client group + operationId: ClientGroupV31_Delete + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGroupDeleteRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/cost.api/get/{identifier}: + get: + tags: + - CostV31 + summary: Detailed information for a specific cost + operationId: CostV31_GetByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CostResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/cost.api/delete: + post: + tags: + - CostV31 + summary: Delete a cost + operationId: CostV31_Delete + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostDeleteRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + /v3.1/cost.api/deleteall: + post: + tags: + - CostV31 + summary: Delete all costs + operationId: CostV31_DeleteAll + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostDeleteAllRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + /v3.1/cost.api/add: + post: + tags: + - CostV31 + summary: Add a cost + operationId: CostV31_Add + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CostResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + /v3.1/cost.api/update: + put: + tags: + - CostV31 + summary: Update a cost + operationId: CostV31_Update + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CostResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + /v3.1/cost.api/list: + get: + tags: + - CostV31 + summary: Return a list of all costs + operationId: CostV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: page + in: query + required: true + description: Page number (1-based) for paginated results. + schema: + type: integer + format: int32 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CostListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/client.api/get/{identifier}/customfield: + get: + tags: + - CustomFieldV31 + summary: Retrieve custom field data for a specific client + operationId: CustomFieldV31_GetClientByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValueListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + /v3.1/client.api/update/{identifier}/customfield: + put: + tags: + - CustomFieldV31 + summary: Update custom field data for a specific client + operationId: CustomFieldV31_UpdateClientByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValuesUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/client.api/contact/{identifier}/customfield: + get: + tags: + - CustomFieldV31 + summary: Retrieve custom field data for a specific contact + operationId: CustomFieldV31_GetContactByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValueListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read + put: + tags: + - CustomFieldV31 + summary: Update custom field data for a specific contact + operationId: CustomFieldV31_UpdateContactByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValuesUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.client + /v3.1/job.api/get/{jobNumber}/customfield: + get: + tags: + - CustomFieldV31 + summary: Retrieve custom field data for a specific job + operationId: CustomFieldV31_GetJob + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValueListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/update/{jobNumber}/customfield: + put: + tags: + - CustomFieldV31 + summary: Update custom field data for a specific job + operationId: CustomFieldV31_UpdateJob + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValuesUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/time.api/get/{identifier}/customfield: + get: + tags: + - CustomFieldV31 + summary: Retrieve custom field data for a specific time entry + operationId: CustomFieldV31_GetTimeByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValueListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read + /v3.1/time.api/update/{identifier}/customfield: + put: + tags: + - CustomFieldV31 + summary: Update custom field data for a specific time entry + operationId: CustomFieldV31_UpdateTimeByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValuesUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.time + /v3.1/job.api/task/{identifier}/customfield: + get: + tags: + - CustomFieldV31 + summary: Retrieve custom field data for a specific job task + operationId: CustomFieldV31_GetJobTaskByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValueListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + put: + tags: + - CustomFieldV31 + summary: Update custom field data for a specific job task + operationId: CustomFieldV31_UpdateJobTaskByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValuesUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/cost/{identifier}/customfield: + get: + tags: + - CustomFieldV31 + summary: Retrieve custom field data for a specific job cost + operationId: CustomFieldV31_GetJobCostByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValueListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + put: + tags: + - CustomFieldV31 + summary: Update custom field data for a specific job cost + operationId: CustomFieldV31_UpdateJobCostByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldValuesUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/customfield.api/definition: + get: + tags: + - CustomFieldV31 + summary: Return a list of all the custom fields + operationId: CustomFieldV31_Definition + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldDefinitionListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/customfield.api/get/{identifier}: + get: + tags: + - CustomFieldV31 + summary: Detailed information for a specific custom field + operationId: CustomFieldV31_GetByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldDefinitionResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/customfield.api/add: + post: + tags: + - CustomFieldV31 + summary: Add a new custom field + operationId: CustomFieldV31_Add + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddCustomFieldDefinitionRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UuidResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + /v3.1/customfield.api/update: + put: + tags: + - CustomFieldV31 + summary: Update data for a specific custom field + operationId: CustomFieldV31_Update + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateCustomFieldDefinitionRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UuidResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + /v3.1/customfield.api/delete: + post: + tags: + - CustomFieldV31 + summary: Delete a custom field + operationId: CustomFieldV31_Delete + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteCustomFieldDefinitionRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StatusResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + /v3.1/invoice.api/current: + get: + tags: + - InvoiceV31 + summary: Return a list of current invoices + operationId: InvoiceV31_Current + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed invoice information including jobs, tasks, and costs. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/invoice.api/draft: + get: + tags: + - InvoiceV31 + summary: Return a list of draft invoices + operationId: InvoiceV31_Draft + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed invoice information including jobs, tasks, and costs. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/invoice.api/list: + get: + tags: + - InvoiceV31 + summary: Return a list of current and archived invoices + operationId: InvoiceV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed invoice information including jobs, tasks, and costs. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/invoice.api/job/{jobNumber}: + get: + tags: + - InvoiceV31 + summary: Returns a list of invoices for a specific job + operationId: InvoiceV31_Job + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/invoice.api/get/{invoiceNumber}: + get: + tags: + - InvoiceV31 + summary: Detailed information for a specific invoice + operationId: InvoiceV31_Get + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: invoiceNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/invoice.api/payments/{invoiceNumber}: + get: + tags: + - InvoiceV31 + summary: Return a list of payments for an invoice + operationId: InvoiceV31_Payments + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: invoiceNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicePaymentsResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/job.api/current: + get: + tags: + - JobV31 + summary: Returns a list of current jobs + operationId: JobV31_Current + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed job information including tasks, milestones, and notes. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/list: + get: + tags: + - JobV31 + summary: Return a list of all jobs + operationId: JobV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed job information including tasks, milestones, and notes. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/client/{identifier}: + get: + tags: + - JobV31 + summary: Return a list of all jobs assigned for a specific client + operationId: JobV31_ClientByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: detailed + in: query + description: If true, returns detailed job information including tasks, milestones, and notes. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/get/{jobNumber}: + get: + tags: + - JobV31 + summary: Detailed information for a specific job + operationId: JobV31_Get + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/state: + put: + tags: + - JobV31 + summary: Update the state of a specific job + operationId: JobV31_State + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobStateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/add: + post: + tags: + - JobV31 + summary: Add a job + operationId: JobV31_Add + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/update: + put: + tags: + - JobV31 + summary: Update a job + operationId: JobV31_Update + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/reordertasks: + put: + tags: + - JobV31 + summary: Reorder the tasks on a job + operationId: JobV31_ReOrderTasks + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobReOrderTasksRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/note: + post: + tags: + - JobV31 + summary: Add a note to a job + operationId: JobV31_Note + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobNoteRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/document: + post: + tags: + - JobV31 + summary: Add a document to a job + operationId: JobV31_Document + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobDocumentRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/tasks: + get: + tags: + - JobV31 + summary: Return a list of jobs and their tasks matching the specified criteria + operationId: JobV31_Tasks + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: complete + in: query + description: "Filter tasks by completion status. Values: 'true' or 'false'." + schema: + type: string + - name: due + in: query + description: 'Filter tasks due on or before this date. Format: yyyyMMdd.' + schema: + type: string + - name: start + in: query + description: 'Filter tasks starting on or after this date. Format: yyyyMMdd.' + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/assign: + put: + tags: + - JobV31 + summary: Assign staff to a job + operationId: JobV31_Assign + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobAssignRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/delete: + post: + tags: + - JobV31 + summary: Delete a job + operationId: JobV31_Delete + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobDeleteRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/task: + post: + tags: + - JobV31 + summary: Add a task to a job + operationId: JobV31_TaskAdd + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobTaskAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UuidResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + put: + tags: + - JobV31 + summary: Update a task on a job + operationId: JobV31_TaskUpdate + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobTaskUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UuidResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/costs/{jobNumber}: + get: + tags: + - JobV31 + summary: Return a list of costs for a job + operationId: JobV31_Costs + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobCostListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/cost: + post: + tags: + - JobV31 + summary: Add a cost to a job + operationId: JobV31_CostAdd + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobCostAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UuidResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + put: + tags: + - JobV31 + summary: Update a cost on a job + operationId: JobV31_CostUpdate + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobCostUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UuidResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/applytemplate: + post: + tags: + - JobV31 + summary: Apply an additional template to a job + operationId: JobV31_ApplyTemplate + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JobApplyTemplateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/documents/{id}: + get: + tags: + - JobV31 + summary: Return a list of documents for a job + operationId: JobV31_Documents + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobDocumentsResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/job.api/task/{identifier}/complete: + put: + tags: + - JobV31 + summary: Complete a task on a job + operationId: JobV31_CompleteTask + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/task/{identifier}/reopen: + put: + tags: + - JobV31 + summary: Re-open a task on a job + operationId: JobV31_ReOpenTask + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/createquote/{jobNumber}: + post: + tags: + - JobV31 + summary: Create a quote based on the job + operationId: JobV31_CreateQuote + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateQuoteResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/createestimate/{jobNumber}: + post: + tags: + - JobV31 + summary: Create an estimate based on the job + operationId: JobV31_CreateEstimate + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateEstimateResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.job + /v3.1/job.api/staff/{identifier}: + get: + tags: + - Job2V31 + summary: Return a list of all current jobs assigned to a staff member + operationId: Job2V31_StaffByIdentifier + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/Job2ResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager.job + - practicemanager.job.read + /v3.1/jobstate.api/list: + get: + tags: + - JobStateV31 + summary: Return a list of all job states + operationId: JobStateV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/JobStateListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read + /v3.1/quote.api/current: + get: + tags: + - QuoteV31 + summary: Return a list of current quotes + operationId: QuoteV31_Current + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + schema: + type: boolean + default: false + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/QuoteListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/quote.api/draft: + get: + tags: + - QuoteV31 + summary: Return a list of draft quotes + operationId: QuoteV31_Draft + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + schema: + type: boolean + default: false + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/QuoteListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/quote.api/list: + get: + tags: + - QuoteV31 + summary: Return a list of current and archived quotes + operationId: QuoteV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed quote information including tasks, costs, and options. + schema: + type: boolean + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/QuoteListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/quote.api/get/{quoteNumber}: + get: + tags: + - QuoteV31 + summary: Detailed information for a specific quote + operationId: QuoteV31_Get + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: quoteNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/QuoteResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/staff.api/list: + get: + tags: + - StaffV31 + summary: Return a list of all staff members + operationId: StaffV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StaffListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.staff + - practicemanager.staff.read + /v3.1/staff.api/get/{identifier}: + get: + tags: + - StaffV31 + summary: Details for a specific staff member + operationId: StaffV31_GetByUuid + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StaffResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.staff + - practicemanager.staff.read + /v3.1/staff.api/add: + post: + tags: + - StaffV31 + summary: Add a staff member + operationId: StaffV31_Add + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StaffResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.staff + /v3.1/staff.api/update: + put: + tags: + - StaffV31 + summary: Update a staff member's details + operationId: StaffV31_Update + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/StaffResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.staff + /v3.1/staff.api/delete: + post: + tags: + - StaffV31 + summary: Delete a staff member + operationId: StaffV31_Delete + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffIdentifierRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.staff + /v3.1/staff.api/enable: + post: + tags: + - StaffV31 + summary: Enable a staff member so they can log into Practice Manager + operationId: StaffV31_Enable + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffIdentifierRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.staff + /v3.1/staff.api/disable: + post: + tags: + - StaffV31 + summary: Disable a staff member so they can no longer log into Practice Manager + operationId: StaffV31_Disable + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffIdentifierRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.staff + /v3.1/staff.api/forgottenpassword: + post: + tags: + - StaffV31 + summary: Reset a staff member's password + operationId: StaffV31_ForgottenPassword + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffIdentifierRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.staff + /v3.1/task.api/list: + get: + tags: + - TaskV31 + summary: Return a list of all tasks + operationId: TaskV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TaskListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/task.api/get/{identifier}: + get: + tags: + - TaskV31 + summary: Details for a specific task + operationId: TaskV31_Get + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TaskResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/template.api/list: + get: + tags: + - TemplateV31 + summary: Return a list of all templates + operationId: TemplateV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + /v3.1/time.api/job/{jobNumber}: + get: + tags: + - TimeV31 + summary: Returns a list of time sheet entries for a specific job + operationId: TimeV31_Job + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeListResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read + /v3.1/time.api/list: + get: + tags: + - TimeV31 + summary: Return a list of time sheet entries + operationId: TimeV31_List + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeListResponseDto' + "400": + description: The request was invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read + /v3.1/time.api/staff/{identifier}: + get: + tags: + - TimeV31 + summary: Return a list of time sheet entries for a specific staff member + operationId: TimeV31_Staff + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeListResponseDto' + "400": + description: The request was invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read + /v3.1/time.api/get/{identifier}: + get: + tags: + - TimeV31 + summary: Detailed information for a specific time entry + operationId: TimeV31_Get + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read + /v3.1/time.api/add: + post: + tags: + - TimeV31 + summary: Add a time sheet entry to a job + operationId: TimeV31_Add + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeAddRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.time + /v3.1/time.api/update: + put: + tags: + - TimeV31 + summary: Update a time sheet entry on a job + operationId: TimeV31_Update + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeUpdateRequestDto' + required: true + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeResponseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.time + /v3.1/time.api/delete/{identifier}: + delete: + tags: + - TimeV31 + summary: Delete a specific time sheet entry + operationId: TimeV31_Delete + parameters: + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + responses: + "200": + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBaseDto' + "500": + description: An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorDto' + security: + - OAuth2: + - practicemanager + - practicemanager.time +components: + schemas: + CategoryResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + categories: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' + NamedEntityDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + ResponseBaseDto: + type: object + additionalProperties: false + properties: + status: + type: string + nullable: true + ResponseErrorDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + errorDescription: + type: string + nullable: true + ClientListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + clients: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientDetailedDto' + ClientDetailedDto: + allOf: + - $ref: '#/components/schemas/ClientDto' + - type: object + additionalProperties: false + properties: + notes: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientNoteDto' + groups: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' + relationships: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientRelationshipDto' + ClientNoteDto: + type: object + additionalProperties: false + properties: + title: + type: string + nullable: true + text: + type: string + nullable: true + folder: + type: string + nullable: true + date: + type: string + nullable: true + createdBy: + type: string + nullable: true + tags: + type: string + nullable: true + ClientRelationshipDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + type: + type: string + nullable: true + relatedClient: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + numberOfShares: + type: integer + format: int32 + nullable: true + percentage: + type: number + format: decimal + nullable: true + startDate: + type: string + nullable: true + endDate: + type: string + nullable: true + ClientDto: + allOf: + - $ref: '#/components/schemas/ClientBaseDto' + - type: object + additionalProperties: false + properties: + contacts: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientContactDto' + ClientContactDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + salutation: + type: string + nullable: true + addressee: + type: string + nullable: true + mobile: + type: string + nullable: true + email: + type: string + nullable: true + phone: + type: string + nullable: true + isDeleted: + type: string + nullable: true + isPrimary: + type: string + nullable: true + position: + type: string + nullable: true + ClientBaseDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + title: + type: string + nullable: true + gender: + type: string + nullable: true + firstName: + type: string + nullable: true + middleName: + type: string + nullable: true + lastName: + type: string + nullable: true + otherName: + type: string + nullable: true + email: + type: string + nullable: true + dateOfBirth: + type: string + nullable: true + dateOfDeath: + type: string + nullable: true + placeOfBirthCity: + type: string + nullable: true + placeOfBirthCountryCode: + type: string + nullable: true + address: + type: string + nullable: true + city: + type: string + nullable: true + region: + type: string + nullable: true + postCode: + type: string + nullable: true + country: + type: string + nullable: true + postalAddress: + type: string + nullable: true + postalCity: + type: string + nullable: true + postalRegion: + type: string + nullable: true + postalPostCode: + type: string + nullable: true + postalCountry: + type: string + nullable: true + phone: + type: string + nullable: true + fax: + type: string + nullable: true + website: + type: string + nullable: true + referralSource: + type: string + nullable: true + exportCode: + type: string + nullable: true + industry: + type: string + nullable: true + isProspect: + type: string + nullable: true + isArchived: + type: string + nullable: true + isDeleted: + type: string + nullable: true + accountManager: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + jobManager: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + type: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientTypeDto' + billingClient: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + taxNumber: + type: string + nullable: true + companyNumber: + type: string + nullable: true + businessNumber: + type: string + nullable: true + businessStructure: + type: string + nullable: true + balanceMonth: + type: integer + format: int32 + nullable: true + prepareGst: + type: string + nullable: true + gstRegistered: + type: string + nullable: true + gstPeriod: + type: string + nullable: true + gstBasis: + type: string + nullable: true + provisionalTaxBasis: + type: string + nullable: true + provisionalTaxRatio: + type: number + format: decimal + nullable: true + signedTaxAuthority: + type: string + nullable: true + taxAgent: + type: string + nullable: true + agencyStatus: + type: string + nullable: true + returnType: + type: string + nullable: true + prepareActivityStatement: + type: string + nullable: true + prepareTaxReturn: + type: string + nullable: true + branchNumber: + type: string + nullable: true + bankBsb: + type: string + nullable: true + bankAccountName: + type: string + nullable: true + bankAccountNumber: + type: string + nullable: true + bankName: + type: string + nullable: true + activeAtoClient: + type: string + nullable: true + clientCode: + type: string + nullable: true + autoBasOptInCriteria: + nullable: true + oneOf: + - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' + webUrl: + type: string + nullable: true + ClientTypeDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + costMarkup: + type: number + format: decimal + nullable: true + paymentTerm: + type: string + nullable: true + paymentDay: + type: integer + format: int32 + nullable: true + AutoBasOptInCriteriaDto: + type: object + additionalProperties: false + properties: + annually: + type: string + nullable: true + monthly: + type: string + nullable: true + quarterly: + type: string + nullable: true + opt-out: + type: string + nullable: true + ClientPagedListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + clients: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientBaseDto' + pagination: + nullable: true + oneOf: + - $ref: '#/components/schemas/PaginationDto' + PaginationDto: + type: object + additionalProperties: false + properties: + links: + nullable: true + oneOf: + - $ref: '#/components/schemas/PaginationLinksDto' + PaginationLinksDto: + type: object + additionalProperties: false + properties: + first: + type: string + nullable: true + next: + type: string + nullable: true + ClientResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientDetailedDto' + ClientAddRequestDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + otherName: + type: string + nullable: true + middleName: + type: string + nullable: true + title: + type: string + nullable: true + gender: + type: string + nullable: true + email: + type: string + nullable: true + dateOfBirth: + type: string + nullable: true + dateOfDeath: + type: string + nullable: true + placeOfBirthCity: + type: string + nullable: true + placeOfBirthCountryCode: + type: string + nullable: true + address: + type: string + nullable: true + city: + type: string + nullable: true + region: + type: string + nullable: true + postCode: + type: string + nullable: true + country: + type: string + nullable: true + postalAddress: + type: string + nullable: true + postalCity: + type: string + nullable: true + postalRegion: + type: string + nullable: true + postalPostCode: + type: string + nullable: true + postalCountry: + type: string + nullable: true + phone: + type: string + nullable: true + fax: + type: string + nullable: true + webSite: + type: string + nullable: true + referralSource: + type: string + nullable: true + exportCode: + type: string + nullable: true + isProspect: + type: string + nullable: true + billingClientUuid: + type: string + nullable: true + accountManagerUuid: + type: string + nullable: true + jobManagerUuid: + type: string + nullable: true + taxNumber: + type: string + nullable: true + companyNumber: + type: string + nullable: true + businessNumber: + type: string + nullable: true + branchNumber: + type: string + nullable: true + businessStructure: + type: string + nullable: true + balanceMonth: + type: string + nullable: true + gstRegistered: + type: string + nullable: true + prepareGst: + type: string + nullable: true + gstPeriod: + type: integer + format: int32 + nullable: true + gstBasis: + type: string + nullable: true + provisionalTaxBasis: + type: string + nullable: true + provisionalTaxRatio: + type: number + format: decimal + nullable: true + signedTaxAuthority: + type: string + nullable: true + taxAgent: + type: string + nullable: true + agencyStatus: + type: string + nullable: true + prepareActivityStatement: + type: string + nullable: true + prepareTaxReturn: + type: string + nullable: true + autoBasOptInCriteria: + nullable: true + oneOf: + - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' + returnType: + type: string + nullable: true + activeAtoClient: + type: string + nullable: true + clientCode: + type: string + nullable: true + contacts: + type: array + nullable: true + items: + $ref: '#/components/schemas/ContactInsertItemDto' + ContactInsertItemDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + phone: + type: string + nullable: true + mobile: + type: string + nullable: true + email: + type: string + nullable: true + position: + type: string + nullable: true + salutation: + type: string + nullable: true + addressee: + type: string + nullable: true + isPrimary: + type: string + nullable: true + ClientUpdateRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + otherName: + type: string + nullable: true + middleName: + type: string + nullable: true + title: + type: string + nullable: true + gender: + type: string + nullable: true + email: + type: string + nullable: true + dateOfBirth: + type: string + nullable: true + dateOfDeath: + type: string + nullable: true + placeOfBirthCity: + type: string + nullable: true + placeOfBirthCountryCode: + type: string + nullable: true + address: + type: string + nullable: true + city: + type: string + nullable: true + region: + type: string + nullable: true + postCode: + type: string + nullable: true + country: + type: string + nullable: true + postalAddress: + type: string + nullable: true + postalCity: + type: string + nullable: true + postalRegion: + type: string + nullable: true + postalPostCode: + type: string + nullable: true + postalCountry: + type: string + nullable: true + phone: + type: string + nullable: true + fax: + type: string + nullable: true + webSite: + type: string + nullable: true + referralSource: + type: string + nullable: true + exportCode: + type: string + nullable: true + isProspect: + type: string + nullable: true + billingClientUuid: + type: string + nullable: true + accountManagerUuid: + type: string + nullable: true + jobManagerUuid: + type: string + nullable: true + taxNumber: + type: string + nullable: true + companyNumber: + type: string + nullable: true + businessNumber: + type: string + nullable: true + branchNumber: + type: string + nullable: true + businessStructure: + type: string + nullable: true + balanceMonth: + type: string + nullable: true + gstRegistered: + type: string + nullable: true + prepareGst: + type: string + nullable: true + gstPeriod: + type: integer + format: int32 + nullable: true + gstBasis: + type: string + nullable: true + provisionalTaxBasis: + type: string + nullable: true + provisionalTaxRatio: + type: number + format: decimal + nullable: true + signedTaxAuthority: + type: string + nullable: true + taxAgent: + type: string + nullable: true + agencyStatus: + type: string + nullable: true + prepareActivityStatement: + type: string + nullable: true + prepareTaxReturn: + type: string + nullable: true + autoBasOptInCriteria: + nullable: true + oneOf: + - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' + returnType: + type: string + nullable: true + activeAtoClient: + type: string + nullable: true + clientCode: + type: string + nullable: true + ClientContactsResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + contacts: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientContactDto' + pagination: + nullable: true + oneOf: + - $ref: '#/components/schemas/PaginationDto' + ClientContactResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + contact: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientContactDto' + ContactRequestDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + mobile: + type: string + nullable: true + email: + type: string + nullable: true + phone: + type: string + nullable: true + salutation: + type: string + nullable: true + addressee: + type: string + nullable: true + position: + type: string + nullable: true + isPrimary: + type: string + nullable: true + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/ContactRequestClientDto' + ContactRequestClientDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + ClientAddContactsResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientAddContactsClientDto' + ClientAddContactsClientDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + contacts: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientAddContactsContactDto' + ClientAddContactsContactDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + position: + type: string + nullable: true + isPrimary: + type: string + nullable: true + ClientAddContactsRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + contacts: + type: array + nullable: true + items: + $ref: '#/components/schemas/ContactLinkItemDto' + ContactLinkItemDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + position: + type: string + nullable: true + isPrimary: + type: string + nullable: true + ClientArchiveRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + StatusResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + ClientDeleteRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + UuidResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + ClientDocumentRequestDto: + type: object + additionalProperties: false + properties: + clientUuid: + type: string + nullable: true + title: + type: string + nullable: true + text: + type: string + nullable: true + folder: + type: string + nullable: true + fileName: + type: string + nullable: true + content: + type: string + nullable: true + ClientDocumentsResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + documents: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientDocumentDto' + ClientDocumentDto: + type: object + additionalProperties: false + properties: + title: + type: string + nullable: true + text: + type: string + nullable: true + folder: + type: string + nullable: true + date: + type: string + nullable: true + createdBy: + type: string + nullable: true + fileName: + type: string + nullable: true + url: + type: string + nullable: true + ClientRelationshipResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + clientRelationship: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientRelationshipDetailDto' + ClientRelationshipDetailDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + relatedClient: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + relationshipType: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientRelationshipTypeDto' + numberOfShares: + type: integer + format: int32 + nullable: true + percentage: + type: number + format: decimal + nullable: true + startDate: + type: string + nullable: true + endDate: + type: string + nullable: true + ClientRelationshipTypeDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + ClientRelationshipAddRequestDto: + type: object + additionalProperties: false + properties: + clientUuid: + type: string + nullable: true + relatedClientUuid: + type: string + nullable: true + type: + type: string + nullable: true + numberOfShares: + type: integer + format: int32 + nullable: true + percentage: + type: number + format: decimal + nullable: true + startDate: + type: string + nullable: true + endDate: + type: string + nullable: true + ClientRelationshipUpdateRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + numberOfShares: + type: integer + format: int32 + nullable: true + percentage: + type: number + format: decimal + nullable: true + startDate: + type: string + nullable: true + endDate: + type: string + nullable: true + ClientRelationshipDeleteRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + ClientGroupResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + group: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientGroupDetailDto' + ClientGroupDetailDto: + allOf: + - $ref: '#/components/schemas/ClientGroupDto' + - type: object + additionalProperties: false + properties: + clients: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' + ClientGroupDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + webUrl: + type: string + nullable: true + taxable: + type: string + nullable: true + ClientGroupListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + groups: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientGroupDto' + ClientGroupAddRequestDto: + type: object + additionalProperties: false + properties: + clientUuid: + type: string + nullable: true + name: + type: string + nullable: true + taxable: + type: string + nullable: true + ClientGroupMembersRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + add: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientGroupMemberActionDto' + remove: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientGroupMemberActionDto' + ClientGroupMemberActionDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + ClientGroupDeleteRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + CostResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + cost: + nullable: true + oneOf: + - $ref: '#/components/schemas/CostDto' + CostDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + description: + type: string + nullable: true + code: + type: string + nullable: true + note: + type: string + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + incomeAccount: + type: string + nullable: true + costOfSaleAccount: + type: string + nullable: true + supplier: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + CostDeleteRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + CostDeleteAllRequestDto: + type: object + additionalProperties: false + CostAddRequestDto: + type: object + additionalProperties: false + properties: + description: + type: string + nullable: true + code: + type: string + nullable: true + note: + type: string + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + supplierUuid: + type: string + nullable: true + CostUpdateRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + description: + type: string + nullable: true + code: + type: string + nullable: true + note: + type: string + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + supplierUuid: + type: string + nullable: true + CostListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + records: + type: integer + format: int32 + nullable: true + costs: + type: array + nullable: true + items: + $ref: '#/components/schemas/CostDto' + CustomFieldValueListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + customFields: + type: array + nullable: true + items: + $ref: '#/components/schemas/CustomFieldValueDto' + CustomFieldValueDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + text: + type: string + nullable: true + date: + type: string + nullable: true + number: + type: number + format: decimal + nullable: true + decimal: + type: number + format: decimal + nullable: true + boolean: + type: boolean + nullable: true + CustomFieldValuesUpdateRequestDto: + type: object + additionalProperties: false + properties: + customFields: + type: array + nullable: true + items: + $ref: '#/components/schemas/CustomFieldValueRequestDto' + CustomFieldValueRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + text: + type: string + nullable: true + date: + type: string + nullable: true + number: + type: integer + format: int32 + nullable: true + decimal: + type: number + format: decimal + nullable: true + boolean: + type: boolean + nullable: true + CustomFieldDefinitionListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + customFieldDefinitions: + type: array + nullable: true + items: + $ref: '#/components/schemas/CustomFieldDefinitionDto' + CustomFieldDefinitionDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + linkUrl: + type: string + nullable: true + options: + type: string + nullable: true + useClient: + type: boolean + nullable: true + useContact: + type: boolean + nullable: true + useJob: + type: boolean + nullable: true + useLead: + type: boolean + nullable: true + useSupplier: + type: boolean + nullable: true + useJobTask: + type: boolean + nullable: true + useJobCost: + type: boolean + nullable: true + useJobTime: + type: boolean + nullable: true + type: + type: string + nullable: true + valueElement: + type: string + nullable: true + CustomFieldDefinitionResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + customFieldDefinition: + nullable: true + oneOf: + - $ref: '#/components/schemas/CustomFieldDefinitionDto' + AddCustomFieldDefinitionRequestDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + linkUrl: + type: string + nullable: true + options: + type: array + nullable: true + items: + type: string + useClient: + type: boolean + nullable: true + useContact: + type: boolean + nullable: true + useJob: + type: boolean + nullable: true + useLead: + type: boolean + nullable: true + useSupplier: + type: boolean + nullable: true + useJobTask: + type: boolean + nullable: true + useJobCost: + type: boolean + nullable: true + useJobTime: + type: boolean + nullable: true + type: + type: string + nullable: true + UpdateCustomFieldDefinitionRequestDto: + allOf: + - $ref: '#/components/schemas/AddCustomFieldDefinitionRequestDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + DeleteCustomFieldDefinitionRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + InvoiceListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + invoices: + type: array + nullable: true + items: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoiceDto' + InvoiceDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + uuid: + type: string + nullable: true + type: + type: string + nullable: true + jobText: + type: string + nullable: true + description: + type: string + nullable: true + date: + type: string + nullable: true + dueDate: + type: string + nullable: true + amount: + type: number + format: decimal + nullable: true + amountTax: + type: number + format: decimal + nullable: true + amountIncludingTax: + type: number + format: decimal + nullable: true + amountPaid: + type: number + format: decimal + nullable: true + amountOutstanding: + type: number + format: decimal + nullable: true + status: + type: string + nullable: true + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoicePartyDto' + contact: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoicePartyDto' + jobs: + type: array + nullable: true + items: + $ref: '#/components/schemas/InvoiceJobDto' + tasks: + type: array + nullable: true + items: + $ref: '#/components/schemas/InvoiceTaskDto' + costs: + type: array + nullable: true + items: + $ref: '#/components/schemas/InvoiceCostDto' + InvoicePartyDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + InvoiceJobDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + name: + type: string + nullable: true + description: + type: string + nullable: true + clientOrderNumber: + type: string + nullable: true + tasks: + type: array + nullable: true + items: + $ref: '#/components/schemas/InvoiceTaskDto' + costs: + type: array + nullable: true + items: + $ref: '#/components/schemas/InvoiceCostDto' + InvoiceTaskDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + description: + type: string + nullable: true + minutes: + type: integer + format: int32 + nullable: true + billableRate: + type: number + format: decimal + nullable: true + billable: + type: string + nullable: true + amount: + type: number + format: decimal + nullable: true + amountTax: + type: number + format: decimal + nullable: true + amountIncludingTax: + type: number + format: decimal + nullable: true + InvoiceCostDto: + type: object + additionalProperties: false + properties: + description: + type: string + nullable: true + note: + type: string + nullable: true + code: + type: string + nullable: true + billable: + type: string + nullable: true + quantity: + type: number + format: decimal + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + amount: + type: number + format: decimal + nullable: true + amountTax: + type: number + format: decimal + nullable: true + amountIncludingTax: + type: number + format: decimal + nullable: true + InvoiceResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + invoice: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoiceDto' + InvoicePaymentsResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + payments: + type: array + nullable: true + items: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoicePaymentDto' + InvoicePaymentDto: + type: object + additionalProperties: false + properties: + amount: + type: number + format: decimal + nullable: true + date: + type: string + nullable: true + reference: + type: string + nullable: true + JobListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + jobs: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobDto' + JobDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + uuid: + type: string + nullable: true + name: + type: string + nullable: true + description: + type: string + nullable: true + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobPartyDto' + clientOrderNumber: + type: string + nullable: true + budget: + type: number + format: decimal + nullable: true + state: + type: string + nullable: true + type: + type: string + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + completedDate: + type: string + nullable: true + contact: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobPartyDto' + internalId: + type: string + nullable: true + manager: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobPartyDto' + partner: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobPartyDto' + assigned: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobStaffDto' + tasks: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobTaskDto' + milestones: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobMilestoneDto' + notes: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobNoteDto' + webUrl: + type: string + nullable: true + JobPartyDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + JobStaffDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + allocatedMinutes: + type: integer + format: int32 + nullable: true + JobTaskDto: + allOf: + - $ref: '#/components/schemas/SimpleEntityDto' + - type: object + additionalProperties: false + properties: + taskUuid: + type: string + nullable: true + taskId: + type: string + nullable: true + estimatedMinutes: + type: integer + format: int32 + nullable: true + actualMinutes: + type: integer + format: int32 + nullable: true + completed: + type: boolean + nullable: true + billable: + type: boolean + nullable: true + folder: + type: string + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + assigned: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobStaffDto' + SimpleEntityDto: + allOf: + - $ref: '#/components/schemas/NamedEntityDto' + - type: object + additionalProperties: false + properties: + description: + type: string + nullable: true + JobMilestoneDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + date: + type: string + nullable: true + description: + type: string + nullable: true + completed: + type: boolean + nullable: true + folder: + type: string + nullable: true + JobNoteDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + title: + type: string + nullable: true + text: + type: string + nullable: true + folder: + type: string + nullable: true + date: + type: string + nullable: true + createdBy: + type: string + nullable: true + comments: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobNoteCommentDto' + JobNoteCommentDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + text: + type: string + nullable: true + date: + type: string + nullable: true + createdBy: + type: string + nullable: true + JobResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + job: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobDto' + JobStateRequestDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + state: + type: string + nullable: true + JobAddRequestDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + name: + type: string + nullable: true + description: + type: string + nullable: true + clientUuid: + type: string + nullable: true + contactUuid: + type: string + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + categoryUuid: + type: string + nullable: true + budget: + type: number + format: decimal + nullable: true + clientNumber: + type: string + nullable: true + templateUuid: + type: string + nullable: true + JobUpdateRequestDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + name: + type: string + nullable: true + description: + type: string + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + categoryUuid: + type: string + nullable: true + budget: + type: number + format: decimal + nullable: true + clientNumber: + type: string + nullable: true + JobReOrderTasksRequestDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + tasks: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobTaskReorderItemDto' + JobTaskReorderItemDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + JobNoteRequestDto: + type: object + additionalProperties: false + properties: + job: + type: string + nullable: true + title: + type: string + nullable: true + text: + type: string + nullable: true + folder: + type: string + nullable: true + public: + type: boolean + nullable: true + JobDocumentRequestDto: + type: object + additionalProperties: false + properties: + job: + type: string + nullable: true + title: + type: string + nullable: true + text: + type: string + nullable: true + folder: + type: string + nullable: true + public: + type: boolean + nullable: true + fileName: + type: string + nullable: true + content: + type: string + nullable: true + JobAssignRequestDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + add-manager: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobAssignStaffOperationDto' + remove-manager: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobAssignEmptyOperationDto' + add-partner: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobAssignStaffOperationDto' + remove-partner: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobAssignEmptyOperationDto' + add: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobAssignStaffTaskOperationDto' + remove: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobAssignStaffTaskOperationDto' + JobAssignStaffOperationDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + JobAssignEmptyOperationDto: + type: object + additionalProperties: false + JobAssignStaffTaskOperationDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + task-uuid: + type: string + nullable: true + JobDeleteRequestDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + JobTaskAddRequestDto: + type: object + additionalProperties: false + properties: + job: + type: string + nullable: true + taskUuid: + type: string + nullable: true + label: + type: string + nullable: true + description: + type: string + nullable: true + estimatedMinutes: + type: integer + format: int32 + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + JobTaskUpdateRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + label: + type: string + nullable: true + description: + type: string + nullable: true + estimatedMinutes: + type: integer + format: int32 + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + JobCostListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + costs: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobCostDto' + JobCostDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + description: + type: string + nullable: true + quantity: + type: number + format: decimal + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + date: + type: string + nullable: true + code: + type: string + nullable: true + note: + type: string + nullable: true + billable: + type: boolean + nullable: true + supplier: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobCostSupplierDto' + JobCostSupplierDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + JobCostAddRequestDto: + type: object + additionalProperties: false + properties: + job: + type: string + nullable: true + description: + type: string + nullable: true + code: + type: string + nullable: true + note: + type: string + nullable: true + date: + type: string + nullable: true + quantity: + type: number + format: decimal + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + billable: + type: boolean + nullable: true + supplierUuid: + type: string + nullable: true + JobCostUpdateRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + description: + type: string + nullable: true + code: + type: string + nullable: true + note: + type: string + nullable: true + date: + type: string + nullable: true + quantity: + type: number + format: decimal + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + billable: + type: boolean + nullable: true + supplierUuid: + type: string + nullable: true + JobApplyTemplateRequestDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + templateUuid: + type: string + nullable: true + taskMode: + type: string + nullable: true + JobDocumentsResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + documents: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobDocumentDto' + JobDocumentDto: + type: object + additionalProperties: false + properties: + title: + type: string + nullable: true + text: + type: string + nullable: true + folder: + type: string + nullable: true + date: + type: string + nullable: true + createdBy: + type: string + nullable: true + fileName: + type: string + nullable: true + url: + type: string + nullable: true + CreateQuoteResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + CreateEstimateResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + Job2ResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + jobs: + type: array + nullable: true + items: + $ref: '#/components/schemas/Job2Dto' + Job2Dto: + allOf: + - $ref: '#/components/schemas/SimpleEntityDto' + - type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + clientOrderNumber: + type: string + nullable: true + budget: + type: number + format: decimal + nullable: true + state: + type: string + nullable: true + type: + type: string + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + completedDate: + type: string + nullable: true + contact: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + manager: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + assigned: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' + tasks: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobTaskDto' + JobStateListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + jobStates: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' + QuoteListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + quotes: + type: array + nullable: true + items: + $ref: '#/components/schemas/QuoteDto' + QuoteDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + description: + type: string + nullable: true + id: + type: string + nullable: true + type: + type: string + nullable: true + state: + type: string + nullable: true + budget: + type: number + format: decimal + nullable: true + optionExplanation: + type: string + nullable: true + date: + type: string + nullable: true + validDate: + type: string + nullable: true + estimatedCost: + type: number + format: decimal + nullable: true + estimatedCostTax: + type: number + format: decimal + nullable: true + estimatedCostIncludingTax: + type: number + format: decimal + nullable: true + amount: + type: number + format: decimal + nullable: true + amountTax: + type: number + format: decimal + nullable: true + amountIncludingTax: + type: number + format: decimal + nullable: true + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/QuotePartyDto' + contact: + nullable: true + oneOf: + - $ref: '#/components/schemas/QuotePartyDto' + tasks: + type: array + nullable: true + items: + $ref: '#/components/schemas/QuoteTaskDto' + costs: + type: array + nullable: true + items: + $ref: '#/components/schemas/QuoteCostDto' + options: + type: array + nullable: true + items: + $ref: '#/components/schemas/QuoteOptionDto' + QuotePartyDto: + allOf: + - $ref: '#/components/schemas/NamedEntityDto' + - type: object + additionalProperties: false + QuoteTaskDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + description: + type: string + nullable: true + estimatedMinutes: + type: integer + format: int32 + nullable: true + billableRate: + type: number + format: decimal + nullable: true + billable: + type: string + nullable: true + amount: + type: number + format: decimal + nullable: true + amountTax: + type: number + format: decimal + nullable: true + amountIncludingTax: + type: number + format: decimal + nullable: true + QuoteCostDto: + type: object + additionalProperties: false + properties: + description: + type: string + nullable: true + note: + type: string + nullable: true + code: + type: string + nullable: true + billable: + type: string + nullable: true + quantity: + type: number + format: decimal + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + amount: + type: number + format: decimal + nullable: true + amountTax: + type: number + format: decimal + nullable: true + amountIncludingTax: + type: number + format: decimal + nullable: true + QuoteOptionDto: + type: object + additionalProperties: false + properties: + description: + type: string + nullable: true + note: + type: string + nullable: true + code: + type: string + nullable: true + quantity: + type: number + format: decimal + nullable: true + unitCost: + type: number + format: decimal + nullable: true + unitPrice: + type: number + format: decimal + nullable: true + amount: + type: number + format: decimal + nullable: true + amountTax: + type: number + format: decimal + nullable: true + amountIncludingTax: + type: number + format: decimal + nullable: true + QuoteResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + quote: + nullable: true + oneOf: + - $ref: '#/components/schemas/QuoteDto' + StaffListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + staffList: + type: array + nullable: true + items: + $ref: '#/components/schemas/StaffDto' + StaffDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + name: + type: string + nullable: true + email: + type: string + nullable: true + phone: + type: string + nullable: true + mobile: + type: string + nullable: true + address: + type: string + nullable: true + payrollCode: + type: string + nullable: true + webUrl: + type: string + nullable: true + StaffResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + staff: + nullable: true + oneOf: + - $ref: '#/components/schemas/StaffDto' + StaffAddRequestDto: + type: object + additionalProperties: false + properties: + name: + type: string + nullable: true + payrollCode: + type: string + nullable: true + address: + type: string + nullable: true + phone: + type: string + nullable: true + mobile: + type: string + nullable: true + email: + type: string + nullable: true + StaffUpdateRequestDto: + allOf: + - $ref: '#/components/schemas/StaffAddRequestDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + StaffIdentifierRequestDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + TaskListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + taskList: + type: array + nullable: true + items: + $ref: '#/components/schemas/TaskDto' + TaskDto: + allOf: + - $ref: '#/components/schemas/SimpleEntityDto' + - type: object + additionalProperties: false + TaskResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + task: + nullable: true + oneOf: + - $ref: '#/components/schemas/TaskDto' + TemplateResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + templates: + type: array + nullable: true + items: + $ref: '#/components/schemas/TemplateDto' + TemplateDto: + allOf: + - $ref: '#/components/schemas/NamedEntityDto' + - type: object + additionalProperties: false + TimeListResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + times: + type: array + nullable: true + items: + $ref: '#/components/schemas/TimeDto' + TimeDto: + type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + job: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobReferenceDto' + task: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + staff: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + date: + type: string + nullable: true + minutes: + type: integer + format: int32 + nullable: true + note: + type: string + nullable: true + billable: + type: boolean + nullable: true + start: + type: string + nullable: true + end: + type: string + nullable: true + invoiceTaskUuid: + type: string + nullable: true + webUrl: + type: string + nullable: true + JobReferenceDto: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + name: + type: string + nullable: true + TimeResponseDto: + allOf: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + time: + nullable: true + oneOf: + - $ref: '#/components/schemas/TimeDto' + TimeAddRequestDto: + type: object + additionalProperties: false + properties: + job: + type: string + nullable: true + staffUuid: + type: string + nullable: true + taskUuid: + type: string + nullable: true + date: + type: string + nullable: true + minutes: + type: string + nullable: true + start: + type: string + nullable: true + end: + type: string + nullable: true + note: + type: string + nullable: true + TimeUpdateRequestDto: + allOf: + - $ref: '#/components/schemas/TimeAddRequestDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true + securitySchemes: + OAuth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: https://login.xero.com/identity/connect/authorize + tokenUrl: https://identity.xero.com/connect/token + scopes: + openid: Your application intends to use the user's identity + profile: First name, last name, full name and Xero user id + email: Email address + practicemanager: View and manage your Practice Manager data + practicemanager.read: View your Practice Manager data + practicemanager.client: View and manage your Practice Manager client data + practicemanager.client.read: View your Practice Manager client data + practicemanager.job: View and manage your Practice Manager job data + practicemanager.job.read: View your Practice Manager job data + practicemanager.staff: View and manage your Practice Manager staff data + practicemanager.staff.read: View your Practice Manager staff data + practicemanager.time: View and manage your Practice Manager time data + practicemanager.time.read: View your Practice Manager time data + From e886ff794942b8dfec90b923760f1c1c7a890016 Mon Sep 17 00:00:00 2001 From: Quentin Heng Date: Wed, 29 Apr 2026 12:50:09 +1200 Subject: [PATCH 2/2] fix linting errors --- .spectral.yaml | 7 + xero-practicemanager-v3-1.yaml | 4893 ++++++++++++++++---------------- 2 files changed, 2453 insertions(+), 2447 deletions(-) diff --git a/.spectral.yaml b/.spectral.yaml index 7203e7d96..82bfb5f7c 100644 --- a/.spectral.yaml +++ b/.spectral.yaml @@ -160,3 +160,10 @@ rules: path-params: off # Disable path parameter validation to address mapping key issues owasp:api8:2023-define-cors-origin: off # Disable CORS origin header requirement oas3-operation-security-defined: error # Ensure all scopes are listed in schema + +overrides: + - files: + - "xero-practicemanager-v3-1.yaml#/paths/~1v3.1~1client.api~1paged-list/get/parameters/3" + - "xero-practicemanager-v3-1.yaml#/paths/~1v3.1~1client.api~1contacts/get/parameters/3" + rules: + owasp:api2:2023-no-credentials-in-url: off # pageToken is a pagination token, not a credential diff --git a/xero-practicemanager-v3-1.yaml b/xero-practicemanager-v3-1.yaml index 5df93355d..c20789562 100644 --- a/xero-practicemanager-v3-1.yaml +++ b/xero-practicemanager-v3-1.yaml @@ -9,26 +9,26 @@ info: email: api@xero.com version: v3.1 servers: -- url: https://api.xero.com/practicemanager/3.1 - description: Xero Practice Manager API + - url: https://api.xero.com/practicemanager/ + description: Xero Practice Manager API paths: /v3.1/category.api/list: get: tags: - - CategoryV31 + - CategoryV31 summary: Return a list of all categories operationId: CategoryV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string responses: "200": description: The request was successful. @@ -43,36 +43,36 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/client.api/list: get: tags: - - ClientV31 + - ClientV31 summary: Return a list of all clients operationId: ClientV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed client information including notes, groups, and relationships. - schema: - type: boolean - - name: modifiedSince - in: query - description: 'Return clients modified since this date. Format: yyyy-MM-ddTHH:mm:ss.' - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed client information including notes, groups, and relationships. + schema: + type: boolean + - name: modifiedSince + in: query + description: 'Return clients modified since this date. Format: yyyy-MM-ddTHH:mm:ss.' + schema: + type: string responses: "200": description: The request was successful. @@ -87,41 +87,41 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/client.api/paged-list: get: tags: - - ClientV31 + - ClientV31 summary: Return a paginated subset of non-archived and non-deleted clients. operationId: ClientV31_PagedList parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: pageSize - in: query - schema: - type: integer - format: int32 - default: 50 - x-position: 1 - - name: pageToken - in: query - schema: - type: string - nullable: true - x-position: 2 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: pageSize + in: query + schema: + type: integer + format: int32 + default: 50 + x-position: 1 + - name: pageToken + in: query + schema: + type: string + nullable: true + x-position: 2 responses: "200": description: The request was successful. @@ -148,38 +148,38 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/client.api/search: get: tags: - - ClientV31 + - ClientV31 summary: Return a list of all clients matching search query operationId: ClientV31_Search parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: query - in: query - description: Search term to find clients by name or other fields. - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed client information including notes, groups, and relationships. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: query + in: query + description: Search term to find clients by name or other fields. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed client information including notes, groups, and relationships. + schema: + type: boolean responses: "200": description: The request was successful. @@ -194,34 +194,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/client.api/get/{identifier}: get: tags: - - ClientV31 + - ClientV31 summary: Detailed information for a specific client operationId: ClientV31_GetByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -236,28 +236,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/client.api/add: post: tags: - - ClientV31 + - ClientV31 summary: Create a new client and add new contacts to it operationId: ClientV31_Add parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -278,26 +278,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/update: put: tags: - - ClientV31 + - ClientV31 summary: Update a client's details operationId: ClientV31_Update parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -324,39 +324,39 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/contacts: get: tags: - - ClientV31 + - ClientV31 summary: Return a paginated subset of non-deleted contacts. operationId: ClientV31_Contacts parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: pageSize - in: query - schema: - type: integer - format: int32 - default: 50 - x-position: 1 - - name: pageToken - in: query - schema: - type: string - nullable: true - x-position: 2 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: pageSize + in: query + schema: + type: integer + format: int32 + default: 50 + x-position: 1 + - name: pageToken + in: query + schema: + type: string + nullable: true + x-position: 2 responses: "200": description: The request was successful. @@ -389,28 +389,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/client.api/contact: post: tags: - - ClientV31 + - ClientV31 summary: Create a new contact and add it to a client operationId: ClientV31_ContactPost parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -437,38 +437,38 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/contact/{identifier}: get: tags: - - ClientV31 + - ClientV31 summary: Detailed information for a specific contact operationId: ClientV31_ContactGet parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 - - name: clientUuid - in: query - schema: - type: string - nullable: true - x-position: 2 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: clientUuid + in: query + schema: + type: string + nullable: true + x-position: 2 responses: "200": description: The request was successful. @@ -489,39 +489,39 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read put: tags: - - ClientV31 + - ClientV31 summary: Update or delete a contact operationId: ClientV31_ContactPUT parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 - - name: clientUuid - in: query - schema: - type: string - nullable: true - x-position: 2 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: clientUuid + in: query + schema: + type: string + nullable: true + x-position: 2 requestBody: content: application/json: @@ -548,37 +548,37 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client delete: tags: - - ClientV31 + - ClientV31 summary: Update or delete a contact operationId: ClientV31_ContactDELETE parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 - - name: clientUuid - in: query - schema: - type: string - nullable: true - x-position: 2 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: clientUuid + in: query + schema: + type: string + nullable: true + x-position: 2 responses: "200": description: The request was successful. @@ -599,33 +599,33 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/client/{identifier}/contacts: post: tags: - - ClientV31 + - ClientV31 summary: Add contacts to a client. Up to 10 contacts can be added to a client per request. operationId: ClientV31_ClientContact parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - nullable: true - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + nullable: true + x-position: 1 requestBody: content: application/json: @@ -664,26 +664,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/archive: put: tags: - - ClientV31 + - ClientV31 summary: Archive a client operationId: ClientV31_Archive parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -710,26 +710,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/delete: post: tags: - - ClientV31 + - ClientV31 summary: Delete a client operationId: ClientV31_Delete parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -756,26 +756,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/document: post: tags: - - ClientV31 + - ClientV31 summary: Add a document to a client operationId: ClientV31_Document parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -796,32 +796,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/documents/{identifier}: get: tags: - - ClientV31 + - ClientV31 summary: Return a list of documents for a client operationId: ClientV31_Documents parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -836,28 +836,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/client.api/addrelationship: post: tags: - - ClientV31 + - ClientV31 summary: Add a relationship between clients operationId: ClientV31_AddRelationship parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -878,26 +878,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/updaterelationship: put: tags: - - ClientV31 + - ClientV31 summary: Update the relationship details between clients operationId: ClientV31_UpdateRelationship parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -918,26 +918,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/deleterelationship: post: tags: - - ClientV31 + - ClientV31 summary: Delete the relationship between clients operationId: ClientV31_DeleteRelationship parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -958,32 +958,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/clientgroup.api/get/{identifier}: get: tags: - - ClientGroupV31 + - ClientGroupV31 summary: Detailed information for a specific client group operationId: ClientGroupV31_GetByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -998,28 +998,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/clientgroup.api/list: get: tags: - - ClientGroupV31 + - ClientGroupV31 summary: Return a list of all client groups operationId: ClientGroupV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string responses: "200": description: The request was successful. @@ -1034,28 +1034,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/clientgroup.api/add: post: tags: - - ClientGroupV31 + - ClientGroupV31 summary: Add a client group operationId: ClientGroupV31_Add parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -1076,26 +1076,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/clientgroup.api/members: put: tags: - - ClientGroupV31 + - ClientGroupV31 summary: Manage the members of a client group operationId: ClientGroupV31_Members parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -1116,26 +1116,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/clientgroup.api/delete: post: tags: - - ClientGroupV31 + - ClientGroupV31 summary: Delete a client group operationId: ClientGroupV31_Delete parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -1156,32 +1156,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/cost.api/get/{identifier}: get: tags: - - CostV31 + - CostV31 summary: Detailed information for a specific cost operationId: CostV31_GetByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1196,26 +1196,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/cost.api/delete: post: tags: - - CostV31 + - CostV31 summary: Delete a cost operationId: CostV31_Delete parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -1236,25 +1236,25 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager + - OAuth2: + - practicemanager /v3.1/cost.api/deleteall: post: tags: - - CostV31 + - CostV31 summary: Delete all costs operationId: CostV31_DeleteAll parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -1275,25 +1275,25 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager + - OAuth2: + - practicemanager /v3.1/cost.api/add: post: tags: - - CostV31 + - CostV31 summary: Add a cost operationId: CostV31_Add parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -1314,25 +1314,25 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager + - OAuth2: + - practicemanager /v3.1/cost.api/update: put: tags: - - CostV31 + - CostV31 summary: Update a cost operationId: CostV31_Update parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -1353,32 +1353,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager + - OAuth2: + - practicemanager /v3.1/cost.api/list: get: tags: - - CostV31 + - CostV31 summary: Return a list of all costs operationId: CostV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: page - in: query - required: true - description: Page number (1-based) for paginated results. - schema: - type: integer - format: int32 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: page + in: query + required: true + description: Page number (1-based) for paginated results. + schema: + type: integer + format: int32 responses: "200": description: The request was successful. @@ -1393,32 +1393,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/client.api/get/{identifier}/customfield: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Retrieve custom field data for a specific client operationId: CustomFieldV31_GetClientByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1433,34 +1433,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read /v3.1/client.api/update/{identifier}/customfield: put: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Update custom field data for a specific client operationId: CustomFieldV31_UpdateClientByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 requestBody: content: application/json: @@ -1481,32 +1481,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/client.api/contact/{identifier}/customfield: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Retrieve custom field data for a specific contact operationId: CustomFieldV31_GetContactByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1521,33 +1521,33 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.client - - practicemanager.client.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.client + - practicemanager.client.read put: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Update custom field data for a specific contact operationId: CustomFieldV31_UpdateContactByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 requestBody: content: application/json: @@ -1568,32 +1568,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.client + - OAuth2: + - practicemanager + - practicemanager.client /v3.1/job.api/get/{jobNumber}/customfield: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Retrieve custom field data for a specific job operationId: CustomFieldV31_GetJob parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1608,34 +1608,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/update/{jobNumber}/customfield: put: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Update custom field data for a specific job operationId: CustomFieldV31_UpdateJob parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 requestBody: content: application/json: @@ -1656,32 +1656,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/time.api/get/{identifier}/customfield: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Retrieve custom field data for a specific time entry operationId: CustomFieldV31_GetTimeByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1696,34 +1696,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.time - - practicemanager.time.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read /v3.1/time.api/update/{identifier}/customfield: put: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Update custom field data for a specific time entry operationId: CustomFieldV31_UpdateTimeByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 requestBody: content: application/json: @@ -1744,32 +1744,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.time + - OAuth2: + - practicemanager + - practicemanager.time /v3.1/job.api/task/{identifier}/customfield: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Retrieve custom field data for a specific job task operationId: CustomFieldV31_GetJobTaskByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1784,33 +1784,33 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read put: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Update custom field data for a specific job task operationId: CustomFieldV31_UpdateJobTaskByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 requestBody: content: application/json: @@ -1831,32 +1831,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/cost/{identifier}/customfield: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Retrieve custom field data for a specific job cost operationId: CustomFieldV31_GetJobCostByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1871,33 +1871,33 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read put: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Update custom field data for a specific job cost operationId: CustomFieldV31_UpdateJobCostByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 requestBody: content: application/json: @@ -1918,26 +1918,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/customfield.api/definition: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Return a list of all the custom fields operationId: CustomFieldV31_Definition parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string responses: "200": description: The request was successful. @@ -1952,32 +1952,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/customfield.api/get/{identifier}: get: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Detailed information for a specific custom field operationId: CustomFieldV31_GetByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -1992,26 +1992,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/customfield.api/add: post: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Add a new custom field operationId: CustomFieldV31_Add parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2032,25 +2032,25 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager + - OAuth2: + - practicemanager /v3.1/customfield.api/update: put: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Update data for a specific custom field operationId: CustomFieldV31_Update parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2071,25 +2071,25 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager + - OAuth2: + - practicemanager /v3.1/customfield.api/delete: post: tags: - - CustomFieldV31 + - CustomFieldV31 summary: Delete a custom field operationId: CustomFieldV31_Delete parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2110,30 +2110,30 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager + - OAuth2: + - practicemanager /v3.1/invoice.api/current: get: tags: - - InvoiceV31 + - InvoiceV31 summary: Return a list of current invoices operationId: InvoiceV31_Current parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed invoice information including jobs, tasks, and costs. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed invoice information including jobs, tasks, and costs. + schema: + type: boolean responses: "200": description: The request was successful. @@ -2148,31 +2148,31 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/invoice.api/draft: get: tags: - - InvoiceV31 + - InvoiceV31 summary: Return a list of draft invoices operationId: InvoiceV31_Draft parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed invoice information including jobs, tasks, and costs. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed invoice information including jobs, tasks, and costs. + schema: + type: boolean responses: "200": description: The request was successful. @@ -2187,43 +2187,43 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/invoice.api/list: get: tags: - - InvoiceV31 + - InvoiceV31 summary: Return a list of current and archived invoices operationId: InvoiceV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: from - in: query - required: true - description: 'Start date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: to - in: query - required: true - description: 'End date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed invoice information including jobs, tasks, and costs. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed invoice information including jobs, tasks, and costs. + schema: + type: boolean responses: "200": description: The request was successful. @@ -2238,32 +2238,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/invoice.api/job/{jobNumber}: get: tags: - - InvoiceV31 + - InvoiceV31 summary: Returns a list of invoices for a specific job operationId: InvoiceV31_Job parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -2278,32 +2278,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/invoice.api/get/{invoiceNumber}: get: tags: - - InvoiceV31 + - InvoiceV31 summary: Detailed information for a specific invoice operationId: InvoiceV31_Get parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: invoiceNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: invoiceNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -2318,32 +2318,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/invoice.api/payments/{invoiceNumber}: get: tags: - - InvoiceV31 + - InvoiceV31 summary: Return a list of payments for an invoice operationId: InvoiceV31_Payments parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: invoiceNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: invoiceNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -2358,31 +2358,31 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/job.api/current: get: tags: - - JobV31 + - JobV31 summary: Returns a list of current jobs operationId: JobV31_Current parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed job information including tasks, milestones, and notes. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed job information including tasks, milestones, and notes. + schema: + type: boolean responses: "200": description: The request was successful. @@ -2397,45 +2397,45 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/list: get: tags: - - JobV31 + - JobV31 summary: Return a list of all jobs operationId: JobV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: from - in: query - required: true - description: 'Start date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: to - in: query - required: true - description: 'End date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed job information including tasks, milestones, and notes. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed job information including tasks, milestones, and notes. + schema: + type: boolean responses: "200": description: The request was successful. @@ -2450,39 +2450,39 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/client/{identifier}: get: tags: - - JobV31 + - JobV31 summary: Return a list of all jobs assigned for a specific client operationId: JobV31_ClientByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 - - name: detailed - in: query - description: If true, returns detailed job information including tasks, milestones, and notes. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: detailed + in: query + description: If true, returns detailed job information including tasks, milestones, and notes. + schema: + type: boolean responses: "200": description: The request was successful. @@ -2497,34 +2497,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/get/{jobNumber}: get: tags: - - JobV31 + - JobV31 summary: Detailed information for a specific job operationId: JobV31_Get parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -2539,28 +2539,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/state: put: tags: - - JobV31 + - JobV31 summary: Update the state of a specific job operationId: JobV31_State parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2581,26 +2581,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/add: post: tags: - - JobV31 + - JobV31 summary: Add a job operationId: JobV31_Add parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2621,26 +2621,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/update: put: tags: - - JobV31 + - JobV31 summary: Update a job operationId: JobV31_Update parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2661,26 +2661,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/reordertasks: put: tags: - - JobV31 + - JobV31 summary: Reorder the tasks on a job operationId: JobV31_ReOrderTasks parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2701,26 +2701,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/note: post: tags: - - JobV31 + - JobV31 summary: Add a note to a job operationId: JobV31_Note parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2741,26 +2741,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/document: post: tags: - - JobV31 + - JobV31 summary: Add a document to a job operationId: JobV31_Document parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2781,41 +2781,41 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/tasks: get: tags: - - JobV31 + - JobV31 summary: Return a list of jobs and their tasks matching the specified criteria operationId: JobV31_Tasks parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: complete - in: query - description: "Filter tasks by completion status. Values: 'true' or 'false'." - schema: - type: string - - name: due - in: query - description: 'Filter tasks due on or before this date. Format: yyyyMMdd.' - schema: - type: string - - name: start - in: query - description: 'Filter tasks starting on or after this date. Format: yyyyMMdd.' - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: complete + in: query + description: "Filter tasks by completion status. Values: 'true' or 'false'." + schema: + type: string + - name: due + in: query + description: 'Filter tasks due on or before this date. Format: yyyyMMdd.' + schema: + type: string + - name: start + in: query + description: 'Filter tasks starting on or after this date. Format: yyyyMMdd.' + schema: + type: string responses: "200": description: The request was successful. @@ -2830,28 +2830,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/assign: put: tags: - - JobV31 + - JobV31 summary: Assign staff to a job operationId: JobV31_Assign parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2872,26 +2872,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/delete: post: tags: - - JobV31 + - JobV31 summary: Delete a job operationId: JobV31_Delete parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2912,26 +2912,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/task: post: tags: - - JobV31 + - JobV31 summary: Add a task to a job operationId: JobV31_TaskAdd parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2952,25 +2952,25 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job put: tags: - - JobV31 + - JobV31 summary: Update a task on a job operationId: JobV31_TaskUpdate parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -2991,32 +2991,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/costs/{jobNumber}: get: tags: - - JobV31 + - JobV31 summary: Return a list of costs for a job operationId: JobV31_Costs parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3031,28 +3031,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/cost: post: tags: - - JobV31 + - JobV31 summary: Add a cost to a job operationId: JobV31_CostAdd parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3073,25 +3073,25 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job put: tags: - - JobV31 + - JobV31 summary: Update a cost on a job operationId: JobV31_CostUpdate parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3112,26 +3112,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/applytemplate: post: tags: - - JobV31 + - JobV31 summary: Apply an additional template to a job operationId: JobV31_ApplyTemplate parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3152,32 +3152,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/documents/{id}: get: tags: - - JobV31 + - JobV31 summary: Return a list of documents for a job operationId: JobV31_Documents parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: id - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3192,34 +3192,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/job.api/task/{identifier}/complete: put: tags: - - JobV31 + - JobV31 summary: Complete a task on a job operationId: JobV31_CompleteTask parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3234,32 +3234,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/task/{identifier}/reopen: put: tags: - - JobV31 + - JobV31 summary: Re-open a task on a job operationId: JobV31_ReOpenTask parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3274,32 +3274,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/createquote/{jobNumber}: post: tags: - - JobV31 + - JobV31 summary: Create a quote based on the job operationId: JobV31_CreateQuote parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3314,32 +3314,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/createestimate/{jobNumber}: post: tags: - - JobV31 + - JobV31 summary: Create an estimate based on the job operationId: JobV31_CreateEstimate parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3354,32 +3354,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.job + - OAuth2: + - practicemanager + - practicemanager.job /v3.1/job.api/staff/{identifier}: get: tags: - - Job2V31 + - Job2V31 summary: Return a list of all current jobs assigned to a staff member operationId: Job2V31_StaffByIdentifier parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3394,26 +3394,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager.job + - practicemanager.job.read /v3.1/jobstate.api/list: get: tags: - - JobStateV31 + - JobStateV31 summary: Return a list of all job states operationId: JobStateV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string responses: "200": description: The request was successful. @@ -3428,34 +3428,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.job - - practicemanager.job.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.job + - practicemanager.job.read /v3.1/quote.api/current: get: tags: - - QuoteV31 + - QuoteV31 summary: Return a list of current quotes operationId: QuoteV31_Current parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: detailed - in: query - schema: - type: boolean - default: false - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + schema: + type: boolean + default: false + x-position: 1 responses: "200": description: The request was successful. @@ -3470,32 +3470,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/quote.api/draft: get: tags: - - QuoteV31 + - QuoteV31 summary: Return a list of draft quotes operationId: QuoteV31_Draft parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: detailed - in: query - schema: - type: boolean - default: false - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: detailed + in: query + schema: + type: boolean + default: false + x-position: 1 responses: "200": description: The request was successful. @@ -3510,43 +3510,43 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/quote.api/list: get: tags: - - QuoteV31 + - QuoteV31 summary: Return a list of current and archived quotes operationId: QuoteV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: from - in: query - required: true - description: 'Start date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: to - in: query - required: true - description: 'End date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: detailed - in: query - description: If true, returns detailed quote information including tasks, costs, and options. - schema: - type: boolean + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: detailed + in: query + description: If true, returns detailed quote information including tasks, costs, and options. + schema: + type: boolean responses: "200": description: The request was successful. @@ -3561,32 +3561,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/quote.api/get/{quoteNumber}: get: tags: - - QuoteV31 + - QuoteV31 summary: Detailed information for a specific quote operationId: QuoteV31_Get parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: quoteNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: quoteNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3601,26 +3601,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/staff.api/list: get: tags: - - StaffV31 + - StaffV31 summary: Return a list of all staff members operationId: StaffV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string responses: "200": description: The request was successful. @@ -3635,34 +3635,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.staff - - practicemanager.staff.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.staff + - practicemanager.staff.read /v3.1/staff.api/get/{identifier}: get: tags: - - StaffV31 + - StaffV31 summary: Details for a specific staff member operationId: StaffV31_GetByUuid parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3677,28 +3677,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.staff - - practicemanager.staff.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.staff + - practicemanager.staff.read /v3.1/staff.api/add: post: tags: - - StaffV31 + - StaffV31 summary: Add a staff member operationId: StaffV31_Add parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3719,26 +3719,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.staff + - OAuth2: + - practicemanager + - practicemanager.staff /v3.1/staff.api/update: put: tags: - - StaffV31 + - StaffV31 summary: Update a staff member's details operationId: StaffV31_Update parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3759,26 +3759,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.staff + - OAuth2: + - practicemanager + - practicemanager.staff /v3.1/staff.api/delete: post: tags: - - StaffV31 + - StaffV31 summary: Delete a staff member operationId: StaffV31_Delete parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3799,26 +3799,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.staff + - OAuth2: + - practicemanager + - practicemanager.staff /v3.1/staff.api/enable: post: tags: - - StaffV31 + - StaffV31 summary: Enable a staff member so they can log into Practice Manager operationId: StaffV31_Enable parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3839,26 +3839,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.staff + - OAuth2: + - practicemanager + - practicemanager.staff /v3.1/staff.api/disable: post: tags: - - StaffV31 + - StaffV31 summary: Disable a staff member so they can no longer log into Practice Manager operationId: StaffV31_Disable parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3879,26 +3879,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.staff + - OAuth2: + - practicemanager + - practicemanager.staff /v3.1/staff.api/forgottenpassword: post: tags: - - StaffV31 + - StaffV31 summary: Reset a staff member's password operationId: StaffV31_ForgottenPassword parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -3919,26 +3919,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.staff + - OAuth2: + - practicemanager + - practicemanager.staff /v3.1/task.api/list: get: tags: - - TaskV31 + - TaskV31 summary: Return a list of all tasks operationId: TaskV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string responses: "200": description: The request was successful. @@ -3953,32 +3953,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/task.api/get/{identifier}: get: tags: - - TaskV31 + - TaskV31 summary: Details for a specific task operationId: TaskV31_Get parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -3993,26 +3993,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/template.api/list: get: tags: - - TemplateV31 + - TemplateV31 summary: Return a list of all templates operationId: TemplateV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string responses: "200": description: The request was successful. @@ -4027,32 +4027,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read + - OAuth2: + - practicemanager + - practicemanager.read /v3.1/time.api/job/{jobNumber}: get: tags: - - TimeV31 + - TimeV31 summary: Returns a list of time sheet entries for a specific job operationId: TimeV31_Job parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: jobNumber - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: jobNumber + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -4067,40 +4067,40 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.time - - practicemanager.time.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read /v3.1/time.api/list: get: tags: - - TimeV31 + - TimeV31 summary: Return a list of time sheet entries operationId: TimeV31_List parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: from - in: query - required: true - description: 'Start date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: to - in: query - required: true - description: 'End date for the date range filter. Format: yyyyMMdd.' - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string responses: "200": description: The request was successful. @@ -4121,46 +4121,46 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.time - - practicemanager.time.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read /v3.1/time.api/staff/{identifier}: get: tags: - - TimeV31 + - TimeV31 summary: Return a list of time sheet entries for a specific staff member operationId: TimeV31_Staff parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 - - name: from - in: query - required: true - description: 'Start date for the date range filter. Format: yyyyMMdd.' - schema: - type: string - - name: to - in: query - required: true - description: 'End date for the date range filter. Format: yyyyMMdd.' - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 + - name: from + in: query + required: true + description: 'Start date for the date range filter. Format: yyyyMMdd.' + schema: + type: string + - name: to + in: query + required: true + description: 'End date for the date range filter. Format: yyyyMMdd.' + schema: + type: string responses: "200": description: The request was successful. @@ -4181,34 +4181,34 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.time - - practicemanager.time.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read /v3.1/time.api/get/{identifier}: get: tags: - - TimeV31 + - TimeV31 summary: Detailed information for a specific time entry operationId: TimeV31_Get parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -4223,28 +4223,28 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.read - - practicemanager.time - - practicemanager.time.read + - OAuth2: + - practicemanager + - practicemanager.read + - practicemanager.time + - practicemanager.time.read /v3.1/time.api/add: post: tags: - - TimeV31 + - TimeV31 summary: Add a time sheet entry to a job operationId: TimeV31_Add parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -4265,26 +4265,26 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.time + - OAuth2: + - practicemanager + - practicemanager.time /v3.1/time.api/update: put: tags: - - TimeV31 + - TimeV31 summary: Update a time sheet entry on a job operationId: TimeV31_Update parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string requestBody: content: application/json: @@ -4305,32 +4305,32 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.time + - OAuth2: + - practicemanager + - practicemanager.time /v3.1/time.api/delete/{identifier}: delete: tags: - - TimeV31 + - TimeV31 summary: Delete a specific time sheet entry operationId: TimeV31_Delete parameters: - - name: Xero-Features - in: header - description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. - schema: - type: string - - name: fields - in: query - description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. - schema: - type: string - - name: identifier - in: path - required: true - schema: - type: string - x-position: 1 + - name: Xero-Features + in: header + description: Comma-separated feature flags. Include 'practice-strict-content-type' to enable strict Accept/Content-Type negotiation. + schema: + type: string + - name: fields + in: query + description: Comma-separated list of fields to include in the response. When omitted, all fields are returned. + schema: + type: string + - name: identifier + in: path + required: true + schema: + type: string + x-position: 1 responses: "200": description: The request was successful. @@ -4345,22 +4345,22 @@ paths: schema: $ref: '#/components/schemas/ResponseErrorDto' security: - - OAuth2: - - practicemanager - - practicemanager.time + - OAuth2: + - practicemanager + - practicemanager.time components: schemas: CategoryResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - categories: - type: array - nullable: true - items: - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + categories: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' NamedEntityDto: type: object additionalProperties: false @@ -4380,45 +4380,45 @@ components: nullable: true ResponseErrorDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - errorDescription: - type: string - nullable: true + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + errorDescription: + type: string + nullable: true ClientListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - clients: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientDetailedDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + clients: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientDetailedDto' ClientDetailedDto: allOf: - - $ref: '#/components/schemas/ClientDto' - - type: object - additionalProperties: false - properties: - notes: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientNoteDto' - groups: - type: array - nullable: true - items: - $ref: '#/components/schemas/NamedEntityDto' - relationships: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientRelationshipDto' + - $ref: '#/components/schemas/ClientDto' + - type: object + additionalProperties: false + properties: + notes: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientNoteDto' + groups: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' + relationships: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientRelationshipDto' ClientNoteDto: type: object additionalProperties: false @@ -4454,7 +4454,7 @@ components: relatedClient: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' numberOfShares: type: integer format: int32 @@ -4471,15 +4471,15 @@ components: nullable: true ClientDto: allOf: - - $ref: '#/components/schemas/ClientBaseDto' - - type: object - additionalProperties: false - properties: - contacts: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientContactDto' + - $ref: '#/components/schemas/ClientBaseDto' + - type: object + additionalProperties: false + properties: + contacts: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientContactDto' ClientContactDto: type: object additionalProperties: false @@ -4617,19 +4617,19 @@ components: accountManager: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' jobManager: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' type: nullable: true oneOf: - - $ref: '#/components/schemas/ClientTypeDto' + - $ref: '#/components/schemas/ClientTypeDto' billingClient: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' taxNumber: type: string nullable: true @@ -4707,7 +4707,7 @@ components: autoBasOptInCriteria: nullable: true oneOf: - - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' + - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' webUrl: type: string nullable: true @@ -4747,19 +4747,19 @@ components: nullable: true ClientPagedListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - clients: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientBaseDto' - pagination: - nullable: true - oneOf: - - $ref: '#/components/schemas/PaginationDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + clients: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientBaseDto' + pagination: + nullable: true + oneOf: + - $ref: '#/components/schemas/PaginationDto' PaginationDto: type: object additionalProperties: false @@ -4767,7 +4767,7 @@ components: links: nullable: true oneOf: - - $ref: '#/components/schemas/PaginationLinksDto' + - $ref: '#/components/schemas/PaginationLinksDto' PaginationLinksDto: type: object additionalProperties: false @@ -4780,14 +4780,14 @@ components: nullable: true ClientResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - client: - nullable: true - oneOf: - - $ref: '#/components/schemas/ClientDetailedDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientDetailedDto' ClientAddRequestDto: type: object additionalProperties: false @@ -4941,7 +4941,7 @@ components: autoBasOptInCriteria: nullable: true oneOf: - - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' + - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' returnType: type: string nullable: true @@ -5140,7 +5140,7 @@ components: autoBasOptInCriteria: nullable: true oneOf: - - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' + - $ref: '#/components/schemas/AutoBasOptInCriteriaDto' returnType: type: string nullable: true @@ -5152,29 +5152,29 @@ components: nullable: true ClientContactsResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - contacts: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientContactDto' - pagination: - nullable: true - oneOf: - - $ref: '#/components/schemas/PaginationDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + contacts: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientContactDto' + pagination: + nullable: true + oneOf: + - $ref: '#/components/schemas/PaginationDto' ClientContactResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - contact: - nullable: true - oneOf: - - $ref: '#/components/schemas/ClientContactDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + contact: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientContactDto' ContactRequestDto: type: object additionalProperties: false @@ -5206,7 +5206,7 @@ components: client: nullable: true oneOf: - - $ref: '#/components/schemas/ContactRequestClientDto' + - $ref: '#/components/schemas/ContactRequestClientDto' ContactRequestClientDto: type: object additionalProperties: false @@ -5216,14 +5216,14 @@ components: nullable: true ClientAddContactsResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - client: - nullable: true - oneOf: - - $ref: '#/components/schemas/ClientAddContactsClientDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientAddContactsClientDto' ClientAddContactsClientDto: type: object additionalProperties: false @@ -5283,9 +5283,9 @@ components: nullable: true StatusResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false ClientDeleteRequestDto: type: object additionalProperties: false @@ -5295,13 +5295,13 @@ components: nullable: true UuidResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - uuid: - type: string - nullable: true + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true ClientDocumentRequestDto: type: object additionalProperties: false @@ -5326,15 +5326,15 @@ components: nullable: true ClientDocumentsResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - documents: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientDocumentDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + documents: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientDocumentDto' ClientDocumentDto: type: object additionalProperties: false @@ -5362,14 +5362,14 @@ components: nullable: true ClientRelationshipResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - clientRelationship: - nullable: true - oneOf: - - $ref: '#/components/schemas/ClientRelationshipDetailDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + clientRelationship: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientRelationshipDetailDto' ClientRelationshipDetailDto: type: object additionalProperties: false @@ -5380,15 +5380,15 @@ components: client: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' relatedClient: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' relationshipType: nullable: true oneOf: - - $ref: '#/components/schemas/ClientRelationshipTypeDto' + - $ref: '#/components/schemas/ClientRelationshipTypeDto' numberOfShares: type: integer format: int32 @@ -5467,25 +5467,25 @@ components: nullable: true ClientGroupResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - group: - nullable: true - oneOf: - - $ref: '#/components/schemas/ClientGroupDetailDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + group: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientGroupDetailDto' ClientGroupDetailDto: allOf: - - $ref: '#/components/schemas/ClientGroupDto' - - type: object - additionalProperties: false - properties: - clients: - type: array - nullable: true - items: - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/ClientGroupDto' + - type: object + additionalProperties: false + properties: + clients: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' ClientGroupDto: type: object additionalProperties: false @@ -5504,15 +5504,15 @@ components: nullable: true ClientGroupListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - groups: - type: array - nullable: true - items: - $ref: '#/components/schemas/ClientGroupDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + groups: + type: array + nullable: true + items: + $ref: '#/components/schemas/ClientGroupDto' ClientGroupAddRequestDto: type: object additionalProperties: false @@ -5559,14 +5559,14 @@ components: nullable: true CostResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - cost: - nullable: true - oneOf: - - $ref: '#/components/schemas/CostDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + cost: + nullable: true + oneOf: + - $ref: '#/components/schemas/CostDto' CostDto: type: object additionalProperties: false @@ -5600,7 +5600,7 @@ components: supplier: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' CostDeleteRequestDto: type: object additionalProperties: false @@ -5664,30 +5664,30 @@ components: nullable: true CostListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - records: - type: integer - format: int32 - nullable: true - costs: - type: array - nullable: true - items: - $ref: '#/components/schemas/CostDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + records: + type: integer + format: int32 + nullable: true + costs: + type: array + nullable: true + items: + $ref: '#/components/schemas/CostDto' CustomFieldValueListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - customFields: - type: array - nullable: true - items: - $ref: '#/components/schemas/CustomFieldValueDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + customFields: + type: array + nullable: true + items: + $ref: '#/components/schemas/CustomFieldValueDto' CustomFieldValueDto: type: object additionalProperties: false @@ -5753,15 +5753,15 @@ components: nullable: true CustomFieldDefinitionListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - customFieldDefinitions: - type: array - nullable: true - items: - $ref: '#/components/schemas/CustomFieldDefinitionDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + customFieldDefinitions: + type: array + nullable: true + items: + $ref: '#/components/schemas/CustomFieldDefinitionDto' CustomFieldDefinitionDto: type: object additionalProperties: false @@ -5810,14 +5810,14 @@ components: nullable: true CustomFieldDefinitionResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - customFieldDefinition: - nullable: true - oneOf: - - $ref: '#/components/schemas/CustomFieldDefinitionDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + customFieldDefinition: + nullable: true + oneOf: + - $ref: '#/components/schemas/CustomFieldDefinitionDto' AddCustomFieldDefinitionRequestDto: type: object additionalProperties: false @@ -5862,13 +5862,13 @@ components: nullable: true UpdateCustomFieldDefinitionRequestDto: allOf: - - $ref: '#/components/schemas/AddCustomFieldDefinitionRequestDto' - - type: object - additionalProperties: false - properties: - uuid: - type: string - nullable: true + - $ref: '#/components/schemas/AddCustomFieldDefinitionRequestDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true DeleteCustomFieldDefinitionRequestDto: type: object additionalProperties: false @@ -5878,17 +5878,17 @@ components: nullable: true InvoiceListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - invoices: - type: array - nullable: true - items: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + invoices: + type: array nullable: true - oneOf: - - $ref: '#/components/schemas/InvoiceDto' + items: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoiceDto' InvoiceDto: type: object additionalProperties: false @@ -5940,11 +5940,11 @@ components: client: nullable: true oneOf: - - $ref: '#/components/schemas/InvoicePartyDto' + - $ref: '#/components/schemas/InvoicePartyDto' contact: nullable: true oneOf: - - $ref: '#/components/schemas/InvoicePartyDto' + - $ref: '#/components/schemas/InvoicePartyDto' jobs: type: array nullable: true @@ -6074,27 +6074,27 @@ components: nullable: true InvoiceResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - invoice: - nullable: true - oneOf: - - $ref: '#/components/schemas/InvoiceDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + invoice: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoiceDto' InvoicePaymentsResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - payments: - type: array - nullable: true - items: + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + payments: + type: array nullable: true - oneOf: - - $ref: '#/components/schemas/InvoicePaymentDto' + items: + nullable: true + oneOf: + - $ref: '#/components/schemas/InvoicePaymentDto' InvoicePaymentDto: type: object additionalProperties: false @@ -6111,15 +6111,15 @@ components: nullable: true JobListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - jobs: - type: array - nullable: true - items: - $ref: '#/components/schemas/JobDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + jobs: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobDto' JobDto: type: object additionalProperties: false @@ -6139,7 +6139,7 @@ components: client: nullable: true oneOf: - - $ref: '#/components/schemas/JobPartyDto' + - $ref: '#/components/schemas/JobPartyDto' clientOrderNumber: type: string nullable: true @@ -6165,18 +6165,18 @@ components: contact: nullable: true oneOf: - - $ref: '#/components/schemas/JobPartyDto' + - $ref: '#/components/schemas/JobPartyDto' internalId: type: string nullable: true manager: nullable: true oneOf: - - $ref: '#/components/schemas/JobPartyDto' + - $ref: '#/components/schemas/JobPartyDto' partner: nullable: true oneOf: - - $ref: '#/components/schemas/JobPartyDto' + - $ref: '#/components/schemas/JobPartyDto' assigned: type: array nullable: true @@ -6226,53 +6226,53 @@ components: nullable: true JobTaskDto: allOf: - - $ref: '#/components/schemas/SimpleEntityDto' - - type: object - additionalProperties: false - properties: - taskUuid: - type: string - nullable: true - taskId: - type: string - nullable: true - estimatedMinutes: - type: integer - format: int32 - nullable: true - actualMinutes: - type: integer - format: int32 - nullable: true - completed: - type: boolean - nullable: true - billable: - type: boolean - nullable: true - folder: - type: string - nullable: true - startDate: - type: string - nullable: true - dueDate: - type: string - nullable: true - assigned: - type: array - nullable: true - items: - $ref: '#/components/schemas/JobStaffDto' + - $ref: '#/components/schemas/SimpleEntityDto' + - type: object + additionalProperties: false + properties: + taskUuid: + type: string + nullable: true + taskId: + type: string + nullable: true + estimatedMinutes: + type: integer + format: int32 + nullable: true + actualMinutes: + type: integer + format: int32 + nullable: true + completed: + type: boolean + nullable: true + billable: + type: boolean + nullable: true + folder: + type: string + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + assigned: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobStaffDto' SimpleEntityDto: allOf: - - $ref: '#/components/schemas/NamedEntityDto' - - type: object - additionalProperties: false - properties: - description: - type: string - nullable: true + - $ref: '#/components/schemas/NamedEntityDto' + - type: object + additionalProperties: false + properties: + description: + type: string + nullable: true JobMilestoneDto: type: object additionalProperties: false @@ -6337,14 +6337,14 @@ components: nullable: true JobResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - job: - nullable: true - oneOf: - - $ref: '#/components/schemas/JobDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + job: + nullable: true + oneOf: + - $ref: '#/components/schemas/JobDto' JobStateRequestDto: type: object additionalProperties: false @@ -6495,19 +6495,19 @@ components: add-manager: nullable: true oneOf: - - $ref: '#/components/schemas/JobAssignStaffOperationDto' + - $ref: '#/components/schemas/JobAssignStaffOperationDto' remove-manager: nullable: true oneOf: - - $ref: '#/components/schemas/JobAssignEmptyOperationDto' + - $ref: '#/components/schemas/JobAssignEmptyOperationDto' add-partner: nullable: true oneOf: - - $ref: '#/components/schemas/JobAssignStaffOperationDto' + - $ref: '#/components/schemas/JobAssignStaffOperationDto' remove-partner: nullable: true oneOf: - - $ref: '#/components/schemas/JobAssignEmptyOperationDto' + - $ref: '#/components/schemas/JobAssignEmptyOperationDto' add: type: array nullable: true @@ -6596,15 +6596,15 @@ components: nullable: true JobCostListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - costs: - type: array - nullable: true - items: - $ref: '#/components/schemas/JobCostDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + costs: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobCostDto' JobCostDto: type: object additionalProperties: false @@ -6642,7 +6642,7 @@ components: supplier: nullable: true oneOf: - - $ref: '#/components/schemas/JobCostSupplierDto' + - $ref: '#/components/schemas/JobCostSupplierDto' JobCostSupplierDto: type: object additionalProperties: false @@ -6742,15 +6742,15 @@ components: nullable: true JobDocumentsResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - documents: - type: array - nullable: true - items: - $ref: '#/components/schemas/JobDocumentDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + documents: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobDocumentDto' JobDocumentDto: type: object additionalProperties: false @@ -6778,108 +6778,108 @@ components: nullable: true CreateQuoteResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - id: - type: string - nullable: true + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + id: + type: string + nullable: true CreateEstimateResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - id: - type: string - nullable: true + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + id: + type: string + nullable: true Job2ResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - jobs: - type: array - nullable: true - items: - $ref: '#/components/schemas/Job2Dto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + jobs: + type: array + nullable: true + items: + $ref: '#/components/schemas/Job2Dto' Job2Dto: allOf: - - $ref: '#/components/schemas/SimpleEntityDto' - - type: object - additionalProperties: false - properties: - id: - type: string - nullable: true - client: - nullable: true - oneOf: - - $ref: '#/components/schemas/NamedEntityDto' - clientOrderNumber: - type: string - nullable: true - budget: - type: number - format: decimal - nullable: true - state: - type: string - nullable: true - type: - type: string - nullable: true - startDate: - type: string - nullable: true - dueDate: - type: string - nullable: true - completedDate: - type: string - nullable: true - contact: - nullable: true - oneOf: - - $ref: '#/components/schemas/NamedEntityDto' - manager: - nullable: true - oneOf: - - $ref: '#/components/schemas/NamedEntityDto' - assigned: - type: array - nullable: true - items: - $ref: '#/components/schemas/NamedEntityDto' - tasks: - type: array - nullable: true - items: - $ref: '#/components/schemas/JobTaskDto' + - $ref: '#/components/schemas/SimpleEntityDto' + - type: object + additionalProperties: false + properties: + id: + type: string + nullable: true + client: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + clientOrderNumber: + type: string + nullable: true + budget: + type: number + format: decimal + nullable: true + state: + type: string + nullable: true + type: + type: string + nullable: true + startDate: + type: string + nullable: true + dueDate: + type: string + nullable: true + completedDate: + type: string + nullable: true + contact: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + manager: + nullable: true + oneOf: + - $ref: '#/components/schemas/NamedEntityDto' + assigned: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' + tasks: + type: array + nullable: true + items: + $ref: '#/components/schemas/JobTaskDto' JobStateListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - jobStates: - type: array - nullable: true - items: - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + jobStates: + type: array + nullable: true + items: + $ref: '#/components/schemas/NamedEntityDto' QuoteListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - quotes: - type: array - nullable: true - items: - $ref: '#/components/schemas/QuoteDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + quotes: + type: array + nullable: true + items: + $ref: '#/components/schemas/QuoteDto' QuoteDto: type: object additionalProperties: false @@ -6939,11 +6939,11 @@ components: client: nullable: true oneOf: - - $ref: '#/components/schemas/QuotePartyDto' + - $ref: '#/components/schemas/QuotePartyDto' contact: nullable: true oneOf: - - $ref: '#/components/schemas/QuotePartyDto' + - $ref: '#/components/schemas/QuotePartyDto' tasks: type: array nullable: true @@ -6961,9 +6961,9 @@ components: $ref: '#/components/schemas/QuoteOptionDto' QuotePartyDto: allOf: - - $ref: '#/components/schemas/NamedEntityDto' - - type: object - additionalProperties: false + - $ref: '#/components/schemas/NamedEntityDto' + - type: object + additionalProperties: false QuoteTaskDto: type: object additionalProperties: false @@ -7076,25 +7076,25 @@ components: nullable: true QuoteResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - quote: - nullable: true - oneOf: - - $ref: '#/components/schemas/QuoteDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + quote: + nullable: true + oneOf: + - $ref: '#/components/schemas/QuoteDto' StaffListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - staffList: - type: array - nullable: true - items: - $ref: '#/components/schemas/StaffDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + staffList: + type: array + nullable: true + items: + $ref: '#/components/schemas/StaffDto' StaffDto: type: object additionalProperties: false @@ -7125,14 +7125,14 @@ components: nullable: true StaffResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - staff: - nullable: true - oneOf: - - $ref: '#/components/schemas/StaffDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + staff: + nullable: true + oneOf: + - $ref: '#/components/schemas/StaffDto' StaffAddRequestDto: type: object additionalProperties: false @@ -7157,13 +7157,13 @@ components: nullable: true StaffUpdateRequestDto: allOf: - - $ref: '#/components/schemas/StaffAddRequestDto' - - type: object - additionalProperties: false - properties: - uuid: - type: string - nullable: true + - $ref: '#/components/schemas/StaffAddRequestDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true StaffIdentifierRequestDto: type: object additionalProperties: false @@ -7173,57 +7173,57 @@ components: nullable: true TaskListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - taskList: - type: array - nullable: true - items: - $ref: '#/components/schemas/TaskDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + taskList: + type: array + nullable: true + items: + $ref: '#/components/schemas/TaskDto' TaskDto: allOf: - - $ref: '#/components/schemas/SimpleEntityDto' - - type: object - additionalProperties: false + - $ref: '#/components/schemas/SimpleEntityDto' + - type: object + additionalProperties: false TaskResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - task: - nullable: true - oneOf: - - $ref: '#/components/schemas/TaskDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + task: + nullable: true + oneOf: + - $ref: '#/components/schemas/TaskDto' TemplateResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - templates: - type: array - nullable: true - items: - $ref: '#/components/schemas/TemplateDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + templates: + type: array + nullable: true + items: + $ref: '#/components/schemas/TemplateDto' TemplateDto: allOf: - - $ref: '#/components/schemas/NamedEntityDto' - - type: object - additionalProperties: false + - $ref: '#/components/schemas/NamedEntityDto' + - type: object + additionalProperties: false TimeListResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - times: - type: array - nullable: true - items: - $ref: '#/components/schemas/TimeDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + times: + type: array + nullable: true + items: + $ref: '#/components/schemas/TimeDto' TimeDto: type: object additionalProperties: false @@ -7234,15 +7234,15 @@ components: job: nullable: true oneOf: - - $ref: '#/components/schemas/JobReferenceDto' + - $ref: '#/components/schemas/JobReferenceDto' task: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' staff: nullable: true oneOf: - - $ref: '#/components/schemas/NamedEntityDto' + - $ref: '#/components/schemas/NamedEntityDto' date: type: string nullable: true @@ -7280,14 +7280,14 @@ components: nullable: true TimeResponseDto: allOf: - - $ref: '#/components/schemas/ResponseBaseDto' - - type: object - additionalProperties: false - properties: - time: - nullable: true - oneOf: - - $ref: '#/components/schemas/TimeDto' + - $ref: '#/components/schemas/ResponseBaseDto' + - type: object + additionalProperties: false + properties: + time: + nullable: true + oneOf: + - $ref: '#/components/schemas/TimeDto' TimeAddRequestDto: type: object additionalProperties: false @@ -7318,13 +7318,13 @@ components: nullable: true TimeUpdateRequestDto: allOf: - - $ref: '#/components/schemas/TimeAddRequestDto' - - type: object - additionalProperties: false - properties: - uuid: - type: string - nullable: true + - $ref: '#/components/schemas/TimeAddRequestDto' + - type: object + additionalProperties: false + properties: + uuid: + type: string + nullable: true securitySchemes: OAuth2: type: oauth2 @@ -7346,4 +7346,3 @@ components: practicemanager.staff.read: View your Practice Manager staff data practicemanager.time: View and manage your Practice Manager time data practicemanager.time.read: View your Practice Manager time data -