Relations
Retrieves a paginated list of all relations, optionally filtered by status. Default status is 'approved'.
Filter by status. Default: 'approved'
OK
Unauthorized
Forbidden
Internal Server Error
GET /api/relations HTTP/1.1
Accept: */*
{
"_actions": {
"create": {
"href": "/api/relations",
"input": {},
"method": "POST"
},
"search": {
"href": "/api/relations/search",
"input": {},
"method": "POST"
}
},
"data": [
{
"context": {},
"deleted_at": null,
"disabled_at": null,
"disabled_reason": null,
"id": 1,
"inserted_at": "2025-01-01T00:00:00Z",
"origin": null,
"source_id": 123,
"source_type": "business_concept",
"status": null,
"tag": null,
"tag_id": null,
"tag_type": null,
"tags": [],
"target_id": 456,
"target_type": "data_field",
"updated_at": "2025-01-01T00:00:00Z"
}
]
}Creates a new relation between two resources. The relation can include context, tags, origin, and status information.
Created
Bad Request
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
POST /api/relations HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 179
{
"relation": {
"context": {
"some": "value"
},
"origin": "manual",
"source_id": 123,
"source_type": "business_concept",
"status": null,
"tag_ids": [
1
],
"target_id": 456,
"target_type": "data_field"
}
}{
"data": {
"context": {},
"deleted_at": null,
"disabled_at": null,
"disabled_reason": null,
"id": 1,
"inserted_at": "2025-01-01T00:00:00Z",
"origin": null,
"source_id": 123,
"source_type": "business_concept",
"status": null,
"tag": null,
"tag_id": null,
"tag_type": null,
"tags": [],
"target_id": 456,
"target_type": "data_field",
"updated_at": "2025-01-01T00:00:00Z"
}
}Permanently removes multiple relations from the database based on a list of IDs. This operation is irreversible and requires administrative privileges.
List of relation IDs to permanently delete
OK
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
DELETE /api/relations/hard_delete HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"ids": [
1,
2,
3
]
}{
"data": {
"deleted": [
1,
2
],
"errors": []
}
}Searches for relations based on resource IDs and types, with optional status filtering. Supports both resource-based and parameter-based search modes.
Related resource type (required for resource-based search)
Root resource ID for search (required for resource-based search)
Root resource type (required for resource-based search)
Source ID (alternative search)
Source type (alternative search)
Status filter (defaults to 'approved')
OK
Unauthorized
Forbidden
Internal Server Error
POST /api/relations/search HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 105
{
"related_to_type": "data_field",
"resource_id": 123,
"resource_type": "business_concept",
"status": "approved"
}{
"_actions": {
"create": {
"href": "/api/relations",
"input": {},
"method": "POST"
},
"search": {
"href": "/api/relations/search",
"input": {},
"method": "POST"
}
},
"data": [
{
"context": {},
"deleted_at": null,
"disabled_at": null,
"disabled_reason": null,
"id": 1,
"inserted_at": "2025-01-01T00:00:00Z",
"origin": null,
"source_id": 123,
"source_type": "business_concept",
"status": null,
"tag": null,
"tag_id": null,
"tag_type": null,
"tags": [],
"target_id": 456,
"target_type": "data_field",
"updated_at": "2025-01-01T00:00:00Z"
}
]
}Retrieves the full details of a single relation by its unique identifier, including associated tags and enriched attributes.
Relation ID
OK
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/relations/{id} HTTP/1.1
Accept: */*
{
"data": {
"context": {},
"deleted_at": null,
"disabled_at": null,
"disabled_reason": null,
"id": 1,
"inserted_at": "2025-01-01T00:00:00Z",
"origin": null,
"source_id": 123,
"source_type": "business_concept",
"status": null,
"tag": null,
"tag_id": null,
"tag_type": null,
"tags": [],
"target_id": 456,
"target_type": "data_field",
"updated_at": "2025-01-01T00:00:00Z"
}
}Performs a soft delete of a relation by setting its deleted_at timestamp, making it invisible in search results but retaining the data for auditing.
Relation ID
Relation deleted
No content
Unauthorized
Forbidden
Not Found
Internal Server Error
DELETE /api/relations/{id} HTTP/1.1
Accept: */*
No content
Last updated