Create a data model
Create a new data model in the service account's workspace.
/api/json/v1/data_models
Access and behavior
- Required scope
- api_write
- Authentication
- Bearer token
- Idempotency
- supported
- Operation ID
- createDataModel
Request headers
| Header | Presence | Description |
|---|---|---|
| Authorization | Required | Short-lived service-account bearer token. |
| Accept | Required | JSON:API response media type. |
| Idempotency-Key | Optional | Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409. |
| Content-Type | Required | Request document media type. |
Parameters
include
query · Optional
string
Relationship paths to include in the response
fields
query · Optional
object
Limits the response fields to only those listed for each type
Request body
application/vnd.api+json
Schema: object
· Required
description
Optional
string | null
Human-readable description.
name
Required
string
Human-readable name, e.g. "Customer"
organization_id
Optional
string | null
Organization that owns the resource.
retention_days
Optional
integer | null
How many days of records to keep. Records observed before that window are permanently deleted by the nightly sweep. Nil keeps every record.
slug
Required
string
URL-safe identifier, e.g. "customer" (unique per organization)
{
"data": {
"attributes": {
"description": "<description>",
"name": "Example",
"organization_id": "00000000-0000-4000-8000-000000000001",
"retention_days": 1,
"slug": "<slug>"
},
"type": "resource"
}
}
Success response
- Media type
- application/vnd.api+json
- Schema
- object
Errors and retries
Keep x-request-id
from failed responses. Retry only rows marked retryable, and obey
Retry-After
when present.
| Status | Code | Recovery | Meaning |
|---|---|---|---|
| 401 | unauthorized | Do not retry unchanged | A valid bearer token is required. |
| 403 | forbidden | Do not retry unchanged | The service account lacks the required scope or object access. |
| 429 | rate_limited | Retry after guidance | The request exceeded its rate window; wait for Retry-After. |
| 409 | idempotency_key_reused | Do not retry unchanged | The key was previously used for a different request. |
| 422 | invalid_request | Do not retry unchanged | The request document failed resource validation. |