{ "openapi": "3.0.2", "info": { "title": "Klaviyo API", "version": "2026-07-15", "description": "The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.", "contact": { "name": "Klaviyo Developer Experience Team", "email": "developers@klaviyo.com", "url": "https://developers.klaviyo.com" }, "termsOfService": "https://www.klaviyo.com/legal/api-terms", "license": { "name": "License", "url": "https://www.klaviyo.com/legal" } }, "servers": [ { "url": "https://a.klaviyo.com", "description": "Production" } ], "security": [ { "Klaviyo-API-Key": [] } ], "paths": { "/api/data-sources": { "get": { "operationId": "get_data_sources", "summary": "Get Data Sources", "description": "Get all data sources in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_data_sources.json)", "parameters": [ { "name": "fields[data-source]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "namespace", "title", "visibility" ] } }, "explode": false }, { "name": "page[cursor]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#pagination", "required": false, "schema": { "type": "string" } }, { "name": "page[size]", "in": "query", "description": "Default: 20. Min: 1. Max: 100.", "required": false, "schema": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetDataSourceResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ] }, "post": { "operationId": "create_data_source", "summary": "Create Data Source", "description": "Create a new data source in an account

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_data_source.json)", "parameters": [ { "name": "fields[data-source]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "namespace", "title", "visibility" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Create data source", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/DataSourceCreateQuery" } } } }, "responses": { "201": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostDataSourceResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ] } }, "/api/data-sources/{id}": { "get": { "operationId": "get_data_source", "summary": "Get Data Source", "description": "Retrieve a data source in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_data_source.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the data source", "required": true, "schema": { "description": "The ID of the data source", "type": "string" } }, { "name": "fields[data-source]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "namespace", "title", "visibility" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetDataSourceResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ] }, "delete": { "operationId": "delete_data_source", "summary": "Delete Data Source", "description": "Delete a data source in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/delete_data_source.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the data source to delete", "required": true, "schema": { "description": "The ID of the data source to delete", "type": "string" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ] } }, "/api/source-mappings/{id}": { "get": { "operationId": "get_source_mapping", "summary": "Get Source Mapping", "description": "Get the source mapping with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_source_mapping.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the source mapping", "required": true, "schema": { "description": "The ID of the source mapping", "type": "string", "example": "01K5HQC66PGHV35SYJC5ZV3DZA" } }, { "name": "fields[source-mapping]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "property_mappings", "relationship_mappings" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetSourceMappingResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Source Mappings" }, "patch": { "operationId": "update_source_mapping", "summary": "Update Source Mapping", "description": "Update the source mapping with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_source_mapping.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the source mapping", "required": true, "schema": { "description": "The ULID ID of the source mapping", "type": "string", "example": "01K5HQC66PGHV35SYJC5ZV3DZA" } }, { "name": "fields[source-mapping]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "property_mappings", "relationship_mappings" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Update a source mapping by ID", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/SourceMappingPartialUpdateQuery" } } } }, "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PatchSourceMappingResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Source Mappings" } }, "/api/object-types": { "get": { "operationId": "get_object_types", "summary": "Get Object Types", "description": "Get all object types in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_object_types.json)", "parameters": [ { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "fields[object-type]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "created_at", "description", "id", "namespace", "status", "title", "updated_at" ] } }, "explode": false }, { "name": "filter", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`namespace`: `equals`", "schema": { "type": "string", "example": "equals(namespace,'example')" } }, { "name": "include", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships", "schema": { "type": "array", "items": { "type": "string", "enum": [ "current-schema", "draft-schema" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeResponseCollectionCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-filters": { "namespace": { "operators": { "single": [ "equals" ] }, "value": { "type": "string" } } }, "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" }, "post": { "operationId": "create_object_type", "summary": "Create Object Type", "description": "Create an object type.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_object_type.json)", "parameters": [ { "name": "fields[object-type]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "created_at", "description", "id", "namespace", "status", "title", "updated_at" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Create an object type", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ObjectTypeCreateQuery" } } } }, "responses": { "201": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostObjectTypeResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}": { "get": { "operationId": "get_object_type", "summary": "Get Object Type", "description": "Get the object type with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "fields[object-type]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "created_at", "description", "id", "meta", "meta.description", "meta.name", "meta.relationship_id", "namespace", "status", "title", "updated_at" ] } }, "explode": false }, { "name": "fields[profile-object-type]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "meta", "meta.description", "meta.name", "meta.relationship_id" ] } }, "explode": false }, { "name": "include", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships", "schema": { "type": "array", "items": { "type": "string", "enum": [ "current-schema", "draft-schema", "object-types", "profile-object-types", "schema-versions" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeResponseCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" }, "delete": { "operationId": "delete_object_type", "summary": "Delete Object Type", "description": "Delete the object type with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/delete_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-schemas/{id}": { "get": { "operationId": "get_object_schema", "summary": "Get Object Schema", "description": "Get the object schema with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_object_schema.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "meta", "meta.description", "meta.name", "meta.relationship_id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "fields[profile-object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "meta", "meta.description", "meta.name", "meta.relationship_id" ] } }, "explode": false }, { "name": "fields[source-mapping]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "property_mappings", "relationship_mappings" ] } }, "explode": false }, { "name": "include", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships", "schema": { "type": "array", "items": { "type": "string", "enum": [ "object-schemas", "profile-object-schemas", "source-mapping" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectSchemaResponseCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Schemas" }, "patch": { "operationId": "update_object_schema", "summary": "Update Object Schema", "description": "Update the object schema with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_object_schema.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Update a object schema by ID", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ObjectSchemaPartialUpdateQuery" } } } }, "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PatchObjectSchemaResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" } }, "/api/object-records/{id}": { "get": { "operationId": "get_object_record", "summary": "Get Object Record", "description": "Get the object record with the given compound ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_object_record.json)", "parameters": [ { "name": "id", "in": "path", "description": "The compound ID of the object record, formatted as object_type_id:::object_record_id", "required": true, "schema": { "description": "The compound ID of the object record, formatted as object_type_id:::object_record_id", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD:::sub-001" } }, { "name": "fields[object-record]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "record_properties" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectRecordResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Records" } }, "/api/data-source-record-bulk-create-jobs": { "post": { "operationId": "bulk_create_data_source_records", "summary": "Bulk Create Data Source Records", "description": "Create a bulk data source record import job to create a batch of records.\n\nAccepts up to 500 records per request. The maximum allowed payload size is 4MB. The maximum allowed payload size per-record is 512KB.\n\nTo learn more, see our [Custom Objects API overview](https://developers.klaviyo.com/en/reference/custom_objects_api_overview).

*Rate limits*:
Burst: `3/s`
Steady: `15/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/bulk_create_data_source_records.json)", "parameters": [ { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Create a data source record job", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/DataSourceRecordBulkCreateJobCreateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "create_data_source_record_bulk_create_job" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "15/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ] } }, "/api/data-source-record-create-jobs": { "post": { "operationId": "create_data_source_record", "summary": "Create Data Source Record", "description": "Create a data source record import job to create a single record.\n\nThe maximum allowed payload size per-record is 512KB.\n\nTo learn more, see our [Custom Objects API overview](https://developers.klaviyo.com/en/reference/custom_objects_api_overview).

*Rate limits*:
Burst: `75/s`
Steady: `750/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_data_source_record.json)", "parameters": [ { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Create a data source record job", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/DataSourceRecordCreateJobCreateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "create_data_source_record_create_job" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "75/s", "steady": "750/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ] } }, "/api/object-schemas": { "post": { "operationId": "create_object_schema", "summary": "Create Object Schema", "description": "Create an object schema.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_object_schema.json)", "parameters": [ { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Create an object schema", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ObjectSchemaCreateQuery" } } } }, "responses": { "201": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostObjectSchemaResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" } }, "/api/object-record-bulk-delete-jobs": { "post": { "operationId": "bulk_delete_object_records", "summary": "Bulk Delete Object Records", "description": "Delete a batch of object records.\n\nAccepts up to 500 object record IDs per request. The maximum allowed payload size is 5MB.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/bulk_delete_object_records.json)", "parameters": [ { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ObjectRecordDeleteJobCreateQuery" } } } }, "responses": { "202": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "create_object_record_bulk_delete_job" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Records" } }, "/api/object-types/{id}/object-records": { "get": { "operationId": "get_records_for_object_type", "summary": "Get Records for Object Type", "description": "Get all object records for a given object type.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_records_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "fields[object-record]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "record_properties" ] } }, "explode": false }, { "name": "page[cursor]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#pagination", "required": false, "schema": { "type": "string" } }, { "name": "page[size]", "in": "query", "description": "Default: 20. Min: 1. Max: 100.", "required": false, "schema": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectRecordResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_records" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Records" } }, "/api/object-types/{id}/relationships/object-records": { "get": { "operationId": "get_record_ids_for_object_type", "summary": "Get Record IDs for Object Type", "description": "Get all object records for a given object type.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_record_ids_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "page[cursor]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#pagination", "required": false, "schema": { "type": "string" } }, { "name": "page[size]", "in": "query", "description": "Default: 20. Min: 1. Max: 100.", "required": false, "schema": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeRecordsRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_relationships_records" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Records" } }, "/api/object-types/{id}/object-ingestion-logs": { "get": { "operationId": "get_ingestion_logs_for_object_type", "summary": "Get Ingestion Logs for Object Type", "description": "Get the ingestion logs for a given object type.\n\nOnly ingestion failures are logged \u2014 the absence of a log entry for a\nrecord does not mean the record was ingested successfully.\n\nLogs are retained for 14 days; time filters outside that window return\nan empty page. Results are returned newest first with a fixed page\nsize of 50.

*Rate limits*:
Burst: `1/s`
Steady: `15/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_ingestion_logs_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "fields[object-ingestion-log]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "errors", "event_type", "id", "status", "summary", "timestamp" ] } }, "explode": false }, { "name": "fields[object-record]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "record_properties" ] } }, "explode": false }, { "name": "fields[object-type]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "created_at", "description", "id", "namespace", "status", "title", "updated_at" ] } }, "explode": false }, { "name": "filter", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`record_id`: `equals`
`status`: `any`, `equals`
`event_type`: `any`, `equals`
`timestamp`: `greater-or-equal`, `less-than`", "schema": { "type": "string", "example": "equals(record_id,'A3LD92')" } }, { "name": "include", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships", "schema": { "type": "array", "items": { "type": "string", "enum": [ "object-record", "object-type" ] } }, "explode": false }, { "name": "page[cursor]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#pagination", "required": false, "schema": { "type": "string" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetIngestionLogResponseCollectionCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-filters": { "record_id": { "operators": { "single": [ "equals" ] }, "value": { "type": "string" } }, "status": { "operators": { "list": [ "any", "equals" ], "single": [ "equals" ] }, "value": { "type": "string", "enum": [ "error", "warning", "info" ] } }, "event_type": { "operators": { "list": [ "any", "equals" ], "single": [ "equals" ] }, "value": { "type": "string", "enum": [ "validation_error" ] } }, "timestamp": { "operators": { "single": [ "greater-or-equal", "less-than" ] }, "value": { "type": "string", "format": "date-time" } } }, "x-klaviyo-operation-aliases": [ "get_object_type_ingestion_logs" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "1/s", "steady": "15/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Ingestion Logs" } }, "/api/object-types/{id}/relationships/object-ingestion-logs": { "get": { "operationId": "get_ingestion_log_ids_for_object_type", "summary": "Get Ingestion Log IDs for Object Type", "description": "Get the ingestion logs for a given object type.\n\nOnly ingestion failures are logged \u2014 the absence of a log entry for a\nrecord does not mean the record was ingested successfully.\n\nLogs are retained for 14 days; time filters outside that window return\nan empty page. Results are returned newest first with a fixed page\nsize of 50.

*Rate limits*:
Burst: `1/s`
Steady: `15/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_ingestion_log_ids_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "filter", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`record_id`: `equals`
`status`: `any`, `equals`
`event_type`: `any`, `equals`
`timestamp`: `greater-or-equal`, `less-than`", "schema": { "type": "string", "example": "equals(record_id,'A3LD92')" } }, { "name": "page[cursor]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#pagination", "required": false, "schema": { "type": "string" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeIngestionLogsRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-filters": { "record_id": { "operators": { "single": [ "equals" ] }, "value": { "type": "string" } }, "status": { "operators": { "list": [ "any", "equals" ], "single": [ "equals" ] }, "value": { "type": "string", "enum": [ "error", "warning", "info" ] } }, "event_type": { "operators": { "list": [ "any", "equals" ], "single": [ "equals" ] }, "value": { "type": "string", "enum": [ "validation_error" ] } }, "timestamp": { "operators": { "single": [ "greater-or-equal", "less-than" ] }, "value": { "type": "string", "format": "date-time" } } }, "x-klaviyo-operation-aliases": [ "get_object_type_relationships_ingestion_logs" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "1/s", "steady": "15/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Ingestion Logs" } }, "/api/object-types/{id}/current-schema": { "get": { "operationId": "get_current_schema_for_object_type", "summary": "Get Current Schema for Object Type", "description": "Get current schema for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_current_schema_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectSchemaResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_current_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}/relationships/current-schema": { "get": { "operationId": "get_current_schema_id_for_object_type", "summary": "Get Current Schema ID for Object Type", "description": "Get current schema for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_current_schema_id_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeCurrentSchemaRelationshipResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_relationships_current_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}/draft-schema": { "get": { "operationId": "get_draft_schema_for_object_type", "summary": "Get Draft Schema for Object Type", "description": "Get draft schema for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_draft_schema_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectSchemaResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_draft_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}/relationships/draft-schema": { "get": { "operationId": "get_draft_schema_id_for_object_type", "summary": "Get Draft Schema ID for Object Type", "description": "Get draft schema for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_draft_schema_id_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeDraftSchemaRelationshipResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_relationships_draft_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}/schema-versions": { "get": { "operationId": "get_schema_versions_for_object_type", "summary": "Get Schema Versions for Object Type", "description": "Get all schema versions for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_schema_versions_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "fields[object-schema]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "description", "id", "properties", "published_at", "required", "status", "title", "visibility" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectSchemaResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_schema_versions" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}/relationships/schema-versions": { "get": { "operationId": "get_schema_version_ids_for_object_type", "summary": "Get Schema Version IDs for Object Type", "description": "Get all schema versions for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_schema_version_ids_for_object_type.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeSchemaVersionsRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_relationships_schema_versions" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}/relationships/object-types": { "get": { "operationId": "get_object_type_relationships", "summary": "Get Object Type Relationships", "description": "Get related object types for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_object_type_relationships.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeTypesRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_relationships_types", "get_type_ids_for_object_type" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-types/{id}/relationships/profile-object-types": { "get": { "operationId": "get_profile_type_relationships", "summary": "Get Profile Type Relationships", "description": "Get related profile object types for an object type

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_profile_type_relationships.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object type.", "required": true, "schema": { "description": "The ULID ID of the object type.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectTypeProfileObjectTypesRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_type_relationships_profile_object_types", "get_profile_object_type_ids_for_object_type" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Types" } }, "/api/object-schemas/{id}/source-mapping": { "get": { "operationId": "get_source_mapping_for_object_schema", "summary": "Get Source Mapping for Object Schema", "description": "Get source mapping for an object schema

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_source_mapping_for_object_schema.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "fields[source-mapping]", "in": "query", "description": "For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "property_mappings", "relationship_mappings" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetSourceMappingResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_schema_source_mapping" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Schemas" } }, "/api/object-schemas/{id}/relationships/source-mapping": { "get": { "operationId": "get_source_mapping_id_for_object_schema", "summary": "Get Source Mapping ID for Object Schema", "description": "Get source mapping for an object schema

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_source_mapping_id_for_object_schema.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectSchemaSourceMappingRelationshipResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_schema_relationships_source_mapping" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Schemas" } }, "/api/object-schemas/{id}/relationships/object-schemas": { "get": { "operationId": "get_object_schema_relationships", "summary": "Get Object Schema Relationships", "description": "Get related object schemas for an object schema

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_object_schema_relationships.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectSchemaSchemasRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_schema_relationships_schemas", "get_schema_ids_for_object_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Schemas" }, "post": { "operationId": "create_object_schema_relationship", "summary": "Create Object Schema Relationship", "description": "Create a relationship between object schemas.\n\nNote that flow filtering and segmentation are currently not supported for object-to-object relationships.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_object_schema_relationship.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Create a relationship between object schemas", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ObjectSchemaRelationshipCreateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "add_schemas_to_object_schema", "create_object_schema_relationships_schemas" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" }, "patch": { "operationId": "update_object_schema_relationship", "summary": "Update Object Schema Relationship", "description": "Update a relationship between object schemas

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_object_schema_relationship.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Update a relationship between object schemas", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ObjectSchemaRelationshipPartialUpdateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "update_object_schema_relationships_schemas", "update_schemas_for_object_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" }, "delete": { "operationId": "delete_object_schema_relationship", "summary": "Delete Object Schema Relationship", "description": "Delete a relationship between object schemas

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/delete_object_schema_relationship.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Delete a relationship between object schemas", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ObjectSchemaRelationshipDeleteQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "delete_object_schema_relationships_schemas", "remove_schemas_from_object_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" } }, "/api/object-schemas/{id}/relationships/profile-object-schemas": { "get": { "operationId": "get_profile_schema_relationships", "summary": "Get Profile Schema Relationships", "description": "Get related profile object schemas for an object schema

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_profile_schema_relationships.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetObjectSchemaProfileObjectSchemasRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "get_object_schema_relationships_profile_object_schemas", "get_profile_object_schema_ids_for_object_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:read" ], "x-klaviyo-subtag": "Object Schemas" }, "post": { "operationId": "create_profile_schema_relationship", "summary": "Create Profile Schema Relationship", "description": "Create a relationship between an object schema and a profile

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_profile_schema_relationship.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Create a relationship between an object schema and a profile.", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ProfileObjectSchemaRelationshipCreateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "add_profile_object_schemas_to_object_schema", "create_object_schema_relationships_profile_object_schemas" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" }, "patch": { "operationId": "update_profile_schema_relationship", "summary": "Update Profile Schema Relationship", "description": "Update a relationship between an object schema and a profile

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_profile_schema_relationship.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Update a relationship between an object schema and a profile", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ProfileObjectSchemaRelationshipPartialUpdateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "update_object_schema_relationships_profile_object_schemas", "update_profile_object_schemas_for_object_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" }, "delete": { "operationId": "delete_profile_schema_relationship", "summary": "Delete Profile Schema Relationship", "description": "Delete a relationship between an object schema and a profile

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`custom-objects:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/delete_profile_schema_relationship.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ULID ID of the object schema.", "required": true, "schema": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-07-15" } } ], "requestBody": { "description": "Delete a relationship between an object schema and a profile", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ProfileObjectSchemaRelationshipDeleteQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Custom Objects" ], "x-klaviyo-operation-aliases": [ "delete_object_schema_relationships_profile_object_schemas", "remove_profile_object_schemas_from_object_schema" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "custom-objects:write" ], "x-klaviyo-subtag": "Object Schemas" } } }, "components": { "responses": { "ClientError": { "description": "Client Error", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "required": [ "id", "code", "title", "detail" ], "properties": { "id": { "type": "string" }, "code": { "type": "string" }, "title": { "type": "string" }, "detail": { "type": "string" }, "source": { "type": "object", "properties": { "pointer": { "type": "string" }, "parameter": { "type": "string" } } } } } } }, "required": [ "errors" ] } } } }, "ServerError": { "description": "Server Error", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "required": [ "id", "code", "title", "detail" ], "properties": { "id": { "type": "string" }, "code": { "type": "string" }, "title": { "type": "string" }, "detail": { "type": "string" }, "source": { "type": "object", "properties": { "pointer": { "type": "string" }, "parameter": { "type": "string" } } } } } } }, "required": [ "errors" ] } } } } }, "schemas": { "APISchemaProperty": { "type": "object", "properties": { "id": { "description": "The ID of the schema property. Must be a postive integer.", "type": "integer", "example": 1 }, "name": { "description": "The name of the schema property", "type": "string", "example": "service_plan" }, "type": { "description": "The type of the schema property", "type": "string", "enum": [ "boolean", "float", "int", "list", "string", "timestamp" ] }, "description": { "description": "The description of the schema property", "type": "string", "default": "", "nullable": true } }, "required": [ "id", "name", "type" ] }, "AgentHints": { "description": "Optional hints emitted by the API for agent callers", "type": "object", "properties": { "next_steps": { "description": "Suggested follow-up actions for agents to take after this response", "type": "array", "items": { "type": "string" } } } }, "CollectionLinks": { "type": "object", "properties": { "self": { "type": "string", "format": "uri" }, "prev": { "type": "string", "format": "uri" }, "next": { "type": "string", "format": "uri" } }, "required": [ "self" ] }, "ConstantPropertyMapping": { "type": "object", "properties": { "id": { "description": "Property ID. Must be a positive integer.", "type": "integer", "example": 1 }, "type": { "description": "String literal for serialization", "type": "string", "enum": [ "constant" ] }, "value": { "description": "Constant value assigned to every record", "example": "active", "oneOf": [ { "type": "integer" }, { "type": "number" }, { "type": "string" }, { "type": "boolean" } ] } }, "required": [ "id", "type", "value" ] }, "CustomObjectRelationshipSource": { "type": "object", "properties": { "source_id": { "description": "Data source ULID ID", "type": "string", "example": "01JXKX2HM7NV4QPTR5WE8BF6GY" }, "type": { "description": "String literal for serialization", "type": "string", "enum": [ "custom-object" ] }, "id_path": { "description": "JSONPath data selector to owning ID", "type": "string", "example": "$['object_record']['subscription_id']" }, "related_id_path": { "description": "JSONPath data selector to related ID", "type": "string", "example": "$['object_record']['pet_id']" }, "update_strategy": { "description": "Strategy for updating relationships with each new RawDataRecord ingestion", "type": "string", "example": "replace_from_origin", "default": "replace_from_origin", "enum": [ "additive", "replace_from_origin" ], "nullable": true } }, "required": [ "source_id", "type", "id_path", "related_id_path" ] }, "DataSourceCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/DataSourceCreateQueryResourceObject" } }, "required": [ "data" ] }, "DataSourceCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceEnum" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title of the data source. Must be between 1 and 255 characters and unique within the namespace.", "type": "string" }, "visibility": { "description": "Visibility of data source.", "type": "string", "example": "private", "default": "private", "enum": [ "private", "shared" ], "nullable": true }, "description": { "type": "string", "default": "", "nullable": true }, "namespace": { "description": "The namespace of the data source.", "type": "string", "example": "custom-objects", "default": "custom-objects", "nullable": true } }, "required": [ "title" ] } }, "required": [ "type", "attributes" ] }, "DataSourceEnum": { "type": "string", "enum": [ "data-source" ] }, "DataSourceRecordBulkCreateJobCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/DataSourceRecordBulkCreateJobCreateQueryResourceObject" } }, "required": [ "data" ] }, "DataSourceRecordBulkCreateJobCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceRecordBulkCreateJobEnum" }, "attributes": { "type": "object", "properties": { "data-source-records": { "description": "The records to ingest.", "type": "object", "example": { "data": [ { "type": "data-source-record", "attributes": { "record": { "object_record": { "subscription_id": "sub-001", "service_plan": "Monthly Grooming", "visits_per_month": 2, "monthly_rate": 79.99, "is_active": true, "next_appointment": "2026-08-15T10:00:00Z", "pet_id": "pet-001" }, "relationships": { "owners": [ { "id": "sub-001", "email": "alex@example.com", "phone": "+15550001000" }, { "id": "sub-001", "email": "jordan@example.com", "phone": "+15550001001" } ] } } } } ] }, "nullable": true, "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/DataSourceRecordResourceObject" } } }, "required": [ "data" ] } } }, "relationships": { "type": "object", "properties": { "data-source": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceEnum" }, "id": { "description": "The data source to which the records belong.", "type": "string", "example": "01JXKX2HM7NV4QPTR5WE8BF6GY" } }, "required": [ "type", "id" ] } } } } } }, "required": [ "type", "attributes" ] }, "DataSourceRecordBulkCreateJobEnum": { "type": "string", "enum": [ "data-source-record-bulk-create-job" ] }, "DataSourceRecordCreateJobCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/DataSourceRecordCreateJobCreateQueryResourceObject" } }, "required": [ "data" ] }, "DataSourceRecordCreateJobCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceRecordCreateJobEnum" }, "attributes": { "type": "object", "properties": { "data-source-record": { "description": "The records to ingest.", "type": "object", "example": { "data": { "type": "data-source-record", "attributes": { "record": { "object_record": { "subscription_id": "sub-001", "service_plan": "Monthly Grooming", "visits_per_month": 2, "monthly_rate": 79.99, "is_active": true, "next_appointment": "2026-08-15T10:00:00Z", "pet_id": "pet-001" }, "relationships": { "owners": [ { "id": "sub-001", "email": "alex@example.com", "phone": "+15550001000" }, { "id": "sub-001", "email": "jordan@example.com", "phone": "+15550001001" } ] } } } } }, "properties": { "data": { "$ref": "#/components/schemas/DataSourceRecordResourceObject" } }, "required": [ "data" ] } }, "required": [ "data-source-record" ] }, "relationships": { "type": "object", "properties": { "data-source": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceEnum" }, "id": { "description": "The data source to which the records belong.", "type": "string", "example": "01JXKX2HM7NV4QPTR5WE8BF6GY" } }, "required": [ "type", "id" ] } } } } } }, "required": [ "type", "attributes" ] }, "DataSourceRecordCreateJobEnum": { "type": "string", "enum": [ "data-source-record-create-job" ] }, "DataSourceRecordEnum": { "type": "string", "enum": [ "data-source-record" ] }, "DataSourceRecordResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceRecordEnum" }, "attributes": { "type": "object", "properties": { "record": { "type": "object" } }, "required": [ "record" ] } }, "required": [ "type", "attributes" ] }, "DataSourceResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceEnum" }, "id": { "description": "The ID of the data source", "type": "string", "example": "01KH1D6P9Y8TJ7Q6MHXWZMPDN3" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title of the data source", "type": "string", "example": "Pet Care CRM" }, "visibility": { "description": "The status of the data source", "type": "string", "enum": [ "private", "shared" ] }, "description": { "description": "The description of the data source", "type": "string", "example": "Subscription records exported from the pet care CRM" }, "namespace": { "description": "The namespace of the data source", "type": "string", "example": "custom-objects" } }, "required": [ "title", "visibility", "description", "namespace" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "EmbeddedObjectSchemaResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "attributes": { "type": "object", "properties": { "properties": { "description": "Properties of the object schema", "type": "array", "items": { "$ref": "#/components/schemas/APISchemaProperty" }, "nullable": true }, "status": { "description": "The status of this object schema", "type": "string", "example": "draft", "default": "draft", "enum": [ "active", "draft" ], "nullable": true }, "required": { "description": "Properties that are required on the object schema", "type": "array", "items": { "type": "string" }, "nullable": true }, "source-mapping": { "description": "The source mapping to create with this object schema", "type": "object", "nullable": true, "properties": { "data": { "$ref": "#/components/schemas/SourceMappingCreateQueryResourceObject" } }, "required": [ "data" ] } } } }, "required": [ "type", "attributes" ] }, "GetDataSourceResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/DataSourceResponseObjectResource" }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetDataSourceResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/DataSourceResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetIngestionLogResponseCollectionCompoundDocument": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/IngestionLogResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "included": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/ObjectTypeResponseObjectResource" }, { "$ref": "#/components/schemas/ObjectRecordResponseObjectResource" } ] } } }, "required": [ "data" ] }, "GetObjectRecordResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ObjectRecordResponseObjectResource" }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectRecordResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ObjectRecordResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectSchemaProfileObjectSchemasRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The ID of the related profile schema.", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectSchemaResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/ObjectSchemaResponseObjectResource" } ], "nullable": true }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectSchemaResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ObjectSchemaResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectSchemaResponseCompoundDocument": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ObjectSchemaResponseObjectResource" }, "included": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/ObjectSchemaRelationshipResponseObjectResource" }, { "$ref": "#/components/schemas/SourceMappingResponseObjectResource" }, { "$ref": "#/components/schemas/ProfileObjectSchemaRelationshipResponseObjectResource" } ] } }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectSchemaSchemasRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "A compound ID uniquely identifying this relationship, in the format '{related_schema_id}:::{relationship_name}'.", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD:::subscription" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectSchemaSourceMappingRelationshipResponse": { "type": "object", "properties": { "data": { "type": "object", "nullable": true, "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "id": { "description": "The ULID ID of the source mapping", "type": "string", "example": "01K5HQC66PGHV35SYJC5ZV3DZA" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeCurrentSchemaRelationshipResponse": { "type": "object", "properties": { "data": { "type": "object", "nullable": true, "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the object schema", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeDraftSchemaRelationshipResponse": { "type": "object", "properties": { "data": { "type": "object", "nullable": true, "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the object schema", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeIngestionLogsRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectIngestionLogEnum" }, "id": { "description": "The unique ID of the ingestion log entry.", "type": "string", "example": "5f0e7b1a-4a4e-4d0a-b8a1-2f47f1e59c2d" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeProfileObjectTypesRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectTypeEnum" }, "id": { "description": "A compound ID uniquely identifying this relationship, in the format 'profile:::{relationship_name}'.", "type": "string", "example": "profile:::booked_by" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeRecordsRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectRecordEnum" }, "id": { "description": "The compound ID of the object record, formatted as object_type_id:::object_record_id", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD:::sub-001" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeResponseCollectionCompoundDocument": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ObjectTypeResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/ObjectSchemaResponseObjectResource" } } }, "required": [ "data" ] }, "GetObjectTypeResponseCompoundDocument": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ObjectTypeResponseObjectResource" }, "included": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/ObjectTypeRelationshipResponseObjectResource" }, { "$ref": "#/components/schemas/ObjectSchemaResponseObjectResource" }, { "$ref": "#/components/schemas/ProfileTypeRelationshipResponseObjectResource" } ] } }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeSchemaVersionsRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the object schema", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetObjectTypeTypesRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "A compound ID uniquely identifying this relationship, in the format '{related_object_type_id}:::{relationship_name}'.", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD:::subscription" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "GetSourceMappingResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/SourceMappingResponseObjectResource" } ], "nullable": true }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "IngestionLogErrorDetail": { "type": "object", "properties": { "code": { "description": "The machine-readable validation error code.", "type": "string", "example": "string_type" }, "message": { "description": "The human-readable validation error message.", "type": "string", "example": "Input should be a valid string" }, "property": { "description": "The path of the record property that failed validation.", "type": "string", "example": "related_items" }, "invalid_value": { "description": "The value that failed validation, JSON-encoded as a string.", "type": "string", "example": "[\"A1B2C3\",\"D4E5F6\"]", "nullable": true } }, "required": [ "code", "message", "property" ] }, "IngestionLogResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectIngestionLogEnum" }, "id": { "description": "The unique ID of the ingestion log entry.", "type": "string", "example": "5f0e7b1a-4a4e-4d0a-b8a1-2f47f1e59c2d" }, "attributes": { "type": "object", "properties": { "status": { "description": "The severity of the log entry.", "type": "string", "example": "error", "enum": [ "error", "info", "warning" ] }, "event_type": { "description": "The type of ingestion event that produced this log entry.", "type": "string", "example": "validation_error", "enum": [ "validation_error" ] }, "timestamp": { "description": "The date and time when the event occurred.", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "summary": { "description": "A short human-readable summary of the event.", "type": "string", "example": "1 validation error for A3LD92" }, "errors": { "description": "The validation errors for this event. Empty when no structured error detail is available; see `summary` in that case.", "type": "array", "items": { "$ref": "#/components/schemas/IngestionLogErrorDetail" } } }, "required": [ "status", "event_type", "timestamp", "summary", "errors" ] }, "relationships": { "type": "object", "properties": { "object-type": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "The object type these logs belong to.", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "object-record": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectRecordEnum" }, "id": { "description": "The object record that produced this event. Present only when the event is associated with a record; the record may not resolve if it failed validation.", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ObjectIngestionLogEnum": { "type": "string", "enum": [ "object-ingestion-log" ] }, "ObjectLinks": { "type": "object", "properties": { "self": { "type": "string", "format": "uri" } }, "required": [ "self" ] }, "ObjectRecordBulkDeleteJobEnum": { "type": "string", "enum": [ "object-record-bulk-delete-job" ] }, "ObjectRecordDeleteJobCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ObjectRecordDeleteJobCreateQueryResourceObject" } }, "required": [ "data" ] }, "ObjectRecordDeleteJobCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectRecordBulkDeleteJobEnum" }, "relationships": { "type": "object", "properties": { "object-records": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectRecordEnum" }, "id": { "description": "Array of object record IDs to delete.", "type": "string" } } } } } } }, "required": [ "object-records" ] } }, "required": [ "type", "relationships" ] }, "ObjectRecordEnum": { "type": "string", "enum": [ "object-record" ] }, "ObjectRecordResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectRecordEnum" }, "id": { "description": "The compound ID of the object record, formatted as object_type_id:::object_record_id", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD:::sub-001" }, "attributes": { "type": "object", "properties": { "record_properties": { "description": "The properties of this object record as defined by the object schema", "type": "object" } }, "required": [ "record_properties" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ObjectSchemaCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ObjectSchemaCreateQueryResourceObject" } }, "required": [ "data" ] }, "ObjectSchemaCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object schema", "type": "string", "example": "Pet Care Subscription" }, "properties": { "description": "Properties of the object schema", "type": "array", "items": { "$ref": "#/components/schemas/APISchemaProperty" } }, "description": { "description": "The description of this object schema", "type": "string", "nullable": true }, "status": { "description": "The status to create this object schema in. Defaults to `draft`. Setting `active` activates the schema immediately; while activation is in progress, reads may report a `publishing` status.", "type": "string", "example": "draft", "default": "draft", "enum": [ "active", "draft" ], "nullable": true }, "required": { "description": "Properties that are required on the object schema", "type": "array", "items": { "type": "string" }, "nullable": true }, "source-mapping": { "description": "The source mapping to create with this object schema", "type": "object", "nullable": true, "properties": { "data": { "$ref": "#/components/schemas/SourceMappingCreateQueryResourceObject" } }, "required": [ "data" ] } }, "required": [ "title", "properties" ] }, "relationships": { "type": "object", "properties": { "object-type": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "The object type to which the object schema belongs", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" } }, "required": [ "type", "id" ] } } } } } }, "required": [ "type", "attributes" ] }, "ObjectSchemaEnum": { "type": "string", "enum": [ "object-schema" ] }, "ObjectSchemaPartialUpdateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ObjectSchemaPartialUpdateQueryResourceObject" } }, "required": [ "data" ] }, "ObjectSchemaPartialUpdateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the object schema.", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object schema", "type": "string", "nullable": true }, "properties": { "description": "Properties of the object schema", "type": "array", "items": { "$ref": "#/components/schemas/APISchemaProperty" }, "nullable": true }, "description": { "description": "The description of this object schema", "type": "string", "nullable": true }, "status": { "description": "The status to move this object schema to. Only `active` and `draft` may be written; setting `active` activates the schema. While activation is in progress, reads may report a `publishing` status.", "type": "string", "enum": [ "active", "draft" ], "nullable": true }, "required": { "description": "Properties that are required on the object schema", "type": "array", "items": { "type": "string" }, "nullable": true } } } }, "required": [ "type", "id", "attributes" ] }, "ObjectSchemaRelationshipCreateMeta": { "type": "object", "properties": { "name": { "description": "The name of the relationship", "type": "string", "example": "subscription" }, "description": { "description": "The description of the relationship", "type": "string", "example": "The subscription this pet is enrolled in", "default": "", "nullable": true } }, "required": [ "name" ] }, "ObjectSchemaRelationshipCreateQuery": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the related object schema.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" }, "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipCreateMeta", "nullable": true } } } } }, "required": [ "data" ] }, "ObjectSchemaRelationshipDeleteMeta": { "type": "object", "properties": { "relationship_id": { "description": "The ULID ID of the relationship.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" } }, "required": [ "relationship_id" ] }, "ObjectSchemaRelationshipDeleteQuery": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the related object schema.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" }, "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipDeleteMeta", "nullable": true } } } } }, "required": [ "data" ] }, "ObjectSchemaRelationshipMeta": { "type": "object", "properties": { "relationship_id": { "description": "The ULID ID of the relationship.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" }, "name": { "description": "The name of the relationship", "type": "string", "example": "subscription" }, "description": { "description": "The description of the relationship", "type": "string", "example": "The subscription this pet is enrolled in", "nullable": true } }, "required": [ "relationship_id", "name" ] }, "ObjectSchemaRelationshipPartialUpdateQuery": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the related object schema.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" }, "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipUpdateMeta", "nullable": true } }, "required": [ "type", "id" ] } }, "required": [ "data" ] }, "ObjectSchemaRelationshipResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "A compound ID uniquely identifying this relationship, in the format '{related_schema_id}:::{relationship_name}'.", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD:::subscription" }, "attributes": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipMeta", "nullable": true } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ObjectSchemaRelationshipUpdateMeta": { "type": "object", "properties": { "relationship_id": { "description": "The ULID ID of the relationship.", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" }, "name": { "description": "The name of the relationship", "type": "string", "example": "subscription", "nullable": true }, "description": { "description": "The description of the relationship", "type": "string", "example": "The subscription this pet is enrolled in", "nullable": true } }, "required": [ "relationship_id" ] }, "ObjectSchemaResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the object schema", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object schema", "type": "string" }, "description": { "description": "The description of this object schema", "type": "string" }, "status": { "description": "The status of this object schema", "type": "string", "enum": [ "active", "draft", "publishing", "undefined" ] }, "properties": { "description": "Properties of the object schema", "type": "array", "items": { "$ref": "#/components/schemas/APISchemaProperty" } }, "required": { "description": "Properties that are required on the object schema", "type": "array", "items": { "type": "string" } }, "published_at": { "description": "The datetime when this object schema was activated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "visibility": { "description": "The visibility of this object schema", "type": "string", "enum": [ "private", "shared" ] } }, "required": [ "title", "description", "status", "properties", "required", "visibility" ] }, "relationships": { "type": "object", "properties": { "source-mapping": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "id": { "description": "The source mapping for this object schema", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "object-schemas": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The object schema relationships for this object schema", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "profile-object-schemas": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The profile object schema relationships for this object schema", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ObjectTypeCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ObjectTypeCreateQueryResourceObject" } }, "required": [ "data" ] }, "ObjectTypeCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object type. Note that this title moves in lockstep with the associated object-schema title.", "type": "string", "example": "Pet Care Subscription" }, "description": { "description": "The description of this object type. Note that this description moves in lockstep with the associated object-schema description.", "type": "string", "default": "", "nullable": true }, "visibility": { "description": "The visibility of this object type", "type": "string", "example": "private", "default": "private", "enum": [ "private", "shared" ], "nullable": true }, "namespace": { "description": "The namespace of this object type. Either `custom-objects` or `applications/`, where `` is the ULID of the OAuth application that owns the object type. Defaults to `custom-objects`.", "type": "string", "example": "custom-objects", "default": "custom-objects", "nullable": true }, "object-schema": { "description": "The object schema to create with this object type", "type": "object", "nullable": true, "properties": { "data": { "$ref": "#/components/schemas/EmbeddedObjectSchemaResourceObject" } }, "required": [ "data" ] } }, "required": [ "title" ] } }, "required": [ "type", "attributes" ] }, "ObjectTypeEnum": { "type": "string", "enum": [ "object-type" ] }, "ObjectTypeRelationshipMeta": { "type": "object", "properties": { "relationship_id": { "description": "The ULID ID of the relationship", "type": "string", "example": "01K5YKKQKM819VVGCPZZKGE6D4" }, "name": { "description": "The name of the relationship", "type": "string", "example": "subscription" }, "description": { "description": "The description of the relationship", "type": "string", "example": "The subscription this pet is enrolled in", "nullable": true } }, "required": [ "relationship_id", "name" ] }, "ObjectTypeRelationshipResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "A compound ID uniquely identifying this relationship, in the format '{related_object_type_id}:::{relationship_name}'.", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD:::subscription" }, "attributes": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/ObjectTypeRelationshipMeta", "nullable": true } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ObjectTypeResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "The ULID ID of the object type", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object type", "type": "string", "example": "Pet Care Subscription" }, "description": { "description": "The description of this object type", "type": "string" }, "status": { "description": "The status of the schema associated with this object type", "type": "string", "enum": [ "active", "draft", "publishing", "undefined" ] }, "namespace": { "description": "The namespace of this object type. Either `custom-objects` or `applications/`, where `` is the ULID of the OAuth application that owns the object type.", "type": "string" }, "created_at": { "description": "The date and time when this object type was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "updated_at": { "description": "The date and time when this object type was last updated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" } }, "required": [ "title", "description", "status", "namespace", "created_at", "updated_at" ] }, "relationships": { "type": "object", "properties": { "current-schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The current active schema for this object type", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "draft-schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The draft schema for this object type, if one exists", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "schema-versions": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "All schema versions for this object type", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "object-types": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "The object type relationships for this object type", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "profile-object-types": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectTypeEnum" }, "id": { "description": "The profile object type relationships for this object type", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "PatchObjectSchemaResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the object schema", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object schema", "type": "string" }, "description": { "description": "The description of this object schema", "type": "string" }, "status": { "description": "The status of this object schema", "type": "string", "enum": [ "active", "draft", "publishing", "undefined" ] }, "properties": { "description": "Properties of the object schema", "type": "array", "items": { "$ref": "#/components/schemas/APISchemaProperty" } }, "required": { "description": "Properties that are required on the object schema", "type": "array", "items": { "type": "string" } }, "published_at": { "description": "The datetime when this object schema was activated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "visibility": { "description": "The visibility of this object schema", "type": "string", "enum": [ "private", "shared" ] } }, "required": [ "title", "description", "status", "properties", "required", "visibility" ] }, "relationships": { "type": "object", "properties": { "source-mapping": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "id": { "description": "The source mapping for this object schema", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "object-schemas": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The object schema relationships for this object schema", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "profile-object-schemas": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The profile object schema relationships for this object schema", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "PatchSourceMappingResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "id": { "description": "The ULID ID of the source mapping", "type": "string", "example": "01K5HQC66PGHV35SYJC5ZV3DZA" }, "attributes": { "type": "object", "properties": { "property_mappings": { "description": "A mapping of source property IDs to source mappings", "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/ConstantPropertyMapping" }, { "$ref": "#/components/schemas/SimplePropertyMapping" } ] } }, "relationship_mappings": { "description": "A mapping of source relationship IDs to source mappings", "type": "array", "items": { "$ref": "#/components/schemas/SimpleRelationshipMapping" } } }, "required": [ "property_mappings", "relationship_mappings" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "PostDataSourceResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/DataSourceEnum" }, "id": { "description": "The ID of the data source", "type": "string", "example": "01KH1D6P9Y8TJ7Q6MHXWZMPDN3" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title of the data source", "type": "string", "example": "Pet Care CRM" }, "visibility": { "description": "The status of the data source", "type": "string", "enum": [ "private", "shared" ] }, "description": { "description": "The description of the data source", "type": "string", "example": "Subscription records exported from the pet care CRM" }, "namespace": { "description": "The namespace of the data source", "type": "string", "example": "custom-objects" } }, "required": [ "title", "visibility", "description", "namespace" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "PostObjectSchemaResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The ULID ID of the object schema", "type": "string", "example": "01K61DKJ7EKJ0ES9VE456XF5JG" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object schema", "type": "string" }, "description": { "description": "The description of this object schema", "type": "string" }, "status": { "description": "The status of this object schema", "type": "string", "enum": [ "active", "draft", "publishing", "undefined" ] }, "properties": { "description": "Properties of the object schema", "type": "array", "items": { "$ref": "#/components/schemas/APISchemaProperty" } }, "required": { "description": "Properties that are required on the object schema", "type": "array", "items": { "type": "string" } }, "published_at": { "description": "The datetime when this object schema was activated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "visibility": { "description": "The visibility of this object schema", "type": "string", "enum": [ "private", "shared" ] } }, "required": [ "title", "description", "status", "properties", "required", "visibility" ] }, "relationships": { "type": "object", "properties": { "source-mapping": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "id": { "description": "The source mapping for this object schema", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "object-schemas": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The object schema relationships for this object schema", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "profile-object-schemas": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The profile object schema relationships for this object schema", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "PostObjectTypeResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "The ULID ID of the object type", "type": "string", "example": "01JXKYCN9A5M3QPVR8T2WE4BLD" }, "attributes": { "type": "object", "properties": { "title": { "description": "The title for this object type", "type": "string", "example": "Pet Care Subscription" }, "description": { "description": "The description of this object type", "type": "string" }, "status": { "description": "The status of the schema associated with this object type", "type": "string", "enum": [ "active", "draft", "publishing", "undefined" ] }, "namespace": { "description": "The namespace of this object type. Either `custom-objects` or `applications/`, where `` is the ULID of the OAuth application that owns the object type.", "type": "string" }, "created_at": { "description": "The date and time when this object type was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "updated_at": { "description": "The date and time when this object type was last updated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" } }, "required": [ "title", "description", "status", "namespace", "created_at", "updated_at" ] }, "relationships": { "type": "object", "properties": { "current-schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The current active schema for this object type", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "draft-schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "The draft schema for this object type, if one exists", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "schema-versions": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectSchemaEnum" }, "id": { "description": "All schema versions for this object type", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "object-types": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ObjectTypeEnum" }, "id": { "description": "The object type relationships for this object type", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "profile-object-types": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectTypeEnum" }, "id": { "description": "The profile object type relationships for this object type", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" }, "meta": { "$ref": "#/components/schemas/ResponseMeta" } }, "required": [ "data" ] }, "ProfileObjectSchemaEnum": { "type": "string", "enum": [ "profile-object-schema" ] }, "ProfileObjectSchemaRelationshipCreateQuery": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The ID of the profile schema. The profile schema does not exist as a persisted resource, so this value is always \"profile\".", "type": "string", "example": "profile" }, "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipCreateMeta", "nullable": true } } } } }, "required": [ "data" ] }, "ProfileObjectSchemaRelationshipDeleteQuery": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The ID of the profile schema. The profile schema does not exist as a persisted resource, so this value is always \"profile\".", "type": "string", "example": "profile" }, "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipDeleteMeta", "nullable": true } } } } }, "required": [ "data" ] }, "ProfileObjectSchemaRelationshipPartialUpdateQuery": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The ID of the profile schema. The profile schema does not exist as a persisted resource, so this value is always \"profile\".", "type": "string", "example": "profile" }, "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipUpdateMeta", "nullable": true } }, "required": [ "type", "id" ] } }, "required": [ "data" ] }, "ProfileObjectSchemaRelationshipResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectSchemaEnum" }, "id": { "description": "The ID of the related profile schema.", "type": "string" }, "attributes": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/ObjectSchemaRelationshipMeta", "nullable": true } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ProfileObjectTypeEnum": { "type": "string", "enum": [ "profile-object-type" ] }, "ProfileRelationshipSource": { "type": "object", "properties": { "source_id": { "description": "Data source ULID ID", "type": "string", "example": "01JXKX2HM7NV4QPTR5WE8BF6GY" }, "type": { "description": "String literal for serialization", "type": "string", "enum": [ "profile" ] }, "id_path": { "description": "JSONPath data selector to owning ID", "type": "string", "example": "$['relationships']['owners'][*]['id']" }, "related_id_paths": { "description": "List of profile identifier mappings to JSONPath data selectors", "type": "array", "items": { "$ref": "#/components/schemas/RelatedIdPath" }, "example": [ { "identifier_type": "email", "path": "$['relationships']['owners'][*]['email']" }, { "identifier_type": "phone", "path": "$['relationships']['owners'][*]['phone']" } ] }, "update_strategy": { "description": "Strategy for updating relationships with each new RawDataRecord ingestion", "type": "string", "example": "replace_from_origin", "default": "replace_from_origin", "enum": [ "additive", "replace_from_origin" ], "nullable": true } }, "required": [ "source_id", "type", "id_path", "related_id_paths" ] }, "ProfileTypeRelationshipResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ProfileObjectTypeEnum" }, "id": { "description": "A compound ID uniquely identifying this relationship, in the format 'profile:::{relationship_name}'.", "type": "string", "example": "profile:::booked_by" }, "attributes": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/ObjectTypeRelationshipMeta", "nullable": true } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "PropertySource": { "type": "object", "properties": { "source_id": { "description": "Data source ULID ID", "type": "string", "example": "01JXKX2HM7NV4QPTR5WE8BF6GY" }, "id_path": { "description": "JSONPath ID selector", "type": "string", "example": "$['object_record']['subscription_id']" }, "data_path": { "description": "JSONPath data selector", "type": "string", "example": "$['object_record']['service_plan']" } }, "required": [ "source_id", "id_path", "data_path" ] }, "RelatedIdPath": { "type": "object", "properties": { "identifier_type": { "description": "Profile identifier type", "type": "string", "enum": [ "anonymous", "email", "external-id", "klaviyo-id", "phone" ] }, "path": { "description": "JSONPath data selector to related ID", "type": "string", "example": "$['relationships']['owners'][*]['email']" } }, "required": [ "identifier_type", "path" ] }, "RelationshipLinks": { "type": "object", "properties": { "self": { "type": "string", "format": "uri" }, "related": { "type": "string", "format": "uri" } }, "required": [ "self", "related" ] }, "ResponseMeta": { "description": "Response-level metadata", "type": "object", "properties": { "agent_hints": { "$ref": "#/components/schemas/AgentHints" } } }, "SimplePropertyMapping": { "type": "object", "properties": { "id": { "description": "Property ID", "type": "integer", "example": 1 }, "type": { "description": "String literal for serialization", "type": "string", "enum": [ "simple" ] }, "source": { "description": "Data source mapping", "example": { "source_id": "01JXKX2HM7NV4QPTR5WE8BF6GY", "id_path": "$['object_record']['subscription_id']", "data_path": "$['object_record']['service_plan']" }, "$ref": "#/components/schemas/PropertySource" } }, "required": [ "id", "type", "source" ] }, "SimpleRelationshipMapping": { "type": "object", "properties": { "relationship_id": { "description": "Object schema relationship ULID ID", "type": "string", "example": "01K97SE7GH4TE57FVNQY310QAK" }, "type": { "description": "String literal for serialization", "type": "string", "example": "simple", "enum": [ "simple" ] }, "source": { "description": "Data source mapping", "oneOf": [ { "$ref": "#/components/schemas/CustomObjectRelationshipSource" }, { "$ref": "#/components/schemas/ProfileRelationshipSource" } ] } }, "required": [ "relationship_id", "type", "source" ] }, "SourceMappingCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "attributes": { "type": "object", "properties": { "property_mappings": { "description": "A mapping of source property IDs to source mappings", "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/ConstantPropertyMapping" }, { "$ref": "#/components/schemas/SimplePropertyMapping" } ] }, "nullable": true }, "relationship_mappings": { "description": "A mapping of source relationship IDs to source mappings", "type": "array", "items": { "$ref": "#/components/schemas/SimpleRelationshipMapping" }, "nullable": true } } } }, "required": [ "type", "attributes" ] }, "SourceMappingEnum": { "type": "string", "enum": [ "source-mapping" ] }, "SourceMappingPartialUpdateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/SourceMappingPartialUpdateQueryResourceObject" } }, "required": [ "data" ] }, "SourceMappingPartialUpdateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "id": { "description": "The ULID ID of the source mapping", "type": "string", "example": "01K5HQC66PGHV35SYJC5ZV3DZA" }, "attributes": { "type": "object", "properties": { "property_mappings": { "description": "A mapping of source property IDs to source mappings", "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/ConstantPropertyMapping" }, { "$ref": "#/components/schemas/SimplePropertyMapping" } ] }, "nullable": true }, "relationship_mappings": { "description": "A mapping of source relationship IDs to source mappings", "type": "array", "items": { "$ref": "#/components/schemas/SimpleRelationshipMapping" }, "nullable": true } } } }, "required": [ "type", "id", "attributes" ] }, "SourceMappingResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SourceMappingEnum" }, "id": { "description": "The ULID ID of the source mapping", "type": "string", "example": "01K5HQC66PGHV35SYJC5ZV3DZA" }, "attributes": { "type": "object", "properties": { "property_mappings": { "description": "A mapping of source property IDs to source mappings", "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/ConstantPropertyMapping" }, { "$ref": "#/components/schemas/SimplePropertyMapping" } ] } }, "relationship_mappings": { "description": "A mapping of source relationship IDs to source mappings", "type": "array", "items": { "$ref": "#/components/schemas/SimpleRelationshipMapping" } } }, "required": [ "property_mappings", "relationship_mappings" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] } }, "securitySchemes": { "Klaviyo-API-Key": { "type": "apiKey", "in": "header", "name": "Authorization", "description": "Private key authentication for /api/ endpoints is performed by setting the `Authorization` header to `Klaviyo-API-Key your-private-api-key`
For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#authentication", "x-default": "Klaviyo-API-Key your-private-api-key" } } }, "tags": [ { "name": "Custom Objects", "description": "custom objects" } ] }