openapi: 3.2.0 info: title: Unify Data API summary: Interact with objects, attributes, and records within the Unify platform. version: '1' termsOfService: https://www.unifygtm.com/legal/terms-and-conditions contact: name: Unify Support url: https://www.unifygtm.com/support email: support@unifygtm.com servers: - url: https://api.unifygtm.com variables: {} security: - ApiKeyAuth: [] tags: - name: Data paths: /data/v1/events/query-jobs: post: operationId: create_event_query_job description: 'Start an asynchronous query job that exports analytics events — website and product activity (`page`, `track`, `identify`) with any revealed company and person embedded in each row. Events are immutable, so filter on `timestamp` for incremental exports; omitting `filter` exports all events. Poll the job until it is `FINISHED`, then page through the results.' parameters: [] responses: '201': description: Response returned when creating a Bulk API query job. content: application/json: schema: $ref: '#/components/schemas/CreateBulkApiJobSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/CreateBulkApiEventsJobRequest' summary: Create event query job x-summary-source: derived get: operationId: list_event_query_jobs description: List event query jobs, optionally filtered by status. parameters: - name: cursor in: query required: false description: Opaque cursor returned by the previous page. schema: type: string explode: false - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 explode: false - name: status in: query required: false description: Filter jobs by status. schema: $ref: '#/components/schemas/BulkApiJobStatus' explode: false responses: '200': description: Response returned when listing Bulk API jobs. content: application/json: schema: $ref: '#/components/schemas/ListBulkApiJobsSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: List event query jobs x-summary-source: derived /data/v1/events/query-jobs/{job_id}: get: operationId: get_event_query_job description: 'Get a query job''s status. Poll until the status is terminal; results are available once the job is `FINISHED`. Jobs expire 24 hours after creation.' parameters: - name: job_id in: path required: true schema: type: string responses: '200': description: Response returned when fetching a Bulk API job. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response returned when a Bulk API job cannot be found. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse' '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: Get event query job x-summary-source: derived /data/v1/events/query-jobs/{job_id}/cancel: post: operationId: cancel_event_query_job description: Cancel a query job. Only `IN_PROGRESS` jobs can be canceled. parameters: - name: job_id in: path required: true schema: type: string responses: '200': description: Response returned when canceling a Bulk API job. content: application/json: schema: $ref: '#/components/schemas/CancelBulkApiJobSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response returned when a Bulk API job cannot be found. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse' '409': description: Response returned when a Bulk API job is not cancelable. content: application/json: schema: $ref: '#/components/schemas/CancelBulkApiJobNotCancelableResponse' '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: Cancel event query job x-summary-source: derived /data/v1/events/query-jobs/{job_id}/results: get: operationId: get_event_query_job_results description: 'Get Bulk API job results. By default this returns JSON. Send `Accept: application/x-ndjson` to stream newline-delimited JSON.' parameters: - name: job_id in: path required: true schema: type: string - name: page in: query required: false schema: type: integer minimum: 1 explode: false - name: page_size in: query required: false description: 'Maximum is 2,000 for JSON responses and 10,000 when `Accept` is `application/x-ndjson`.' schema: type: integer minimum: 1 maximum: 10000 explode: false responses: '200': description: Successful response returned when fetching completed Bulk API job results. headers: x-total: required: false description: Total result count. Present for NDJSON responses. schema: type: integer x-page: required: false description: Result page number. Present for NDJSON responses. schema: type: integer x-page-size: required: false description: Result page size. Present for NDJSON responses. schema: type: integer content: application/json: schema: type: object required: - total - page - page_size - data properties: total: type: integer page: type: integer page_size: type: integer data: type: array items: $ref: '#/components/schemas/UEvent' description: Successful response returned when fetching completed Bulk API job results. application/x-ndjson: schema: type: string '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response returned when a Bulk API job cannot be found. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse' '409': description: Response returned when Bulk API job results are not ready yet. content: application/json: schema: anyOf: - $ref: '#/components/schemas/GetBulkApiJobResultsNotReadyResponse' - $ref: '#/components/schemas/GetBulkApiJobResultsFailedResponse' - $ref: '#/components/schemas/GetBulkApiJobResultsCanceledResponse' '410': description: Response returned when Bulk API job results have expired. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobResultsExpiredResponse' '413': description: Response returned when a requested Bulk API results page is too large. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobResultsPayloadTooLargeResponse' '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: Get event query job results x-summary-source: derived /data/v1/objects: get: operationId: list_objects description: 'List every object in the workspace. Objects are the containers Unify stores records in — standard objects like `company`, `person`, and `opportunity`, plus any custom objects.' parameters: [] responses: '200': description: Response for a successful list operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: array items: $ref: '#/components/schemas/UObjects.UObject' description: Response for a successful list operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: readOnlyHint: true openWorldHint: false summary: List objects x-summary-source: derived post: operationId: create_object description: 'Create a custom object for storing a new kind of record. The object is created without attributes; define those with the object attribute endpoints.' parameters: [] responses: '201': description: Response for a successful create operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UObject' description: Response for a successful create operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UObjects.UObject' x-mcp-tool: destructiveHint: false openWorldHint: false summary: Create object x-summary-source: derived /data/v1/objects/{object_name}: get: operationId: get_object description: Get a single object definition by its API name. parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string responses: '200': description: Response for a successful get operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UObject' description: Response for a successful get operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: readOnlyHint: true openWorldHint: false summary: Get object x-summary-source: derived patch: operationId: update_object description: 'Update an object''s display name or description. The API name is fixed at creation and cannot be changed.' parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string responses: '200': description: Response for a successful update operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UObject' description: Response for a successful update operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UObjects.UObjectUpdate' x-mcp-tool: idempotentHint: true openWorldHint: false summary: Update object x-summary-source: derived delete: operationId: delete_object description: Delete an object by its API name. parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string responses: '200': description: Response for a successful delete operation. content: application/json: schema: type: object required: - status properties: status: type: string enum: - success description: Response for a successful delete operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: idempotentHint: true openWorldHint: false summary: Delete object x-summary-source: derived /data/v1/objects/{object_name}/attributes: get: operationId: list_object_attributes description: 'List the attributes defined on an object. Attributes are the typed fields that records of the object hold values for, identified by API name.' parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string responses: '200': description: Response for a successful list operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: array items: $ref: '#/components/schemas/UObjects.UAttribute' description: Response for a successful list operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: readOnlyHint: true openWorldHint: false summary: List object attributes x-summary-source: derived post: operationId: create_object_attribute description: 'Add an attribute to an object. The attribute''s value type is fixed at creation; `SELECT` / `MULTI_SELECT` attributes take a list of options, and `REFERENCE` attributes link to records of a related object. Unique attributes can be used to match records in find-unique and upsert requests.' parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string responses: '201': description: Response for a successful create operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UAttribute' description: Response for a successful create operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request - attribute_reference_object_not_found errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - attribute_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UObjects.UAttribute' x-mcp-tool: destructiveHint: false openWorldHint: false summary: Create object attribute x-summary-source: derived /data/v1/objects/{object_name}/attributes/{attribute_name}: get: operationId: get_object_attribute description: Get a single attribute on an object by its API name. parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string responses: '200': description: Response for a successful get operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UAttribute' description: Response for a successful get operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: readOnlyHint: true openWorldHint: false summary: Get object attribute x-summary-source: derived patch: operationId: update_object_attribute description: 'Update an attribute''s mutable fields (e.g. `display_name`, `description`). The value type and API name are fixed at creation, and a reference attribute''s cardinality cannot be downgraded from `MANY` to `ONE`.' parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string responses: '200': description: Response for a successful update operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UAttribute' description: Response for a successful update operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request - invalid_request_for_value_type - one_to_one_references_not_supported - reference_cardinality_downgrade_not_supported errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - related_attribute_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UObjects.UAttributeUpdate' x-mcp-tool: idempotentHint: true openWorldHint: false summary: Update object attribute x-summary-source: derived delete: operationId: delete_object_attribute description: Delete an attribute from an object by its API name. parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string responses: '200': description: Response for a successful delete operation. content: application/json: schema: type: object required: - status properties: status: type: string enum: - success description: Response for a successful delete operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: idempotentHint: true openWorldHint: false summary: Delete object attribute x-summary-source: derived /data/v1/objects/{object_name}/attributes/{attribute_name}/options: get: operationId: list_object_attribute_options description: 'List the options defined for a `SELECT` or `MULTI_SELECT` attribute. Options are the predefined values the attribute can hold; requests against other attribute types fail with `attribute_options_not_supported`.' parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string responses: '200': description: Response for a successful list operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: array items: $ref: '#/components/schemas/UObjects.UAttributeOption' description: Response for a successful list operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request - attribute_options_not_supported errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: readOnlyHint: true openWorldHint: false summary: List object attribute options x-summary-source: derived post: operationId: create_object_attribute_option description: Add an option to a `SELECT` or `MULTI_SELECT` attribute. parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string responses: '201': description: Response for a successful create operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UAttributeOption' description: Response for a successful create operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request - attribute_options_not_supported errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - attribute_option_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UObjects.UAttributeOption' x-mcp-tool: destructiveHint: false openWorldHint: false summary: Create object attribute option x-summary-source: derived /data/v1/objects/{object_name}/attributes/{attribute_name}/options/{option_name}: get: operationId: get_object_attribute_option description: 'Get a single option on a `SELECT` or `MULTI_SELECT` attribute by its API name.' parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string - name: option_name in: path required: true description: API name of the attribute option. schema: type: string responses: '200': description: Response for a successful get operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UAttributeOption' description: Response for a successful get operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found - attribute_option_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: readOnlyHint: true openWorldHint: false summary: Get object attribute option x-summary-source: derived patch: operationId: update_object_attribute_option description: 'Update an option''s display name. The option''s API name is fixed at creation.' parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string - name: option_name in: path required: true description: API name of the attribute option. schema: type: string responses: '200': description: Response for a successful update operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: $ref: '#/components/schemas/UObjects.UAttributeOption' description: Response for a successful update operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found - attribute_option_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - attribute_option_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UObjects.UAttributeOptionUpdate' x-mcp-tool: idempotentHint: true openWorldHint: false summary: Update object attribute option x-summary-source: derived delete: operationId: delete_object_attribute_option description: Delete an option from a `SELECT` or `MULTI_SELECT` attribute. parameters: - name: object_name in: path required: true description: API name of the object. schema: type: string - name: attribute_name in: path required: true description: API name of the attribute. schema: type: string - name: option_name in: path required: true description: API name of the attribute option. schema: type: string responses: '200': description: Response for a successful delete operation. content: application/json: schema: type: object required: - status properties: status: type: string enum: - success description: Response for a successful delete operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '403': description: Response for any operation that results in a forbidden error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - forbidden message: type: string description: Response for any operation that results in a forbidden error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - attribute_not_found - attribute_option_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: idempotentHint: true openWorldHint: false summary: Delete object attribute option x-summary-source: derived /data/v1/objects/{object_name}/query-jobs: post: operationId: create_object_record_query_job description: 'Start an asynchronous query job that exports records of an object. The query must `select` the attributes to return (optionally expanding single-reference attributes into nested records) and may filter with `where` / `metadata` and sort with `sort_by`; pairing an `updated_at` sort with a `metadata` filter enables incremental "changed since" exports. Poll the job until it is `FINISHED`, then page through the results.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' responses: '201': description: Response returned when creating a Bulk API query job. content: application/json: schema: $ref: '#/components/schemas/CreateBulkApiJobSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response returned when the object being queried cannot be found. content: application/json: schema: $ref: '#/components/schemas/CreateBulkApiObjectRecordsJobObjectNotFoundResponse' '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateBulkApiObjectRecordsJobRequest' summary: Create object record query job x-summary-source: derived get: operationId: list_object_record_query_jobs description: 'List query jobs previously created for an object, optionally filtered by status.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: cursor in: query required: false description: Opaque cursor returned by the previous page. schema: type: string explode: false - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 explode: false - name: status in: query required: false description: Filter jobs by status. schema: $ref: '#/components/schemas/BulkApiJobStatus' explode: false responses: '200': description: Response returned when listing Bulk API jobs. content: application/json: schema: $ref: '#/components/schemas/ListBulkApiJobsSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: List object record query jobs x-summary-source: derived /data/v1/objects/{object_name}/query-jobs/{job_id}: get: operationId: get_object_record_query_job description: 'Get a query job''s status. Poll until the status is terminal; results are available once the job is `FINISHED`. Jobs expire 24 hours after creation.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: job_id in: path required: true schema: type: string responses: '200': description: Response returned when fetching a Bulk API job. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response returned when a Bulk API job cannot be found. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse' '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: Get object record query job x-summary-source: derived /data/v1/objects/{object_name}/query-jobs/{job_id}/cancel: post: operationId: cancel_object_record_query_job description: Cancel a query job. Only `IN_PROGRESS` jobs can be canceled. parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: job_id in: path required: true schema: type: string responses: '200': description: Response returned when canceling a Bulk API job. content: application/json: schema: $ref: '#/components/schemas/CancelBulkApiJobSuccessResponse' '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response returned when a Bulk API job cannot be found. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse' '409': description: Response returned when a Bulk API job is not cancelable. content: application/json: schema: $ref: '#/components/schemas/CancelBulkApiJobNotCancelableResponse' '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: Cancel object record query job x-summary-source: derived /data/v1/objects/{object_name}/query-jobs/{job_id}/results: get: operationId: get_object_record_query_job_results description: 'Get Bulk API job results. By default this returns JSON. Send `Accept: application/x-ndjson` to stream newline-delimited JSON. Each result row''s `created_at` / `updated_at` timestamps have millisecond precision. `attributes` is sparse: only the selected attributes are present, and a selected attribute whose value is null is omitted entirely. A missing key therefore means the value was null, not that it was unselected.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: job_id in: path required: true schema: type: string - name: page in: query required: false schema: type: integer minimum: 1 explode: false - name: page_size in: query required: false description: 'Maximum is 2,000 for JSON responses and 10,000 when `Accept` is `application/x-ndjson`.' schema: type: integer minimum: 1 maximum: 10000 explode: false responses: '200': description: Successful response returned when fetching completed Bulk API job results. headers: x-total: required: false description: Total result count. Present for NDJSON responses. schema: type: integer x-page: required: false description: Result page number. Present for NDJSON responses. schema: type: integer x-page-size: required: false description: Result page size. Present for NDJSON responses. schema: type: integer content: application/json: schema: type: object required: - total - page - page_size - data properties: total: type: integer page: type: integer page_size: type: integer data: type: array items: $ref: '#/components/schemas/BulkApiObjectRecordResult' description: Successful response returned when fetching completed Bulk API job results. application/x-ndjson: schema: type: string '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response returned when a Bulk API job cannot be found. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse' '409': description: Response returned when Bulk API job results are not ready yet. content: application/json: schema: anyOf: - $ref: '#/components/schemas/GetBulkApiJobResultsNotReadyResponse' - $ref: '#/components/schemas/GetBulkApiJobResultsFailedResponse' - $ref: '#/components/schemas/GetBulkApiJobResultsCanceledResponse' '410': description: Response returned when Bulk API job results have expired. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobResultsExpiredResponse' '413': description: Response returned when a requested Bulk API results page is too large. content: application/json: schema: $ref: '#/components/schemas/GetBulkApiJobResultsPayloadTooLargeResponse' '429': description: Response for any operation that exceeds a rate limit. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - rate_limited message: type: string description: Response for any operation that exceeds a rate limit. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data summary: Get object record query job results x-summary-source: derived /data/v1/objects/{object_name}/records: post: operationId: create_object_record description: 'Create a record of an object. `data` must include every required attribute, and a value that duplicates an existing record''s unique attribute value is rejected with a conflict — use upsert instead when the record may already exist.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: validation_mode in: query required: false schema: $ref: '#/components/schemas/ValidationMode' explode: false responses: '201': description: Response for a successful create operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: object required: - object - id - created_at - updated_at - attributes properties: object: type: string description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' description: Response for a successful create operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request - record_missing_required_field - referenced_record_not_found errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - record_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. '503': description: Response for any operation that results in service unavailability. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - service_unavailable message: type: string description: Response for any operation that results in service unavailability. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateRecordRequest' x-mcp-tool: destructiveHint: false openWorldHint: false summary: Create object record x-summary-source: derived /data/v1/objects/{object_name}/records/find-unique: post: operationId: find_unique_object_record description: 'Find a single record by attribute values. `match` must include at least one unique attribute so that at most one record can match; the response contains the matching record, or `null` data when none exists.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' responses: '200': description: Response for a successful get operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: - object - 'null' required: - object - id - created_at - updated_at - attributes properties: object: type: string description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' description: Response for a successful get operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FindUniqueRecordRequest' x-mcp-tool: readOnlyHint: true openWorldHint: false summary: Find unique object record x-summary-source: derived /data/v1/objects/{object_name}/records/upsert: post: operationId: upsert_object_record description: 'Create or update a record depending on whether one already exists. The `match` values (which must include at least one unique attribute) find the existing record, and the `create` / `update` / `*_if_empty` property groups control which attribute values apply in each case. This is the recommended way to write records that may already exist.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: validation_mode in: query required: false schema: $ref: '#/components/schemas/ValidationMode' explode: false responses: '200': description: Response for a successful update operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: object required: - object - id - created_at - updated_at - attributes properties: object: type: string description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' description: Response for a successful update operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request - record_missing_required_field - referenced_record_not_found errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - record_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. '503': description: Response for any operation that results in service unavailability. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - service_unavailable message: type: string description: Response for any operation that results in service unavailability. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertRecordRequest' x-mcp-tool: idempotentHint: true openWorldHint: false summary: Upsert object record x-summary-source: derived /data/v1/objects/{object_name}/records/{record_id}: get: operationId: get_object_record description: Get a single record by its ID. parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: record_id in: path required: true schema: type: string responses: '200': description: Response for a successful get operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: object required: - object - id - created_at - updated_at - attributes properties: object: type: string description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' description: Response for a successful get operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - record_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. tags: - Data x-mcp-tool: readOnlyHint: true openWorldHint: false summary: Get object record x-summary-source: derived patch: operationId: update_object_record description: 'Update a record by its ID. Only the attributes present in `data` are changed; other attribute values are left untouched.' parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: record_id in: path required: true schema: type: string - name: validation_mode in: query required: false schema: $ref: '#/components/schemas/ValidationMode' explode: false responses: '200': description: Response for a successful update operation. content: application/json: schema: type: object required: - status - data properties: status: type: string enum: - success data: type: object required: - object - id - created_at - updated_at - attributes properties: object: type: string description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' description: Response for a successful update operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request - record_missing_required_field - referenced_record_not_found errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - record_not_found message: type: string description: Response for any operation that results in a not found error. '409': description: Response for any operation that results in a conflict error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - record_conflict message: type: string description: Response for any operation that results in a conflict error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. '503': description: Response for any operation that results in service unavailability. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - service_unavailable message: type: string description: Response for any operation that results in service unavailability. tags: - Data requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateRecordRequest' x-mcp-tool: idempotentHint: true openWorldHint: false summary: Update object record x-summary-source: derived delete: operationId: delete_object_record description: Delete a record by its ID. parameters: - name: object_name in: path required: true schema: $ref: '#/components/schemas/UObjects.UObjectName' - name: record_id in: path required: true schema: type: string responses: '200': description: Response for a successful delete operation. content: application/json: schema: type: object required: - status properties: status: type: string enum: - success description: Response for a successful delete operation. '400': description: Response for any operation that results in a bad request error. content: application/json: schema: type: object required: - status properties: status: type: string enum: - bad_request errors: type: array items: $ref: '#/components/schemas/UResponses.BadRequestError' message: type: string description: Response for any operation that results in a bad request error. '401': description: Response for any operation that results in an unauthorized error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - unauthorized message: type: string description: Response for any operation that results in an unauthorized error. '404': description: Response for any operation that results in a not found error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - object_not_found - record_not_found message: type: string description: Response for any operation that results in a not found error. '500': description: Response for any operation that results in an internal server error. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - error message: type: string description: Response for any operation that results in an internal server error. '503': description: Response for any operation that results in service unavailability. content: application/json: schema: type: object required: - status - message properties: status: type: string enum: - service_unavailable message: type: string description: Response for any operation that results in service unavailability. tags: - Data x-mcp-tool: idempotentHint: true openWorldHint: false summary: Delete object record x-summary-source: derived components: schemas: UObjects.UPersonAttributes: type: object required: - email properties: address: allOf: - $ref: '#/components/schemas/UValues.UAddress' description: Physical address of the person. company: anyOf: - $ref: '#/components/schemas/UValues.UReferenceById' - $ref: '#/components/schemas/UValues.UReferenceByMatch' - $ref: '#/components/schemas/UValues.UReferenceByUpsert' description: Company associated with the person. corporate_phone: allOf: - $ref: '#/components/schemas/UValues.UPhoneNumber' description: Corporate phone number of the person. do_not_call: allOf: - $ref: '#/components/schemas/UValues.UBoolean' description: Whether calling this person is disallowed. do_not_email: allOf: - $ref: '#/components/schemas/UValues.UBoolean' description: Whether emailing this person is disallowed. email: allOf: - $ref: '#/components/schemas/UValues.UEmail' description: Email address of the person. email_opt_out: allOf: - $ref: '#/components/schemas/UValues.UBoolean' description: Whether the person has opted out of email communications. eu_resident: allOf: - $ref: '#/components/schemas/UValues.UBoolean' description: Whether this person is a resident of the European Union. first_name: allOf: - $ref: '#/components/schemas/UValues.UText' description: First name of the person. last_activity_at: allOf: - $ref: '#/components/schemas/UValues.UDatetime' description: Last time an activity was recorded for this person. readOnly: true last_name: allOf: - $ref: '#/components/schemas/UValues.UText' description: Last name of the person. lead_source: allOf: - $ref: '#/components/schemas/UValues.UText' description: Source of the person record. linkedin_url: allOf: - $ref: '#/components/schemas/UValues.UUrl' description: 'LinkedIn profile of the person. This is the full URL of the LinkedIn profile of the person. The value will always be standardized with an HTTPS prefix, "www" subdomain, and trailing slash.' mobile_phone: allOf: - $ref: '#/components/schemas/UValues.UPhoneNumber' description: Mobile phone number of the person. record_owner: anyOf: - $ref: '#/components/schemas/UValues.UReferenceById' - $ref: '#/components/schemas/UValues.UReferenceByMatch' - $ref: '#/components/schemas/UValues.UReferenceByUpsert' description: The user that owns the person record. status: allOf: - $ref: '#/components/schemas/UValues.UText' description: Status of the person. title: allOf: - $ref: '#/components/schemas/UValues.UText' description: Job title of the person. work_phone: allOf: - $ref: '#/components/schemas/UValues.UPhoneNumber' description: Work phone number of the person. allOf: - type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' UValues.UDate: type: string description: String value representing a date. title: UDate UObjects.UAttributeOptionUpdate: type: object required: - display_name properties: display_name: type: string description: 'This is the user-facing attribute option name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: Definition of an option for a `SELECT` or `MULTI_SELECT` attribute. UValues.UReferenceByMatch: type: object required: - match properties: match: type: object additionalProperties: {} description: 'The attribute values to match against to find an existing record. At least one unique attribute must be included to ensure that at most one record is matched. Additional unique or non-unique attributes may also be included to refine the matching criteria.' description: 'Reference to another object record by match criteria. This will find an existing record using the provided match criteria, and `null` will be returned if no match is found.' title: UReferenceByMatch GetBulkApiJobResultsCanceledResponse: type: object allOf: - type: object required: - status - message properties: status: type: string enum: - results_canceled message: type: string description: Response for any operation that results in a conflict error. description: Response returned when a Bulk API job was canceled and has no results. UObjects.UMultiSelectAttribute: type: object required: - options properties: options: type: array items: $ref: '#/components/schemas/UObjects.UAttributeOption' description: The list of options for the attribute. allOf: - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - MULTI_SELECT description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. description: Definition of a "multi-select" attribute on a Unify object. UObjects.UMultiSelectAttributeUpdate: type: object required: - options properties: options: type: array items: $ref: '#/components/schemas/UObjects.UAttributeOptionUpdateItem' description: The list of options for the attribute. allOf: - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. description: Definition of a "multi-select" attribute on a Unify object. BulkApiEventsQueryFilter: type: object properties: timestamp: $ref: '#/components/schemas/BulkApiDatetimeRangeFilter' id: anyOf: - type: object required: - in properties: in: type: array items: type: string minItems: 1 not_in: type: array items: type: string minItems: 1 description: Filter matching values included in a set. - type: object required: - not_in properties: in: type: array items: type: string minItems: 1 not_in: type: array items: type: string minItems: 1 description: Filter matching values excluded from a set. type: anyOf: - type: object required: - in properties: in: type: array items: $ref: '#/components/schemas/EventType' minItems: 1 not_in: type: array items: $ref: '#/components/schemas/EventType' minItems: 1 description: Filter matching values included in a set. - type: object required: - not_in properties: in: type: array items: $ref: '#/components/schemas/EventType' minItems: 1 not_in: type: array items: $ref: '#/components/schemas/EventType' minItems: 1 description: Filter matching values excluded from a set. session: $ref: '#/components/schemas/BulkApiUuidFilter' company: $ref: '#/components/schemas/BulkApiUuidFilter' person: $ref: '#/components/schemas/BulkApiUuidFilter' domain: type: string description: 'Filters accepted when querying events. Events are immutable, so the natural cursor is `timestamp`, which is also the only datetime field filterable here.' SearchRecordsMetadataSortBy: type: object required: - field - direction properties: field: $ref: '#/components/schemas/SearchRecordsMetadataSortField' direction: $ref: '#/components/schemas/SearchRecordsSortDirection' description: 'Sort records by a base record field. Pairing a `created_at` / `updated_at` sort with the matching `metadata` filter enables incremental queries that page through every record changed since a prior checkpoint.' UObjects.USelectAttribute: type: object required: - options properties: options: type: array items: $ref: '#/components/schemas/UObjects.UAttributeOption' description: The list of options for the attribute. allOf: - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - SELECT description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. description: Definition of a "select" attribute on a Unify object. UValues.UPhoneNumber: type: string description: String value representing a phone number. title: UPhoneNumber UValues.UDecimal: type: number description: Decimal value. title: UDecimal UpdateRecordRequest: type: object required: - data properties: data: type: object additionalProperties: $ref: '#/components/schemas/UValues.UValue' description: The attribute values to update in the record. description: Request body for updating a record. UObjects.UObject: type: object required: - provider - api_name - display_name - description properties: provider: allOf: - $ref: '#/components/schemas/UObjects.UObjectProvider' description: 'The provider of an object represents who created and manages the object in Unify. This is used to differentiate between standard objects provided by Unify and custom objects created by a plugin or user.' readOnly: true api_name: type: string description: 'This is the unique identifier for the object at the API level. It is unique within Unify and cannot be changed.' display_name: type: string description: 'This is the user-facing object name shown within Unify. It is not required to be unique within Unify and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the object. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the object.' GetBulkApiJobSuccessResponse: type: object allOf: - $ref: '#/components/schemas/BulkApiJob' description: Response returned when fetching a Bulk API job. UObjects.URelatedReferenceAttribute: type: object required: - api_name - display_name - cardinality properties: api_name: type: string display_name: type: string cardinality: $ref: '#/components/schemas/UObjects.UReferenceCardinality' SearchRecordsTimestampFilter: type: object properties: gt: $ref: '#/components/schemas/UValues.UDatetime' gte: $ref: '#/components/schemas/UValues.UDatetime' lt: $ref: '#/components/schemas/UValues.UDatetime' lte: $ref: '#/components/schemas/UValues.UDatetime' description: 'Bounds on a record metadata timestamp, expressed as ISO-8601 datetimes interpreted as UTC instants. At least one bound is required, and at most one lower (`gt` / `gte`) and one upper (`lt` / `lte`) bound may be supplied — so a single filter can express an open-ended "changed since" cutoff or a closed window.' UValues.UEmail: type: string format: email description: String value representing an email address. title: UEmail BulkApiObjectRecordsQuery: type: object required: - select properties: where: $ref: '#/components/schemas/SearchRecordsWhere' select: $ref: '#/components/schemas/SearchRecordsSelect' sort_by: $ref: '#/components/schemas/SearchRecordsMetadataSortBy' metadata: $ref: '#/components/schemas/SearchRecordsMetadataFilter' description: Query describing which object records to return and how to shape them. BulkApiObjectRecordResult: type: object required: - object - id - created_at - updated_at - attributes properties: object: type: string description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: type: object additionalProperties: anyOf: - allOf: - $ref: '#/components/schemas/UValues.UValue' - type: - object - 'null' allOf: - $ref: '#/components/schemas/BulkApiObjectRecordResult' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' description: 'A single object record result row from a query job. Mirrors `UObjectRecord`, but widens `attributes` to allow nested records: a selected scalar attribute is a `UValue`, while a single-reference attribute expanded through a nested `select` resolves to a nested result record with this same shape. The recursion bottoms out at the `select` depth limit (see `SearchRecordsSelect`).' SearchRecordsMetadataFilter: type: object properties: created_at: $ref: '#/components/schemas/SearchRecordsTimestampFilter' updated_at: $ref: '#/components/schemas/SearchRecordsTimestampFilter' description: 'Filter records by base record timestamps (`created_at` / `updated_at`). Distinct from attribute `where` because these are record metadata rather than object attributes. Combined with a `created_at` / `updated_at` `sort_by`, this enables incremental queries that page through every record changed since a prior checkpoint.' UObjects.UReferenceAttributeUpdate: type: object required: - cardinality - related_object - related_attribute properties: cardinality: allOf: - $ref: '#/components/schemas/UObjects.UReferenceCardinality' description: The cardinality of the reference attribute. related_object: type: string description: The API name of the object that this attribute references. related_attribute: type: - object - 'null' allOf: - $ref: '#/components/schemas/UObjects.URelatedReferenceAttribute' description: 'The optional related attribute on the referenced object. When this exists, the relationship between the two objects is bidirectional.' allOf: - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. description: Definition of a "reference" attribute on a Unify object. UObjects.UCompany: type: object required: - object - id - created_at - updated_at - attributes properties: object: type: string enum: - company description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: allOf: - $ref: '#/components/schemas/UObjects.UCompanyAttributes' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' SearchRecordsWhere: type: object additionalProperties: anyOf: - $ref: '#/components/schemas/SearchRecordsAttributeWhere' - $ref: '#/components/schemas/SearchRecordsWhere' description: 'Filter records by one or more attribute conditions. Each key is an attribute API name on the queried object. A value of `{ "equals": ... }` matches the attribute directly, while a nested object of further conditions filters through a single-reference attribute on the referenced object.' GetBulkApiJobResultsNotReadyResponse: type: object allOf: - type: object required: - status - message properties: status: type: string enum: - results_not_ready message: type: string description: Response for any operation that results in a conflict error. description: Response returned when Bulk API job results are not ready yet. UObjects.UObjectUpdate: type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing object name shown within Unify. It is not required to be unique within Unify and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the object. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the object.' SearchRecordsNestedSelect: type: object required: - select properties: select: $ref: '#/components/schemas/SearchRecordsSelect' description: 'Select the attributes of a referenced record reached through a single-reference attribute.' GetBulkApiJobResultsPayloadTooLargeResponse: type: object required: - status - message properties: status: type: string enum: - results_page_too_large message: type: string description: Response returned when a requested Bulk API results page is too large. UEvent: type: object required: - id - original_event_id - timestamp - type - name - properties - anonymous_id - session_id - company - person properties: id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique identifier for the event. original_event_id: type: string description: 'Identifier assigned to the event by the upstream source that produced it (e.g. a Segment `messageId`, a PostHog event ID, or a Unify Tag activity ID).' timestamp: allOf: - $ref: '#/components/schemas/UValues.UDatetime' description: 'Time the event occurred. Events are immutable, so this is the natural cursor for incremental syncs.' type: allOf: - $ref: '#/components/schemas/EventType' description: Canonical event type. name: type: - string - 'null' description: Human-readable event name, or `null` when unset. properties: type: - object - 'null' additionalProperties: {} description: 'Event properties: custom track-event properties merged with page context (`domain`, `path`, `referrer_domain`, `referrer_path`, `query`) and UTM parameters (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`). Keys with no value are omitted, and the whole object is `null` when no properties are present.' anonymous_id: type: string description: Anonymous identifier assigned to the visitor by the upstream source. session_id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Identifier of the session the event belongs to. company: type: - object - 'null' allOf: - $ref: '#/components/schemas/UObjects.UCompany' description: Revealed company associated with the visitor, or `null` when unresolved. person: type: - object - 'null' allOf: - $ref: '#/components/schemas/UObjects.UPerson' description: Revealed person associated with the visitor, or `null` when unresolved. description: 'A flat, denormalized event row returned by an event Bulk API query job. Unlike object records, events are not wrapped in the `object` / `attributes` envelope. Page, session, and UTM context are folded into `properties`, while the revealed `company` / `person` are embedded directly on the row as full object records (`null` when the visitor has no revealed company / person).' UValues.UCountry: type: object required: - code - name properties: code: allOf: - $ref: '#/components/schemas/UValues.UCountryCode' description: Country code. name: type: string description: Country name. description: Composite object representing a country. title: UCountry EventType: type: string enum: - page - track - identify description: Canonical, source-agnostic event type. SearchRecordsAttributeWhere: type: object required: - equals properties: equals: $ref: '#/components/schemas/UValues.UValue' description: 'Filter records by attribute value. The `equals` value must match the type of the attribute being filtered.' UValues.UText: type: string description: String value. title: UText UValues.UInteger: type: integer description: Integer value. title: UInteger GetBulkApiJobNotFoundResponse: type: object allOf: - type: object required: - status - message properties: status: type: string enum: - not_found message: type: string description: Response for any operation that results in a not found error. description: Response returned when a Bulk API job cannot be found. CancelBulkApiJobNotCancelableResponse: type: object allOf: - type: object required: - status - message properties: status: type: string enum: - job_not_cancelable message: type: string description: Response for any operation that results in a conflict error. description: Response returned when a Bulk API job is not cancelable. CreateBulkApiObjectRecordsJobRequest: type: object required: - query properties: query: $ref: '#/components/schemas/BulkApiObjectRecordsQuery' description: Request body for creating an object records Bulk API query job. UObjects.UCompanyAttributes: type: object required: - domain properties: address: allOf: - $ref: '#/components/schemas/UValues.UAddress' description: Physical address of the company. corporate_phone: allOf: - $ref: '#/components/schemas/UValues.UPhoneNumber' description: Corporate phone number of the company. description: allOf: - $ref: '#/components/schemas/UValues.UText' description: Description of the company. do_not_contact: allOf: - $ref: '#/components/schemas/UValues.UBoolean' description: Whether contacting this company is disallowed. domain: allOf: - $ref: '#/components/schemas/UValues.UUrl' description: Website domain of the company. employee_count: allOf: - $ref: '#/components/schemas/UValues.UInteger' description: Estimated employee count of the company. founded: allOf: - $ref: '#/components/schemas/UValues.UDate' description: Date when the company was founded. industry: allOf: - $ref: '#/components/schemas/UValues.UText' description: Industry the company operates in. last_activity_at: allOf: - $ref: '#/components/schemas/UValues.UDatetime' description: Last time an activity was recorded for this company. readOnly: true lead_source: allOf: - $ref: '#/components/schemas/UValues.UText' description: Source of the company record. linkedin_url: allOf: - $ref: '#/components/schemas/UValues.UUrl' description: 'LinkedIn profile of the company. This is the full URL of the LinkedIn profile of the company. The value will always be standardized with an HTTPS prefix, "www" subdomain, and trailing slash.' name: allOf: - $ref: '#/components/schemas/UValues.UText' description: Name of the company. record_owner: anyOf: - $ref: '#/components/schemas/UValues.UReferenceById' - $ref: '#/components/schemas/UValues.UReferenceByMatch' - $ref: '#/components/schemas/UValues.UReferenceByUpsert' description: The user that owns the company record. revenue: allOf: - $ref: '#/components/schemas/UValues.UCurrency' description: Estimated revenue of the company. status: allOf: - $ref: '#/components/schemas/UValues.UText' description: Status of the company. time_zone: allOf: - $ref: '#/components/schemas/UValues.UText' description: Time zone the company is located in. allOf: - type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' BulkApiJobStatus: type: string enum: - IN_PROGRESS - FINISHED - FAILED - EXPIRED - CANCELED description: Status of an asynchronous Bulk API job. BulkApiUuidFilter: type: object required: - id properties: id: type: string description: Filter matching a resource by ID. UObjects.UAttribute: anyOf: - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - ADDRESS description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - BOOLEAN description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - COUNTRY description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - CURRENCY description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - DATE description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - DATETIME description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - DECIMAL description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - EMAIL_ADDRESS description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - INTEGER description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - $ref: '#/components/schemas/UObjects.UMultiSelectAttribute' - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - PHONE_NUMBER description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - $ref: '#/components/schemas/UObjects.UReferenceAttribute' - $ref: '#/components/schemas/UObjects.USelectAttribute' - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - TEXT description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - URL description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - UUID description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. description: Definition of an attribute on a Unify object. UValues.UValue: anyOf: - $ref: '#/components/schemas/UValues.UAddress' - $ref: '#/components/schemas/UValues.UBoolean' - $ref: '#/components/schemas/UValues.UCountry' - $ref: '#/components/schemas/UValues.UCurrency' - $ref: '#/components/schemas/UValues.UDate' - $ref: '#/components/schemas/UValues.UDatetime' - $ref: '#/components/schemas/UValues.UDecimal' - $ref: '#/components/schemas/UValues.UEmail' - $ref: '#/components/schemas/UValues.UInteger' - $ref: '#/components/schemas/UValues.UMultiSelect' - $ref: '#/components/schemas/UValues.UPhoneNumber' - anyOf: - $ref: '#/components/schemas/UValues.UReferenceById' - $ref: '#/components/schemas/UValues.UReferenceByMatch' - $ref: '#/components/schemas/UValues.UReferenceByUpsert' - $ref: '#/components/schemas/UValues.USelect' - $ref: '#/components/schemas/UValues.UText' - $ref: '#/components/schemas/UValues.UUrl' - $ref: '#/components/schemas/UValues.UUuid' UValues.UUuid: type: string description: String UUIDv4 value. title: UUuid CancelBulkApiJobSuccessResponse: type: object required: - job_id - status properties: job_id: type: string status: type: string enum: - CANCELED description: Response returned when canceling a Bulk API job. GetBulkApiJobResultsExpiredResponse: type: object required: - status - message properties: status: type: string enum: - results_expired message: type: string description: Response returned when Bulk API job results have expired. UValues.USelect: type: string description: String value that matches one of a specific set of allowed values. title: USelect CreateBulkApiObjectRecordsJobObjectNotFoundResponse: type: object allOf: - type: object required: - status - message properties: status: type: string enum: - not_found message: type: string description: Response for any operation that results in a not found error. description: Response returned when the object being queried cannot be found. UValues.UCurrency: type: object required: - code - value properties: code: allOf: - $ref: '#/components/schemas/UValues.UCurrencyCode' description: Currency code. value: type: number format: decimal description: Currency value. description: Composite object representing a currency value. title: UCurrency UValues.UUrl: type: string description: String value representing a web URL or internet domain. title: UUrl UObjects.UObjectName: type: string description: 'The API name of an object, e.g. `company`, `person`, `opportunity`, or a custom object''s API name.' UObjects.UObjectProvider: type: string enum: - UNIFY - CUSTOMER description: 'Represents who created and manages an object in Unify. In most ways, all objects within the Unify platform behave the same way regardless of whether they are defined by Unify or as custom objects by a plugin or user. This includes the ability to define custom attributes and access records via API. However, there are some subtle distinctions that require differentiating between these classifications of objects. This enumeration is used to represent these distinctions.' FindUniqueRecordRequest: type: object required: - match properties: match: type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' description: 'The attribute values to match against to find an existing record. At least one unique attribute must be included to ensure that at most one record is matched. Additional unique or non-unique attributes may also be included to refine the matching criteria.' description: Request body for finding a unique record by attribute values. SearchRecordsMetadataSortField: type: string enum: - id - created_at - updated_at description: Base record field to sort by. UObjects.UPerson: type: object required: - object - id - created_at - updated_at - attributes properties: object: type: string enum: - person description: The API name of the object this record is an instance of. readOnly: true id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: Unique UUID identifier for the record. readOnly: true created_at: type: string format: date-time description: Date and time the record was created. readOnly: true updated_at: type: string format: date-time description: Date and time the record was last updated. readOnly: true attributes: allOf: - $ref: '#/components/schemas/UObjects.UPersonAttributes' description: 'Attribute values for the record. Each key is the API name of the attribute and each value is the corresponding attribute value for the record.' UValues.UDatetime: type: string description: String value representing a datetime. title: UDatetime UValues.UCurrencyCode: type: string enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHE - CHF - CHW - CLF - CLP - CNY - COP - COU - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LVL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MXV - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SRD - SSP - STD - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - USN - USS - UYI - UYU - UZS - VEF - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XBD - XCD - XDR - XOF - XPD - XPF - XPT - XTS - XXX - YER - ZAR - ZMW description: ISO 4217 currency code. title: UCurrencyCode UObjects.UAttributeOptionUpdateItem: type: object required: - display_name properties: display_name: type: string description: 'This is the user-facing attribute option name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: Definition of an option for a `SELECT` or `MULTI_SELECT` attribute. UObjects.UReferenceCardinality: type: string enum: - ONE - MANY UObjects.UAttributeUpdate: anyOf: - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - $ref: '#/components/schemas/UObjects.UMultiSelectAttributeUpdate' - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - $ref: '#/components/schemas/UObjects.UReferenceAttributeUpdate' - $ref: '#/components/schemas/UObjects.USelectAttributeUpdate' - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. description: Definition of an attribute on a Unify object. UValues.UAddress: type: object properties: country: allOf: - $ref: '#/components/schemas/UValues.UCountry' description: Country code in ISO 3166-1 alpha-2 format. administrative_area: type: string description: State, province, region, or territory. sub_administrative_area: type: string description: County or other secondary governmental division of an administrative area. locality: type: string description: City, town, or village. dependent_locality: type: string description: Neighborhood, borough, district, or city sector. postal_code: type: string description: Postal code or ZIP code. thoroughfare: type: string description: Street name with elements such as street type or direction. premise: type: string description: Street number or building name. sub_premise: type: string description: Apartment, suite, office number, or other secondary unit designator. description: Composite object representing a physical address. title: UAddress UValues.UMultiSelect: type: array items: type: string description: String array that contains strings from a specific set of allowed values. title: UMultiSelect UResponses.BadRequestError: type: object required: - code properties: code: type: string path: type: array items: anyOf: - type: string - type: integer object_api_name: type: string attribute_api_name: type: string allOf: - type: object additionalProperties: {} description: Validation error detail returned for bad request responses. UObjects.USelectAttributeUpdate: type: object required: - options properties: options: type: array items: $ref: '#/components/schemas/UObjects.UAttributeOptionUpdateItem' description: The list of options for the attribute. allOf: - type: object required: - display_name - description properties: display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' description: Base properties that define an attribute on a Unify object. description: Definition of a "select" attribute on a Unify object. CreateBulkApiEventsJobRequest: type: object properties: filter: $ref: '#/components/schemas/BulkApiEventsQueryFilter' description: Request body for creating an events Bulk API query job. ListBulkApiJobsSuccessResponse: type: object required: - jobs - next_cursor properties: jobs: type: array items: $ref: '#/components/schemas/BulkApiJob' next_cursor: type: - string - 'null' description: Response returned when listing Bulk API jobs. UValues.UReferenceByUpsert: type: object required: - match properties: match: type: object additionalProperties: {} description: 'The attribute values to match against to find an existing record. At least one unique attribute must be included to ensure that at most one record is matched. Additional unique or non-unique attributes may also be included to refine the matching criteria.' create: type: object additionalProperties: {} description: The attribute values to use when creating a new record if no match is found. update: type: object additionalProperties: {} description: The attribute values to use when updating an existing record if a match is found. update_if_empty: type: object additionalProperties: {} description: 'The attribute values to update when a matching record is found and the existing attribute value on the record is `null`.' create_or_update: type: object additionalProperties: {} description: The attribute values to apply during both creation and update operations. create_or_update_if_empty: type: object additionalProperties: {} description: 'The attribute values to apply during both creation and update-if-empty operations.' description: 'Reference to another object record by performing a nested upsert. At least one of `create`, `create_or_update` or `create_or_update_if_empty` must be provided, and all required attributes on the object must be included in at least one of these properties. ## Precedence When the same attribute is specified in multiple properties, the values will be applied in a specific order of precedence. If a record is being created, the following order is used: 1. `create` 2. `create_or_update` 3. `create_or_update_if_empty` If an existing record is being updated, the following order is used: 1. `update` 2. `create_or_update` 3. `update_if_empty` 4. `create_or_update_if_empty`' title: UReferenceByUpsert BulkApiJob: type: object required: - job_id - status - total_rows - error_code - created_at - expires_at - canceled_at properties: job_id: type: string status: $ref: '#/components/schemas/BulkApiJobStatus' total_rows: type: - integer - 'null' error_code: type: - string - 'null' created_at: type: string expires_at: type: string canceled_at: type: - string - 'null' description: Bulk API job representation. UObjects.UAttributeOption: type: object required: - api_name - display_name properties: api_name: type: string description: 'This is the unique identifier for the attribute option at the API level. It is unique within the attribute and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute option name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: Definition of an option for a `SELECT` or `MULTI_SELECT` attribute. UValues.UReferenceById: type: object required: - id properties: id: allOf: - $ref: '#/components/schemas/UValues.UUuid' description: An object record ID. description: 'Reference to another object record by ID. This will find an existing record by its ID, and an error will be returned if the record does not exist.' title: UReferenceById SearchRecordsSelect: type: object additionalProperties: anyOf: - type: boolean enum: - true - $ref: '#/components/schemas/SearchRecordsNestedSelect' description: 'Select the attributes to return for each record. Each key is an attribute API name on the queried object. A value of `true` returns the attribute directly, while `{ "select": ... }` expands a single-reference attribute and selects attributes on the referenced object. Nested selects may be at most three levels deep, counting the root select as level one (so the root plus at most two levels of nested reference selects). Requests exceeding this depth are rejected with a `400`.' UObjects.UReferenceAttribute: type: object required: - cardinality - related_object - related_attribute properties: cardinality: allOf: - $ref: '#/components/schemas/UObjects.UReferenceCardinality' description: The cardinality of the reference attribute. related_object: type: string description: The API name of the object that this attribute references. related_attribute: type: - object - 'null' allOf: - $ref: '#/components/schemas/UObjects.URelatedReferenceAttribute' description: 'The optional related attribute on the referenced object. When this exists, the relationship between the two objects is bidirectional.' allOf: - type: object required: - type - api_name - display_name - description - is_required - is_unique properties: type: type: string enum: - REFERENCE description: The type of value this attribute can hold. api_name: type: string description: 'This is the unique identifier for the attribute at the API level. It is unique within the object and cannot be changed.' display_name: type: string description: 'This is the user-facing attribute name that will be shown within Unify. It is unique within the object and can be changed at any time.' description: type: - string - 'null' description: 'This is a description of the attribute. It is not required but will be shown in the UI to help understand the purpose of the object. Typically, this should be a short sentence or two explaining the attribute.' is_required: type: boolean description: Whether the attribute is required. is_unique: type: boolean description: Whether the attribute is unique. description: Base properties that define an attribute on a Unify object. description: Definition of a "reference" attribute on a Unify object. GetBulkApiJobResultsFailedResponse: type: object allOf: - type: object required: - status - message properties: status: type: string enum: - results_failed message: type: string description: Response for any operation that results in a conflict error. description: Response returned when a Bulk API job failed and has no results. CreateRecordRequest: type: object required: - data properties: data: type: object additionalProperties: $ref: '#/components/schemas/UValues.UValue' description: 'The attribute values for the new record. All required attributes on the object must be included.' description: Request body for creating a record. SearchRecordsSortDirection: type: string enum: - ASCENDING - DESCENDING description: Direction in which to sort records. ValidationMode: type: string enum: - strict - ignore_invalid description: 'Validation mode to use when validating request data. `strict` validation will fail requests if any attribute fails validation, including unrecognized attributes. `ignore_invalid` validation will strip out unknown attributes and replace known, non-required attributes with `undefined` if they fail validation. The request will still fail if the request body does not contain the proper structure or if any required attributes fail validation.' UpsertRecordRequest: type: object required: - match properties: match: type: object additionalProperties: allOf: - $ref: '#/components/schemas/UValues.UValue' description: 'The attribute values to match against to find an existing record. At least one unique attribute must be included to ensure that at most one record is matched. Additional unique or non-unique attributes may also be included to refine the matching criteria.' create: type: object additionalProperties: $ref: '#/components/schemas/UValues.UValue' description: The attribute values to use when creating a new record if no match is found. update: type: object additionalProperties: $ref: '#/components/schemas/UValues.UValue' description: The attribute values to use when updating an existing record if a match is found. update_if_empty: type: object additionalProperties: $ref: '#/components/schemas/UValues.UValue' description: 'The attribute values to update when a matching record is found and the existing attribute value on the record is `null`.' create_or_update: type: object additionalProperties: $ref: '#/components/schemas/UValues.UValue' description: The attribute values to apply during both creation and update operations. create_or_update_if_empty: type: object additionalProperties: $ref: '#/components/schemas/UValues.UValue' description: 'The attribute values to apply during both creation and update-if-empty operations.' description: 'Request body for upserting a record. At least one of `create`, `create_or_update` or `create_or_update_if_empty` must be provided, and all required attributes on the object must be included in at least one of these properties. ## Precedence When the same attribute is specified in multiple properties, the values will be applied in a specific order of precedence. If a record is being created, the following order is used: 1. `create` 2. `create_or_update` 3. `create_or_update_if_empty` If an existing record is being updated, the following order is used: 1. `update` 2. `create_or_update` 3. `update_if_empty` 4. `create_or_update_if_empty`' UValues.UCountryCode: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW description: ISO 3166-1 alpha-2 country code. title: UCountryCode BulkApiDatetimeRangeFilter: type: object properties: gt: type: string gte: type: string lt: type: string lte: type: string description: 'Datetime range filter. At least one bound must be provided. `gt` is mutually exclusive with `gte`, and `lt` is mutually exclusive with `lte`.' UValues.UBoolean: type: boolean description: Boolean value. title: UBoolean CreateBulkApiJobSuccessResponse: type: object required: - job_id - status - expires_at properties: job_id: type: string status: type: string enum: - IN_PROGRESS expires_at: type: string description: Response returned when creating a Bulk API query job. securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-api-key