Patch entity

Applies a partial update to an entity using JSON Patch (RFC 6902).

Path Parameters
subKey string REQUIRED

Subscribe key identifying the keyset.

entityId string REQUIRED

ID of the entity.

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.

Header Parameters
If-Match string

ETag value for optimistic concurrency control. If provided, the update will only succeed if the current resource ETag matches this value.

Request Body REQUIRED
object[]
op string REQUIRED

Possible values: [add, remove, replace, move, copy, test]

The operation to perform

path string REQUIRED

Possible values: Value must match regular expression ^(/[^/]*)*$

JSON Pointer (RFC 6901) to a location within a JSON document. Must be either empty string "" (refers to whole document) or start with "/" followed by reference tokens.

value

The value to add, replace, or test (required for add, replace, test operations)

from string

Possible values: Value must match regular expression ^(/[^/]*)*$

JSON Pointer (RFC 6901) to a location within a JSON document. Must be either empty string "" (refers to whole document) or start with "/" followed by reference tokens.

Responses
200

Successful response

Schema OPTIONAL
data object

Entity record with its concrete class identity.

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).

payload objectNode OPTIONAL
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 JSON Patch operations, which additionally reject patches that target immutable pointers.

CodeConstantCause
DS-0002
BAD_REQUEST
Required header or query parameter missing.
DS-0003
INVALID_JSON
Patch document absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
Patch document, path variable or query parameter failed validation.
DS-0006
INVALID_ARGUMENT
A patch path or from is not a valid JSON Pointer, does not resolve to a container, or uses a non-numeric array index.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
The patched document's property value does not match its valueKind.
DS-0602
UNSUPPORTED_ENTITY_PROPERTY_TYPE
A declared property's path resolves to a non-scalar node after patching.
DS-0650
NON_NULLABLE_PROPERTY
The patch leaves a property declared nullable: false missing or null.
DS-0700
IMMUTABLE_FIELD_MODIFICATION
The patch targets a pointer outside the mutable set. Patch only - full replace does not raise this.
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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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-0203
UNAUTHENTICATED
Neither 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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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-0200
DATASYNC_NOT_ENABLED
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
Access Manager is not enabled for the keyset, auth and signature were both supplied, or the portal authorization check denied the request.
DS-0202
INVALID_TOKEN
The 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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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).

404

Not found.

CodeConstantCause
DS-0100
NOT_FOUND
The addressed resource does not exist. Also returned when a conditional request supplies no If-Match and the resource is absent.
DS-0600
CONFIG_NOT_FOUND
The subscribe key is unknown to the configuration service, or its datasync region is not configured.
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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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
412

Precondition Failed.

CodeConstantCause
DS-0300
ETAG_MISMATCH
The If-Match header does not contain the resource's current ETag.
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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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-0007
UNSUPPORTED_CONTENT_TYPE
The 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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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-0000
INTERNAL_SERVER_ERROR
An 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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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-0009
SERVICE_UNAVAILABLE
A 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-0000
INTERNAL_SERVER_ERROR
500
Unhandled server error, or a server-side routing configuration problem.
DS-0002
BAD_REQUEST
400
Required header or query parameter missing, or request input otherwise unusable.
DS-0003
INVALID_JSON
400
Request body absent, empty, or not valid JSON.
DS-0004
VALIDATION_ERROR
400
Body, path variable or query parameter failed validation. One error item per violation.
DS-0005
INVALID_FILTER
400
filter_fast / filter could not be parsed or validated.
DS-0006
INVALID_ARGUMENT
400
An argument could not be used - a sort field that is not sortable in that request, undecodable cursor, malformed JSON Pointer, parameter type mismatch.
DS-0007
UNSUPPORTED_CONTENT_TYPE
415
Request Content-Type not supported.
DS-0008
UNEXPECTED_FILTERABLE_FIELD_VALUE
400
A declared class property's value does not match its valueKind.
DS-0009
SERVICE_UNAVAILABLE
503
A required dependency is unavailable, or the request could not be forwarded to its region.
DS-0010
NOT_ACCEPTABLE
406
Reserved - not currently emitted. 406 responses carry a text/plain body with no error code.
DS-0011
METHOD_NOT_ALLOWED
405
HTTP method not supported for this path.

Resource (01xx)

CodeConstantStatusMeaning
DS-0100
NOT_FOUND
404
The addressed resource does not exist.

Authorization (02xx)

CodeConstantStatusMeaning
DS-0200
DATASYNC_NOT_ENABLED
403
Datasync is not enabled for this subscribe key.
DS-0201
ACCESS_DENIED
403
Access Manager not enabled, conflicting credentials supplied, or authorization check denied.
DS-0202
INVALID_TOKEN
403
The auth PAM token could not be decoded, or its projection does not permit the requested fields.
DS-0203
UNAUTHENTICATED
401
No credentials supplied.

State (03xx)

CodeConstantStatusMeaning
DS-0300
ETAG_MISMATCH
412
If-Match does not contain the resource's current ETag.
DS-0301
CONFLICT
409
A resource with the same identity already exists.

Size limits (04xx)

CodeConstantStatusMeaning
DS-0400
CONTENT_TOO_LARGE
413
Reserved - not currently emitted.

Custom fields (05xx)

CodeConstantStatusMeaning
DS-0500
CUSTOM_NOT_SCALAR
400
Reserved - not currently emitted.

Configuration (06xx)

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

Patch (07xx)

CodeConstantStatusMeaning
DS-0700
IMMUTABLE_FIELD_MODIFICATION
400
A patch targets a pointer outside the mutable set. Patch only.

Relationships (08xx)

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

Class management (09xx)

CodeConstantStatusMeaning
DS-0900
GLOBAL_CLASS_MODIFICATION
403
Global class definitions are read-only. Replace and delete only.
DS-0901
PROJECTION_LIMIT_EXCEEDED
400
Distinct projections across all properties exceed the per-class maximum.
DS-0902
INVALID_PROJECTION_NAME
400
Projection name too long or malformed, or a property declares an empty projection list.
DS-0903
INCOMPATIBLE_CHILD_PROPERTY
400
A redeclared inherited property differs from the parent in path, valueKind, or nullable. Entity classes only.
DS-0904
MISSING_PARENT_PROPERTY
400
Reserved - not currently emitted. Missing parent properties are inherited automatically.
DS-0905
CLASS_HAS_CHILDREN
409
The class still has subclasses and cannot be deleted. Entity classes only.
DS-0906
RESERVED_PROPERTY_NAME
400
A 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).

If-Match
Type: string
ETag value for optimistic concurrency control. If provided, the update will only succeed if the current resource ETag matches this value.
* required
subKey*
Type: string
Subscribe key identifying the keyset.
entityId*
Type: string
ID of the entity.
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 JSON Patch operations, which additionally reject patches that target
immutable pointers.
CodeConstantCause
DS-0002BAD_REQUESTRequired header or query parameter missing.
DS-0003INVALID_JSONPatch document absent, empty, or not valid JSON.
DS-0004VALIDATION_ERRORPatch document, path variable or query parameter failed validation.
DS-0006INVALID_ARGUMENTA patch path or from is not a valid JSON Pointer, does not resolve to a container, or uses a non-numeric array index.
DS-0008UNEXPECTED_FILTERABLE_FIELD_VALUEThe patched document's property value does not match its valueKind.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPEA declared property's path resolves to a non-scalar node after patching.
DS-0650NON_NULLABLE_PROPERTYThe patch leaves a property declared nullable: false missing or null.
DS-0700IMMUTABLE_FIELD_MODIFICATIONThe patch targets a pointer outside the mutable set. Patch only - full replace does not raise this.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0700",
      "message": "Cannot modify immutable field: /id. Only [/payload, /status] can be modified"
    }
  ]
}
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 found.
CodeConstantCause
DS-0100NOT_FOUNDThe addressed resource does not exist. Also returned when a conditional request supplies no If-Match and the resource is absent.
DS-0600CONFIG_NOT_FOUNDThe subscribe key is unknown to the configuration service, or its datasync region is not configured.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0100",
      "message": "Entity not found: user-42"
    }
  ]
}
Not Acceptable - the Accept header does not contain a supported value.

This response carries a text/plain body and no error code.
Precondition Failed.
CodeConstantCause
DS-0300ETAG_MISMATCHThe If-Match header does not contain the resource's current ETag.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0300",
      "message": "ETag mismatch: provided ETag '3' does not match current version"
    }
  ]
}
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"
    }
  ]
}