This reference describes the Deniable API contract. Use the API overview for the product model and pricing for current purchase details.
Deniable API reference
The Deniable API provides authenticated access to pre-generated synthetic test documents. Responses are JSON and include the document content plus catalogue metadata. API access uses prepaid credits and has no monthly subscription.
Availability
The public API contract is documented here before production credentials are issued. Endpoint availability, limits, and response fields are authoritative only after they are enabled for your account.
Base URL
Production API traffic is separated from the marketing site on api.deniable.net. The API subdomain is the planned public endpoint; the site domain remains for the catalogue, account, and documentation.
Authentication
Create an account, then create an API key from the account dashboard. Send the key with every request:
API keys are shown once, stored as hashes, and can be revoked or replaced. Never commit a key to source control or expose it in browser code. Use a server-side environment variable such as DENIABLE_API_KEY.
Credits
Endpoints
Try free samples
After creating and verifying an account, create an API key and send an Idempotency-Key. You can retrieve up to five pre-generated sample documents per account without spending credits:
The response has the same JSON document shape as a paid delivery and includes freeSample: true with creditsCharged: 0. The account-gated web sample page is available at https://deniable.net/free-sample.
List catalogue items
Returns published API-enabled catalogue items. Use filters to keep the response small.
Query parameters:
category: document category slug, for example support-ticketslanguage: language code, for example enformat: json, txt, or eml. PDF and other binary files are not delivered through the document API.page: one-based page numberlimit: number of items, capped by the account limitRetrieve documents
Request body:
The service selects documents from the requested published dataset. With excludeDelivered: true, it favours document IDs not previously delivered to the API key and starts a new cycle only after the available pool is exhausted. Re-fetching a document in a later cycle consumes credits again.
Response shape:
The content value follows the source format. JSON returns a parsed JSON value; TXT, EML, CSV, and SQL return the raw text string. PDFs and images are intentionally excluded from API delivery and remain inside paid ZIP downloads.
Check usage
Returns the current credit balance, total purchased credits, total consumed credits, and recent delivery totals for the authenticated account.
API key management
Keys are scoped to an account. A deleted key stops working immediately. The account dashboard is the preferred interface for creating and revoking keys.
Rate limits
Every key is rate-limited. The starting policy is 60 document requests per minute per key, 30 catalogue requests per minute per key, and a maximum of 1,000 documents per document request. Higher limits can be introduced for approved accounts. The active limit is returned in response headers:
RateLimit-LimitRateLimit-RemainingRateLimit-ResetWhen the limit is exceeded, the API returns HTTP 429 and a Retry-After header. Use exponential backoff and do not retry a request indefinitely.
Errors
Errors use a stable JSON shape:
Common status codes:
Idempotency and retries
For a request that creates a delivery, send a unique Idempotency-Key header. A repeated request with the same idempotency key returns the original result without charging twice. Using a different idempotency key intentionally creates a new delivery and charges credits again. Idempotency keys should be unique to the logical job you are retrying.
cURL example
Data and licensing
Deniable documents are synthetic and include deliberate variations. Check the individual catalogue release for its exact formats, fields, language coverage, document count, and licence. Internal development, QA, evaluation, and model training are permitted where the product licence says so. Redistribution, resale, public hosting, or presenting synthetic documents as real records is not permitted.
Secure integration checklist
Get a step-by-step tutorial from your AI assistant
Copy the prompt below and paste it into ChatGPT, Claude, or another AI assistant that can follow technical instructions. Then paste the full Deniable API reference after the prompt so the assistant has the exact endpoint details.