Create relationship

Creates a new relationship of a given relationship class.

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 relationship

id string

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

Relationship identifier (optional - server generates if not provided)

payload objectNode
entityAId string — REQUIRED

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

First entity ID

entityBId string — REQUIRED

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

Second entity ID

relationshipClass string — REQUIRED

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

relationshipClassVersion integer — REQUIRED

Possible values: 1 ≤ value

Version of the relationship class

status string

Possible values: 1 ≤ length ≤ 100

Relationship status

Responses
201

Relationship created successfully

Schema — OPTIONAL
data object

Relationship record between two entities.

entityAId string

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

First entity ID

entityBId string

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

Second entity ID

payload objectNode — OPTIONAL
relationshipClass string — OPTIONAL

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

Name of the relationship class.

relationshipClassVersion integer — OPTIONAL

Possible values: 1 ≤ value

Version of the relationship class.

id string — OPTIONAL

Possible values: 1 ≤ length ≤ 255

createdAt date-time — OPTIONAL

Date and time the entity was created.

updatedAt date-time

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 relationship and membership creation, which additionally validates that each endpoint entity's class satisfies the relationship 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.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPEA declared property's path resolves to a non-scalar node.
DS-0650NON_NULLABLE_PROPERTYA property declared nullable: false is missing or explicitly null.
DS-0800WRONG_ENTITY_CLASS_TYPEAn endpoint entity's class is not the class the relationship class requires for that side. Create only.
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).

404

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.
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. Adds the cardinality guard, which applies to relationship creation.

CodeConstantCause
DS-0301CONFLICTA relationship with the same identity already exists, or the two entities are already related through this relationship class.
DS-0801CARDINALITY_VIOLATEDThe relationship class declares ONE-TO-ONE or ONE-TO-MANY and the cardinality is already satisfied. Not raised for MANY-TO-MANY classes.
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 relationship and membership creation, which additionally validates that
each endpoint entity's class satisfies the relationship 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.
DS-0602UNSUPPORTED_ENTITY_PROPERTY_TYPEA declared property's path resolves to a non-scalar node.
DS-0650NON_NULLABLE_PROPERTYA property declared nullable: false is missing or explicitly null.
DS-0800WRONG_ENTITY_CLASS_TYPEAn endpoint entity's class is not the class the relationship class requires for that side. Create only.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0800",
      "message": "Entity 'ch-1' has class 'User' but relationship expected 'Channel' for side A"
    }
  ]
}
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.
Conflict. Adds the cardinality guard, which applies to relationship creation.
CodeConstantCause
DS-0301CONFLICTA relationship with the same identity already exists, or the two entities are already related through this relationship class.
DS-0801CARDINALITY_VIOLATEDThe relationship class declares ONE-TO-ONE or ONE-TO-MANY and the cardinality is already satisfied. Not raised for MANY-TO-MANY classes.
errors
Type: array
Array items:
items
Type: object
Error object
Example Response
{
  "errors": [
    {
      "errorCode": "DS-0801",
      "message": "ONE-TO-ONE relationship violated for relationship class 'Ownership'"
    }
  ]
}
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"
    }
  ]
}