Unify Object Records API

Create, read, update, delete, upsert and find-unique the records of any Unify object, with a validation_mode dry-run for writes. 6 operation(s).

Operations 6

POST /data/v1/objects/{object_name}/records #
POST /data/v1/objects/{object_name}/records/find-unique #
POST /data/v1/objects/{object_name}/records/upsert #
GET /data/v1/objects/{object_name}/records/{record_id} #
PATCH /data/v1/objects/{object_name}/records/{record_id} #
DELETE /data/v1/objects/{object_name}/records/{record_id} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unify-object-records-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unify-object-records-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unify Data Object Records 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: Object Records
paths:
  /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:
      - Object Records
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRecordRequest'
      x-mcp-tool:
        destructiveHint: false
        openWorldHint: false
  /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:
      - Object Records
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindUniqueRecordRequest'
      x-mcp-tool:
        readOnlyHint: true
        openWorldHint: false
  /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:
      - Object Records
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertRecordRequest'
      x-mcp-tool:
        idempotentHint: true
        openWorldHint: false
  /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:
      - Object Records
      x-mcp-tool:
        readOnlyHint: true
        openWorldHint: false
    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:
      - Object Records
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRecordRequest'
      x-mcp-tool:
        idempotentHint: true
        openWorldHint: false
    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:

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unify/refs/heads/main/openapi/unify-object-records-api-openapi.yml