For the complete documentation index, see llms.txt. This page is also available as Markdown.

HTTP Integration

Use direct HTTP calls if you need full control.

Use direct HTTP calls when you need full control, a language without an official SDK, or custom retry/idempotency logic.

Authentication

Pass your API key in one of the following headers:

  • Authorization: Bearer <API_KEY>

  • X-API-Key: <API_KEY>

Never expose the key in browser code, mobile apps, or public repositories.

Base URL

Environment
URL

SaaS production

https://app.veilio.xyz/api

On-premise

https://<your-domain>/api

Local development

http://localhost:3000/api

Use https://app.veilio.xyz/api, not api.veilio.com.

Supported data types (type field)

The type field is optional but recommended for audit, SIEM events, and dashboard filtering.

Type
Example

email

john@example.com

phone

+33612345678

ssn

123-45-6789

iban

FR7630006000011234567890189

address

10 rue de la Paix, Paris

firstName / lastName

Personal names

birthdate

1990-01-15

Custom string

Any label your app uses consistently


Core endpoints

Method
Path
Description

POST

/tokenize

Single field

POST

/tokenize/bulk

Batch fields

POST

/tokenize/format

JSON / CSV / SQL in-place

POST

/detokenize

Reveal one token

POST

/detokenize/bulk

Reveal many tokens

POST

/detokenize/format

Restore structured data

POST

/tokens/shred

Irreversible crypto-shred

POST

/flows/ingest

Form / lead JSON ingestion

See the full API Reference for dashboard, dataset, and compliance routes.


Tokenize

Request body

Field
Required
Description

data

Yes

Sensitive string to tokenize

type

No

Data category (see table above)

metadata

No

Arbitrary JSON (e.g. entityId for profile grouping)

retention

No

{ "ttlDays": 30 } or { "retentionUntil": "2026-12-31T23:59:59.000Z" }

Response 200


Detokenize

Response 200

Response 410 — token was cryptographically shredded (TOKEN_SHREDDED).


Bulk tokenize

Response 200

Partial failures include an errors array with { "field": 0, "error": "..." }.


Bulk detokenize

The top-level reason is optional — it creates one audit log line for the whole batch.

Response 200


Tokenize format (JSON, CSV, SQL)

Response 200

CSV options: options.csv.delimiter, options.csv.hasHeaders.


Detokenize format

Response 200


Shred a token

Immediately and irreversibly destroy a token (GDPR erasure, right to be forgotten).

Response 200


Flow ingest (form / lead payloads)

Tokenize a JSON object in one call — useful for signup forms, CRM webhooks, or lead capture. Uses the tokenization schema attached to your API key (if configured).

Response 201

Store protectedData in your database. Fields not covered by your API key schema remain in plaintext.


Response and retry strategy

HTTP
Code
Action

401

AUTH_ERROR

Fix or rotate API key

400

VALIDATION_ERROR

Fix request body

403

PLAN_LIMIT

Check usage / upgrade plan

410

TOKEN_SHREDDED

Data is gone — do not retry

429

RATE_LIMIT_ERROR

Honor Retry-After, exponential backoff

5xx

INTERNAL_ERROR

Retry with backoff

  • Handle 429 with exponential backoff.

  • Read the Retry-After header before retrying.

  • Use bulk endpoints for high-throughput imports.

  • Add idempotency in your app for replayed business operations.

Related links

  • SDK Javascript · SDK Python

  • API Reference

  • Troubleshooting

Last updated

Was this helpful?