Skip to main content

Manage Dialect

Retrieve an output format dialect by ID, apply partial updates to its formatting config with automatic version increments, or delete it permanently.

These endpoints manage a single output format dialect: retrieve its current formatting configuration with GET /v1/dialects/:id, update individual fields with PUT /v1/dialects/:id, or delete it entirely. Updates are partial: send only the fields you want to change, and the rest remain untouched. Each update automatically increments the dialect version number.

Retrieve a dialect to inspect its current formatting rules before applying it to a schema. The response includes the config object with whichever of the six formatting dimensions are set, the current version, and timestamps showing when it was created and last modified.

Deleting a dialect is permanent and cannot be undone. Before deleting, ensure no active schemas reference the dialect — otherwise those schemas will fall back to platform default formatting on their next extraction run.

The version number provides a lightweight change-tracking mechanism. Downstream consumers can compare the dialect version against their last-seen version to detect formatting changes without inspecting every config field individually.

GET/v1/dialects/:id

Get Response

Response fields

idstringDialect UUID.
namestringHuman-readable dialect name.
versionintegerCurrent version number.
configobjectFull formatting configuration.
config.date_formatstringDate format string.
config.number_localestringBCP 47 locale tag for number formatting.
config.delimiterstringCSV field delimiter.
config.null_representationstringString used for null/missing values.
config.encodingstringOutput character encoding.
config.boolean_formatstring[]Two-element [truthy, falsy] pair.
created_atstringISO 8601 creation timestamp.
updated_atstringISO 8601 last update timestamp.
links.selfstringURL to this dialect.

GET Response

{
  "id": "d1a2b3c4-e5f6-7890-abcd-ef1234567890",
  "name": "European CSV",
  "version": 2,
  "config": {
    "date_format": "DD/MM/YYYY",
    "number_locale": "de-DE",
    "delimiter": ";",
    "null_representation": "N/A",
    "encoding": "utf-8",
    "boolean_format": ["Ja", "Nein"]
  },
  "created_at": "2024-10-01T08:00:00.000Z",
  "updated_at": "2024-11-15T14:30:00.000Z",
  "links": {
    "self": "/v1/dialects/d1a2b3c4-e5f6-7890-abcd-ef1234567890"
  }
}

Update Dialect

Updating a dialect increments its version number automatically. All schemas referencing this dialect will use the new formatting rules on subsequent extraction runs. Existing extraction results are not retroactively reformatted.
PUT/v1/dialects/:id

Body parameters

namestringUpdated dialect name.
date_formatstringUpdated date format string.
number_localestringUpdated number locale.
delimiterstringUpdated CSV delimiter.
null_representationstringUpdated null representation string.
encodingstringUpdated encoding.
boolean_formatstring[]Updated [truthy, falsy] pair.

Partial update via curl

Update response

{
  "id": "d1a2b3c4-e5f6-7890-abcd-ef1234567890",
  "name": "European CSV",
  "version": 3,
  "config": {
    "date_format": "YYYY-MM-DD",
    "number_locale": "en-GB",
    "delimiter": ";",
    "null_representation": "N/A",
    "encoding": "utf-8",
    "boolean_format": ["Ja", "Nein"]
  },
  "created_at": "2024-10-01T08:00:00.000Z",
  "updated_at": "2024-12-20T10:45:00.000Z",
  "links": {
    "self": "/v1/dialects/d1a2b3c4-e5f6-7890-abcd-ef1234567890"
  }
}

Delete Dialect

DELETE/v1/dialects/:id

Delete response

{
  "deleted": true
}

Deleting a dialect removes the formatting configuration permanently. Schemas that previously referenced this dialect will fall back to platform default formatting on their next extraction run. Historical extraction results are not affected — they retain whatever formatting was applied at the time of extraction.

Errors

Error responses

400validation_errorInvalid dialect ID format or invalid boolean_format array.
401unauthorizedMissing or invalid API key.
404not_foundNo dialect with this ID exists for your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.