SDKs

HTTP API

Reference guide for the DeepaData REST API. Base URLs, authentication, request/response formats, and error handling.

Base URLs

EnvironmentBase URL
Productionhttps://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

HeaderRequiredDescription
AuthorizationrequiredBearer token with your API key
Content-TyperequiredMust be application/json for POST requests
AcceptoptionalDefaults 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

HeaderDescription
X-RateLimit-LimitMaximum requests per minute for your plan
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when window resets
X-Quota-RemainingMonthly quota remaining (if applicable)
Retry-AfterSeconds to wait before retrying (on 429)

Error Codes

400

Bad Request

Invalid request body or parameters

401

Unauthorized

Missing or invalid API key

403

Forbidden

API key lacks required scope for endpoint

404

Not Found

Resource does not exist

429

Too Many Requests

Rate limit exceeded. Check Retry-After header.

500

Internal Server Error

Unexpected server error. Retry with exponential backoff.

503

Service Unavailable

Service temporarily unavailable or configuration error

Available Endpoints

MethodEndpointScopeDescription
POST/v1/extractextractExtract EDM artifact from content
POST/v1/observeextractCapture salience record
POST/v1/validatevalidateValidate artifact against schema
POST/v1/issueissueSeal artifact into .ddna envelope
POST/v1/verifyverifyVerify .ddna envelope integrity
GET/v1/certificate/:idverifyRetrieve issuance certificate
POST/v1/batch/uploadextractUpload batch for processing
GET/v1/batch/statusextractCheck batch job status

Related