{
"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"
}
]
}