Skip to content

Declare relationship definitions

POST /api/v1/ontology/relationships: request fields and declared response contract.

POST/api/v1/ontology/relationships

Authorization
Permissionontology.declareRelationship
Workspace scoperequired
Scope targetworkspace

Request body

Request body fields
FieldTypeRequiredNullableDefault
definitionobjectrequirednon-null—
definition.relationshipIdstringrequirednon-null—
definition.edgeKindstringrequirednon-null—
definition.displayNamestringrequirednon-null—
definition.descriptionstringoptionalnon-null—
definition.sourceobjectrequirednon-null—
definition.source.selectorunknownrequirednon-null—
definition.source.rolestringrequirednon-null—
definition.source.labelstringrequirednon-null—
definition.source.cardinality"one" | "many"requirednon-null—
definition.targetobjectrequirednon-null—
definition.target.selectorunknownrequirednon-null—
definition.target.rolestringrequirednon-null—
definition.target.labelstringrequirednon-null—
definition.target.cardinality"one" | "many"requirednon-null—
definition.directedbooleanrequirednon-null—
definition.propertyContractobjectrequirednon-null—
definition.propertyContract.schemaVersionintegerrequirednon-null—
definition.propertyContract.propertiesarrayrequirednon-null—
definition.mutationobjectrequirednon-null—
definition.mutation.writePolicy"createOnly" | "upsert" | "accumulate"requirednon-null—
definition.mutation.duplicateIdentity"endpoints" | "endpointsAndKey"requirednon-null—
definition.mutation.requiresIdempotencyKeybooleanrequirednon-null—
definition.mutation.deleteBehavior"hardDelete" | "tombstone" | "forbidden"requirednon-null—
definition.authorityobjectrequirednon-null—
definition.authority.authorsarrayrequirednon-null—
definition.authority.externalSystemRefstringoptionalnon-null—
definition.authority.requiresReconciliationbooleanrequirednon-null—
definition.authority.requiresSourceRefsbooleanrequirednon-null—
definition.projectionobjectrequirednon-null—
definition.projection.searchbooleanrequirednon-null—
definition.projection.graphbooleanrequirednon-null—
definition.projection.freshnessObjectiveSecondsintegerrequirednon-null—
definition.scoringobjectoptionalnon-null—
definition.scoring.baseWeightnumberrequirednon-null—
definition.scoring.dailyDecaynumberrequirednon-null—
expectedVersionintegeroptionalnon-null—
acknowledgeBreakingChangebooleanoptionalnon-null—

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataunknownrequirednon-null—

Declared failures

Declared failures
ONTOLOGY_DECLARE_RELATIONSHIP_FAILED400 — not retryable

Readback

Read the result back with:

  • ontology.getRelationshipDefinition

Request example

Schematic only. Replace placeholders with real values and include all required nested fields.

POST /api/v1/ontology/relationships HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json

{
  "definition": {}
}