Data Serve API
Base URL, protocol conventions, and endpoints for synchronous data integrations
Data Serve is a synchronous, server-to-server JSON API. It runs data source
adapters with POST /data, runs one data function with POST /func, and
reports service health with GET /status.
Regional base URLs
| Region | Base URL |
|---|---|
| United States | https://api.us.datastruct.co |
| Asia Pacific | https://api.apse1.datastruct.co |
| Europe | https://api.euw1.datastruct.co |
Use the base URL for the region assigned to your integration. Data Serve has one API version, and the version is not part of the URL.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST |
/data |
Run data sources |
POST |
/func |
Run one function |
GET |
/status |
Read service status |
Media type
Requests and responses use application/json. Send
Content-Type: application/json with POST requests. Data Serve currently
accepts a JSON body without that header for backward compatibility.
Every response includes these security headers:
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Data Serve sends no Cross-Origin Resource Sharing (CORS) headers and cannot be called directly from browser code.
Authentication
Every /data and /func request requires an access token and a workflow
identifier. Send them in Datastruct headers, an authorization header plus the
workflow header, or the JSON body. See
Authentication for the accepted forms
and resolution order.
GET /status does not require authentication.
Shared response envelope
By default, both run endpoints return this top-level shape:
{
"transaction_id": "trx_01k2v8q9m7f3zb6cw4h5n0j1xd",
"config": {},
"outputs": {},
"status": {},
"response_time_ms": 412
}
outputs and status use the same source or function identifier as their key.
Read status before consuming outputs. /func can instead return a
function-defined passthrough response; its endpoint reference defines that
mode.
HTTP status semantics
HTTP status reports whether Data Serve accepted and processed the request. It does not report whether a data source found data or whether a function completed successfully.
| Status | Meaning |
|---|---|
200 |
Request ran; inspect status for source or function outcomes |
401 |
The token or workflow was missing or rejected |
422 |
The request body did not match the endpoint schema |
500 |
Data Serve could not process a valid request |
Vendor timeouts, missing vendor credentials, unknown source identifiers, and
valid no-match results can all return 200. See
Errors for complete error shapes and retry
constraints.
Compatibility
New response fields can be added without a new API version. Clients must ignore fields they do not recognize.
Data Serve does not provide pagination, idempotency keys, rate-limit headers, webhooks, callbacks, or access-token scopes. Each run returns one complete synchronous result. Retrying starts external calls again and can be billable.
Shared reference
- Authentication defines access tokens, workflow selection, and authentication failures.
- Source configuration defines source identifiers and vendor credential resolution.
- Transactions defines identifiers, timing, context, and recorded data.
- Errors defines HTTP and per-run failures.