Skip to main content

REST API Delivery

An endpoint and a key. That’s it. The standard delivery mechanism for Virtual APIs. The current runtime exposes lease-based REST endpoints and applies your Virtual API Configuration on every request.

Runtime endpoints

fetch is the standard authenticated path for a Virtual API. relay is reserved for Virtual APIs with Unlisted Open or Listed Open visibility, and the current runtime still requires a marketplace API key on relay requests.

Authenticated fetch

Use the API key issued for your Virtual API and call the fetch endpoint with the source target appended after the lease ID:
  • For HTTP sources, the target is the upstream route path.
  • For GraphQL sources, the target is the enrolled operation ID.

Method and body

GET cannot carry a body, so any operation that needs variables must be invoked with POST. See GraphQL Sources for the GraphQL specifics.

GET example

POST example (HTTP source or GraphQL with variables)

Marketplace relay

For marketplace-visible Virtual APIs, the relay endpoint uses the same lease-based path shape but expects a marketplace key (mkp_...): You can create a marketplace key from the account settings page in DataHarbor.

Organization authorization relay

When a lease owner authorizes an organization, that organization’s existing marketplace key (mkp_...) works on the relay endpoint for the authorized Virtual API. No additional keys or auth types are needed.
Usage counts against the consuming organization’s marketplace quota, not the lease owner’s. See Organization Authorizations for details.

Response shape

DataHarbor preserves your upstream response shape and applies controls in order before returning the payload.

Output format via URL extension

Append .md or .json to any endpoint path to request a specific output format:
If the Virtual API Configuration specifies default_output_format, that provides a default which can be overridden per-request via URL extension. See Output Formatting for details.

Request/response flow

Every request passes through the governance layer:
  1. Authenticate — Validate API key
  2. Authorize — Check access controls (geo, IP, expiration)
  3. Fetch — Call upstream source
  4. Normalize — Convert upstream JSON, CSV, YAML, or Markdown into the canonical JSON model
  5. Match object — Select the object definition for the request path
  6. Apply controls — Run the ordered control pipeline (redact, tokenize, transform)
  7. Format — Convert output if default_output_format is configured or a URL extension is present
  8. Respond — Return governed data
See Data Pipeline for the full end-to-end explanation.

Example integration

Next steps

Input Normalization

Understand how upstream payloads are parsed before controls run

Output Formatting

Convert responses to Markdown

MCP Server Delivery

Enable AI agent access