Codat · Schema

Push operation

Unified-API

Properties

Name Type Description
changes array Contains a single entry that communicates which record has changed and the manner in which it changed.
dataType object The type of data being pushed, eg invoices, customers.
companyId object
pushOperationKey string A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted.
dataConnectionKey object
requestedOnUtc object The datetime when the push was requested.
completedOnUtc object The datetime when the push was completed, null if Pending.
timeoutInMinutes integer Number of minutes the push operation must complete within before it times out.
timeoutInSeconds integer Number of seconds the push operation must complete within before it times out.
status object
errorMessage string A message about the error.
validation object
statusCode integer Push status code.
View JSON Schema on GitHub

JSON Schema

codat-pushoperation-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/PushOperation",
  "title": "Push operation",
  "type": "object",
  "x-internal": true,
  "properties": {
    "changes": {
      "type": "array",
      "nullable": true,
      "description": "Contains a single entry that communicates which record has changed and the manner in which it changed. ",
      "items": {
        "$ref": "#/components/schemas/PushOperation/definitions/pushOperationChange"
      }
    },
    "dataType": {
      "$ref": "#/components/schemas/DataType",
      "description": "The type of data being pushed, eg invoices, customers."
    },
    "companyId": {
      "$ref": "#/components/parameters/companyId/schema"
    },
    "pushOperationKey": {
      "type": "string",
      "format": "uuid",
      "description": "A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted."
    },
    "dataConnectionKey": {
      "$ref": "#/components/parameters/connectionId/schema"
    },
    "requestedOnUtc": {
      "$ref": "#/components/schemas/DateTime",
      "description": "The datetime when the push was requested."
    },
    "completedOnUtc": {
      "$ref": "#/components/schemas/DateTime",
      "description": "The datetime when the push was completed, null if Pending."
    },
    "timeoutInMinutes": {
      "type": "integer",
      "format": "int32",
      "nullable": true,
      "description": "Number of minutes the push operation must complete within before it times out."
    },
    "timeoutInSeconds": {
      "type": "integer",
      "format": "int32",
      "nullable": true,
      "deprecated": true,
      "description": "Number of seconds the push operation must complete within before it times out."
    },
    "status": {
      "$ref": "#/components/schemas/PushOperation/definitions/pushOperationStatus"
    },
    "errorMessage": {
      "type": "string",
      "nullable": true,
      "description": "A message about the error."
    },
    "validation": {
      "$ref": "#/components/schemas/PushOperation/definitions/validation"
    },
    "statusCode": {
      "type": "integer",
      "description": "Push status code."
    }
  },
  "required": [
    "companyId",
    "pushOperationKey",
    "dataConnectionKey",
    "requestedOnUtc",
    "status",
    "statusCode"
  ],
  "definitions": {
    "validation": {
      "type": "object",
      "title": "Validation",
      "description": "A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here.",
      "properties": {
        "errors": {
          "type": "array",
          "nullable": true,
          "items": {
            "$ref": "#/components/schemas/PushOperation/definitions/validationItem"
          }
        },
        "warnings": {
          "type": "array",
          "nullable": true,
          "items": {
            "$ref": "#/components/schemas/PushOperation/definitions/validationItem"
          }
        }
      }
    },
    "validationItem": {
      "title": "Validation item",
      "type": "object",
      "properties": {
        "itemId": {
          "type": "string",
          "nullable": true,
          "description": "Unique identifier for a validation item."
        },
        "message": {
          "type": "string",
          "nullable": true,
          "description": "A message outlining validation item's issue."
        },
        "validatorName": {
          "type": "string",
          "nullable": true,
          "description": "Name of validator."
        }
      },
      "additionalProperties": false
    },
    "pushChangeType": {
      "title": "Push change type",
      "description": "Type of change being applied to record in third party platform.",
      "type": "string",
      "enum": [
        "Unknown",
        "Created",
        "Modified",
        "Deleted",
        "AttachmentUploaded"
      ]
    },
    "pushOperationRef": {
      "title": "Push operation reference",
      "x-internal": true,
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier for a push operation."
        },
        "dataType": {
          "$ref": "#/components/schemas/DataType",
          "nullable": true
        }
      },
      "additionalProperties": false
    },
    "pushOperationStatus": {
      "title": "Push operation status",
      "type": "string",
      "enum": [
        "Pending",
        "Failed",
        "Success",
        "TimedOut"
      ],
      "description": "The current status of the push operation."
    },
    "pushOperationChange": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/components/schemas/PushOperation/definitions/pushChangeType"
        },
        "recordRef": {
          "$ref": "#/components/schemas/PushOperation/definitions/pushOperationRef"
        },
        "attachmentId": {
          "type": "string",
          "description": "Unique identifier for the attachment created otherwise null.",
          "nullable": true
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/codat-pushoperation"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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