Create channel

Creates a new channel.

Path Parameters
subKey string — REQUIRED

Subscribe key identifying the keyset.

Query Parameters
auth string

Required unless you supply signature instead. An Access Manager token authorizing the operation. Use this for client-side callers.

Supply either auth or signature, never both. Supplying neither returns 401 (DS-0203). Supplying both returns 403 (DS-0201).

If the token cannot be decoded, or its projection does not permit the requested fields, the request fails with 403 (DS-0202, INVALID_TOKEN).

signature string

Required unless you supply auth instead. A signature proving the request was signed with the secret key for this keyset. Use this for server-side callers.

Supply either signature or auth, never both. Supplying neither returns 401 (DS-0203). Supplying both returns 403 (DS-0201).

Refer to Signature generation for how to compute it.

Request Body — REQUIRED
data object — REQUIRED

Data payload for creating a channel

payload objectNode
id string

Possible values: 1 ≤ length ≤ 255, Value must match regular expression ^[^,:\*\/\\\s\x00-\x1f\x7f]+$

Channel identifier (optional - server generates if not provided)

entityClassVersion integer — REQUIRED

Possible values: 1 ≤ value

Version of the entity class

entityClass string

Possible values: 1 ≤ length

Entity class name (optional - defaults to "Channel"). Must be Channel or a subclass of Channel.

entityClassLevel string

Possible values: [Global, SubKey]

Class hierarchy level to disambiguate classes with same name at different levels (optional)

status string

Possible values: 1 ≤ length ≤ 100

Channel status

Responses
201

Channel created successfully

Schema — OPTIONAL
data object

Channel resource - a specialized Entity of the Channel class (or one of its descendant classes).

payload objectNode — OPTIONAL
entityClass string

Possible values: 1 ≤ length ≤ 128, Value must match regular expression ^[a-zA-Z][a-zA-Z0-9_-]*$

Name of the entity class.

entityClassVersion integer

Possible values: 1 ≤ value

Version of the entity class.

entityClassLevel string

Possible values: [Global, SubKey]

The level at which the entity class is defined.

id string — OPTIONAL

Possible values: 1 ≤ length ≤ 255

createdAt date-time — OPTIONAL

Date and time the entity was created.

updatedAt date-time — OPTIONAL

Date and time the entity was last updated.

eTag string

The entity's content fingerprint used in conditional requests.

status string — OPTIONAL

Possible values: 1 ≤ length ≤ 100

Entity status

expiresAt date-time

Date and time when the entity expires (will be deleted automatically).

meta object — OPTIONAL

Cursor-based pagination metadata

next_cursor string — OPTIONAL

Opaque cursor for the next page. Base64-encoded token. Use this value in the cursor query parameter to fetch the next page. Null if there are no more results (has_next is false).

has_next boolean

Indicates whether there are more results after this page

limit integer — OPTIONAL

The limit applied to this page (may differ from requested limit)

400

Bad request. For create and replace operations, which extract and type-check the values of the properties declared on the resource's class.

CodeConstantCause
DS-0002BAD_REQUESTRequired header or query parameter missing.
DS-0003INVALID_JSONRequest body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERRORBody, path variable or query parameter failed validation.
DS-0006INVALID_ARGUMENTA parameter or body value could not be used.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUEA declared property's value does not match its valueKind. path is the property's JSON Pointer.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPEA declared property's path resolves to a non-scalar node (object or array). path is the property's JSON Pointer.
DS-0650NON_NULLABLE_PROPERTYA property declared nullable: false is missing or explicitly null. path is the property's JSON Pointer.
Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

401

Unauthorized - no usable credentials were supplied.

CodeConstantCause
DS-0203UNAUTHENTICATEDNeither a PAM token (auth) nor a request signature was supplied, or the portal session token is missing.
Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

403

Forbidden - credentials were recognised but the request is not permitted.

CodeConstantCause
DS-0200DATASYNC_NOT_ENABLEDDatasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIEDAccess Manager is not enabled for the keyset, auth and signature were both supplied, or the portal authorization check denied the request.
DS-0202INVALID_TOKENThe auth PAM token could not be decoded, or its projection does not permit the requested fields.
Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

406

Not Acceptable - the Accept header does not contain a supported value.

This response carries a text/plain body and no error code.

Schema — OPTIONAL
string
409

Conflict.

CodeConstantCause
DS-0301CONFLICTA resource with the same identity already exists.
Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

415

Unsupported Media Type.

CodeConstantCause
DS-0007UNSUPPORTED_CONTENT_TYPEThe request Content-Type is not supported by this operation.
Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

429

Too Many Requests - rate limit exceeded.

Rate limiting is applied by the edge in front of this service; the service itself defines no error code for this status. Clients should not rely on an error code being present.

Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

500

Internal server error.

CodeConstantCause
DS-0000INTERNAL_SERVER_ERRORAn unhandled error occurred, or the request could not be routed because of a server-side configuration problem.
Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

503

Service Unavailable.

CodeConstantCause
DS-0009SERVICE_UNAVAILABLEA dependency required to serve the request is unavailable, or the request could not be forwarded to its target region. A Retry-After header may be present.
Schema — OPTIONAL
errors object[] — OPTIONAL
errorCode string

A machine-readable error code. Stable across releases - use this, not message, for programmatic branching. The HTTP status for a given code is fixed.

Codes are grouped by range. Not every code can occur on every operation; each response documents the subset it can return.

Generic

CodeConstantStatusMeaning
DS-0000INTERNAL_SERVER_ERROR500Unhandled server error, or a server-side routing configuration problem.
DS-0002BAD_REQUEST400Required header or query parameter missing, or request input otherwise unusable.
DS-0003INVALID_JSON400Request body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERROR400Body, path variable or query parameter failed validation. One error item per violation.
DS-0005INVALID_FILTER400filter_fast / filter could not be parsed or validated.
DS-0006INVALID_ARGUMENT400An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007UNSUPPORTED_CONTENT_TYPE415Request Content-Type not supported.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUE400A declared class property's value does not match its valueKind.
DS-0009SERVICE_UNAVAILABLE503A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010NOT_ACCEPTABLE406Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011METHOD_NOT_ALLOWED405HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100NOT_FOUND404The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200DATASYNC_NOT_ENABLED403Datasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIED403Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202INVALID_TOKEN403The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203UNAUTHENTICATED401No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300ETAG_MISMATCH412If-Match does not contain the resource's current ETag.
DS-0301CONFLICT409A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400CONTENT_TOO_LARGE413Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500CUSTOM_NOT_SCALAR400Reserved - not currently emitted.

Configuration (06xx)

CodeConstantStatusMeaning
DS-0600CONFIG_NOT_FOUND404Subscribe key unknown to the configuration service, or its datasync region is not configured.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPE400A declared property's path resolves to a non-scalar node (object or array).
DS-0650NON_NULLABLE_PROPERTY400A property declared nullable: false is missing or explicitly null.

Patch (07xx)

CodeConstantStatusMeaning
DS-0700IMMUTABLE_FIELD_MODIFICATION400A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

CodeConstantStatusMeaning
DS-0800WRONG_ENTITY_CLASS_TYPE400An endpoint entity's class does not satisfy the relationship class for that side. Create only.
DS-0801CARDINALITY_VIOLATED409ONE-TO-ONE or ONE-TO-MANY cardinality already satisfied. Create only.

Class management (09xx)

CodeConstantStatusMeaning
DS-0900GLOBAL_CLASS_MODIFICATION403Global class definitions are read-only. Replace and delete only.
DS-0901PROJECTION_LIMIT_EXCEEDED400Distinct projections across all properties exceed the per-class maximum.
DS-0902INVALID_PROJECTION_NAME400Projection name too long or malformed, or a property declares an empty projection list.
DS-0903INCOMPATIBLE_CHILD_PROPERTY400A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904MISSING_PARENT_PROPERTY400Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905CLASS_HAS_CHILDREN409The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906RESERVED_PROPERTY_NAME400A declared property uses the name of a built-in record field (id, createdAt, updatedAt, status). Only status may be re-declared, and only as {name: "status", path: "/status"} to control its projections.
message string

A human-readable description of the error, intended for logs and diagnostics. Not stable across releases - do not parse or branch on it.

path string — OPTIONAL

Location of the input that caused the error. Present only for codes that can identify one. The form depends on the code: a JSON Pointer into the request payload (DS-0008, DS-0602, DS-0650), a query parameter name (filter for DS-0005, sort for DS-0006), a field name (DS-0004), or a class property name (DS-0903).

* required
subKey*
Type: string
Subscribe key identifying the keyset.
auth
Type: string
Required unless you supply signature instead. An Access Manager token authorizing the operation. Use this for client-side callers.

Supply either auth or signature, never both. Supplying neither returns 401 (DS-0203). Supplying both returns 403 (DS-0201).

If the token cannot be decoded, or its projection does not permit the requested fields, the request fails with 403 (DS-0202, INVALID_TOKEN).
signature
Type: string
Required unless you supply auth instead. A signature proving the request was signed with the secret key for this keyset. Use this for server-side callers.

Supply either signature or auth, never both. Supplying neither returns 401 (DS-0203). Supplying both returns 403 (DS-0201).

Refer to Signature generation for how to compute it.
Bad request. For create and replace operations, which extract and type-check the values of
the properties declared on the resource's class.
CodeConstantCause
DS-0002BAD_REQUESTRequired header or query parameter missing.
DS-0003INVALID_JSONRequest body absent, empty, or not valid JSON.
DS-0004VALIDATION_ERRORBody, path variable or query parameter failed validation.
DS-0006INVALID_ARGUMENTA parameter or body value could not be used.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUEA declared property's value does not match its valueKind. path is the property's JSON Pointer.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPEA declared property's path resolves to a non-scalar node (object or array). path is the property's JSON Pointer.
DS-0650NON_NULLABLE_PROPERTYA property declared nullable: false is missing or explicitly null. path is the property's JSON Pointer.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0008",
      "message": "Field at '/payload/score' with value \"high\" is not of expected type 'number'",
      "path": "/payload/score"
    }
  ]
}
Unauthorized - no usable credentials were supplied.
CodeConstantCause
DS-0203UNAUTHENTICATEDNeither a PAM token (auth) nor a request signature was supplied, or the portal session token is missing.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0203",
      "message": "Authentication required: provide either a PAM token via 'auth' parameter or a request signature."
    }
  ]
}
Forbidden - credentials were recognised but the request is not permitted.
CodeConstantCause
DS-0200DATASYNC_NOT_ENABLEDDatasync is not enabled for this subscribe key.
DS-0201ACCESS_DENIEDAccess Manager is not enabled for the keyset, auth and signature were both supplied, or the portal authorization check denied the request.
DS-0202INVALID_TOKENThe auth PAM token could not be decoded, or its projection does not permit the requested fields.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0200",
      "message": "Datasync not enabled for this subscribe key"
    }
  ]
}
Not Acceptable - the Accept header does not contain a supported value.

This response carries a text/plain body and no error code.
Conflict.
CodeConstantCause
DS-0301CONFLICTA resource with the same identity already exists.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0301",
      "message": "Entity class 'Product' with version 1 already exists"
    }
  ]
}
Unsupported Media Type.
CodeConstantCause
DS-0007UNSUPPORTED_CONTENT_TYPEThe request Content-Type is not supported by this operation.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0007",
      "message": "Content type text/plain is not supported"
    }
  ]
}
Too Many Requests - rate limit exceeded.

Rate limiting is applied by the edge in front of this service; the service itself defines no
error code for this status. Clients should not rely on an error code being present.
errors
Type: array
Array items:
items
Type: object
Error object
Internal server error.
CodeConstantCause
DS-0000INTERNAL_SERVER_ERRORAn unhandled error occurred, or the request could not be routed because of a server-side configuration problem.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0000",
      "message": "Internal server error"
    }
  ]
}
Service Unavailable.
CodeConstantCause
DS-0009SERVICE_UNAVAILABLEA dependency required to serve the request is unavailable, or the request could not be forwarded to its target region. A Retry-After header may be present.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0009",
      "message": "Service temporarily unavailable"
    }
  ]
}