SDKs
HTTP API
Reference guide for the DeepaData REST API. Base URLs, authentication, request/response formats, and error handling.
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://www.deepadata.com/api |
All API requests must use HTTPS. HTTP requests will be rejected.
Authentication
All API requests require authentication via API key. Include your key in the request headers using one of two methods:
Authorization Header (Preferred)
curl https://www.deepadata.com/api/v1/extract \
-H "Authorization: Bearer dda_live_YOUR_KEY"X-API-Key Header
curl https://www.deepadata.com/api/v1/extract \
-H "X-API-Key: dda_live_YOUR_KEY"Key format: API keys start with dda_live_ for production or dda_test_ for test mode.
Request Headers
| Header | Required | Description |
|---|---|---|
| Authorization | required | Bearer token with your API key |
| Content-Type | required | Must be application/json for POST requests |
| Accept | optional | Defaults to application/json |
Request Format
All POST requests accept JSON bodies. GET requests use query parameters.
// POST request with JSON body
const response = await fetch("https://www.deepadata.com/api/v1/extract", {
method: "POST",
headers: {
"Authorization": "Bearer dda_live_YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
content: "Your text content here...",
jurisdiction: "GDPR",
consent_basis: "consent",
}),
});
// GET request with query parameters
const certResponse = await fetch(
"https://www.deepadata.com/api/v1/certificate/cert_01HZ...",
{
headers: {
"Authorization": "Bearer dda_live_YOUR_KEY",
},
}
);Response Format
All responses are JSON objects with a consistent structure.
Success Response
{
"success": true,
"data": {
// Response payload
},
"meta": {
"version": "0.5.0",
"latency_ms": 1234
}
}Error Response
{
"success": false,
"error": {
"message": "Description of error",
"code": 400
},
"data": null
}Response Headers
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests per minute for your plan |
| X-RateLimit-Remaining | Requests remaining in current window |
| X-RateLimit-Reset | Unix timestamp when window resets |
| X-Quota-Remaining | Monthly quota remaining (if applicable) |
| Retry-After | Seconds to wait before retrying (on 429) |
Error Codes
Bad Request
Invalid request body or parameters
Unauthorized
Missing or invalid API key
Forbidden
API key lacks required scope for endpoint
Not Found
Resource does not exist
Too Many Requests
Rate limit exceeded. Check Retry-After header.
Internal Server Error
Unexpected server error. Retry with exponential backoff.
Service Unavailable
Service temporarily unavailable or configuration error
Available Endpoints
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| POST | /v1/extract | extract | Extract EDM artifact from content |
| POST | /v1/observe | extract | Capture salience record |
| POST | /v1/validate | validate | Validate artifact against schema |
| POST | /v1/issue | issue | Seal artifact into .ddna envelope |
| POST | /v1/verify | verify | Verify .ddna envelope integrity |
| GET | /v1/certificate/:id | verify | Retrieve issuance certificate |
| POST | /v1/batch/upload | extract | Upload batch for processing |
| GET | /v1/batch/status | extract | Check batch job status |