On this pageOverview

Technical reference

Developers

Read recorded interface evidence, request a fresh persisted observation, or use the conventional REST API.

Three integration boundaries

REST uses first-party account tokens. Public MCP reads recorded evidence anonymously. Inspector MCP uses WorkOS authorization for a separate resource and writes a durable observation.

Choose an access surface

Start with the outcome you need. The three interfaces deliberately have different authorization and persistence boundaries.

REST API

Conventional programmatic access

Use an Account-created bearer token for non-persistent inspection, protected evidence reads, and account-owned monitor operations.

View REST API →

MCP · recorded evidence

Existing recorded evidence

Use the anonymous public MCP resource to read existing public Passports, history, and changes without starting a scan.

View recorded-evidence MCP →

MCP · fresh inspection

Fresh persisted observation

Use the WorkOS-authorized Inspector resource. Each successful invocation records one durable public observation.

View Inspector MCP →

REST API

InterfaceDelta Developer API v1 is the conventional HTTP boundary for software integrations. The API is beta; its v1 transport contract and independently versioned Passport records remain distinct.

Authentication

Send an InterfaceDelta REST API token as Authorization: Bearer …. Create the token from a browser-authenticated Account and select only the scopes the integration needs. The exact-observation share route is the deliberate public exception.

Base URL

Developer API v1 · betahttps://interfacedelta.com/api/v1

The deterministic OpenAPI 3.1.2 document lists only supported v1 operations.

Open the machine-readable OpenAPI document →

Inspection

Endpoint
POST /api/v1/inspect
Authentication
REST bearer token
Scope
inspect:run
Request
Public HTTPS url and optional public mcpEndpoint
Response
Discovery report and canonical Passport
Persistence
None. This standalone inspection does not create an observation, comparison, or monitor.

Passport reads

Exact observation
GET /api/v1/passports/:observationId · public read-only interfacedelta-share-v1
Target history
GET /api/v1/targets/:targetKey/history · passport:read
Target changes
GET /api/v1/targets/:targetKey/changes · passport:read

These routes read existing records. They do not start a target scan or recompute retained historical Passport schemas and compatibility rules.

Monitor operations

List
GET /api/v1/monitors · monitors:read
Create
POST /api/v1/monitors · monitors:write · initial recorded observation
Remove
DELETE /api/v1/monitors/:subscriptionId · monitors:write

Monitor operations are limited to the authenticated token account. Subscription ownership remains separate from shared target scheduler state.

Pagination

History and change collections use opaque keyset cursors. The default page size is 20 and the maximum is 100. Malformed cursors and limits outside 1–100 are rejected. Monitor listing is bounded independently and returns at most 100 active subscriptions.

Errors and request IDs

Protected v1 endpoints return a stable error code, a bounded message, and a request ID. The request ID also appears in the x-request-id response header. Authentication failure is 401, insufficient scope is 403, malformed input is 400, absent records are 404, conflicts are 409, and bounded service or rate failures retain their documented status.

Protocol observation states such as auth_required, forbidden, incomplete inventory, and indeterminate compatibility are evidence—not generic HTTP API failures.

Target safety

API authorization permits use of InterfaceDelta; it does not authorize a target. Tokens bypass neither public-HTTPS policy, DNS and redirect revalidation, request and response bounds, nor current beta abuse controls. Requests cannot supply target credentials, arbitrary headers, TLS bypasses, or private-network access.

Example

Request · non-persistent inspectionbash

Uses a synthetic environment variable and a reserved example target.

curl -X POST https://interfacedelta.com/api/v1/inspect \
  -H "Authorization: Bearer $INTERFACEDELTA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.org"}'

MCP — Recorded evidence

Resource and access

Anonymous · read-only · recorded public evidencehttps://interfacedelta.com/mcp

This resource reads evidence InterfaceDelta has already recorded. Anonymous use remains supported. A separately managed WorkOS authorization may identify a connected-agent relationship, but it does not expand this resource beyond its four read tools.

Tools

  • get_passportRead one exact recorded observation.
  • get_latest_passportRead the latest Passport for an exact target.
  • list_target_historyRead bounded target observation history.
  • list_target_changesRead bounded deterministic change records.

Read boundary

The public MCP resource does not initiate a scan, create or alter a monitor, expose account-private state, or accept a REST API token. A presented invalid bearer fails closed rather than silently falling back to anonymous access.

Connect

Choose your client. Every recipe connects the same anonymous, read-only recorded-evidence resource.

Codex · codex-cli 0.152.1

Add the anonymous recorded-evidence server, then start a new Codex session.

Official setup source ↗
codex mcp add interfacedelta --url https://interfacedelta.com/mcp
Authentication
None
Local browser
Not required
Headless VPS
Supported
Verified
2026-09-03

MCP — Fresh inspection

Connect

Add this as a separate server. Headless status is shown per client without changing the exact Inspector resource.

Codex · codex-cli 0.152.1

Add the Inspector as a separate server, then authorize its exact resource.

Official setup source ↗
codex mcp add interfacedelta_inspector --url https://interfacedelta.com/mcp/inspect --oauth-client-registration cimd --oauth-resource https://interfacedelta.com/mcp/inspect
codex mcp login interfacedelta_inspector --oauth-client-registration cimd
Authentication
WorkOS OAuth
Local browser
Supported
Headless VPS
Client limitation
Verified
2026-09-03

Authorization

WorkOS is the sole MCP OAuth provider. The website's magic-link/database session is separate and is not an MCP client credential. A valid Inspector token must also resolve to a live local InterfaceDelta account before target input or network work is accepted.

Resource indicator

Separate exact OAuth resource and JWT audiencehttps://interfacedelta.com/mcp/inspect

The Inspector audience is isolated from the public/read resource. A token for https://interfacedelta.com/mcp cannot authorize https://interfacedelta.com/mcp/inspect, or vice versa. No default WorkOS Resource Indicator is configured; the MCP client authorizes the exact resource announced by protected-resource metadata.

Tool

Tool
inspect_public_service
Input
Public HTTPS url and optional public mcpEndpoint
Tools on this resource
Exactly one

Inspection behavior

Each successful invocation performs one bounded passive inspection of a public service. It never calls a target's tools or other capabilities, mutates the inspected service, creates a monitor, or accepts credentials for the target.

Persistence and retries

A successful invocation records one durable public Passport observation and its normal deterministic comparison. The operation is intentionally not idempotent: after a lost response, an explicit retry can consume another quota reservation and create another observation.

Security boundary

Authorization proves only that an InterfaceDelta account requested the observation. It does not prove ownership of the inspected target.

The caller's WorkOS bearer ends at InterfaceDelta's inbound authorization adapter and is never forwarded to the target. Public-HTTPS, DNS-pinning, redirect, time, size, and passive-scan restrictions remain in force.

Example

Tool request · synthetic targetjson

The successful result would be a durable public InterfaceDelta observation.

{
  "url": "https://example.org"
}

Examples

These bounded examples show current product boundaries. Placeholder record identifiers are synthetic and do not represent live observations or credentials.

Non-persistent REST inspection

Requestbash

Returns a report and Passport without recording an observation.

curl -X POST https://interfacedelta.com/api/v1/inspect \
  -H "Authorization: Bearer $INTERFACEDELTA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.org"}'

Read a recorded Passport

Endpointbash

The synthetic UUID illustrates the public exact-observation route.

curl https://interfacedelta.com/api/v1/passports/00000000-0000-4000-8000-000000000000

Read history and changes

Requestsbash

Both bounded collections require passport:read.

curl "https://interfacedelta.com/api/v1/targets/sha256:0000000000000000000000000000000000000000000000000000000000000000/history?limit=20" -H "Authorization: Bearer $INTERFACEDELTA_API_TOKEN"
curl "https://interfacedelta.com/api/v1/targets/sha256:0000000000000000000000000000000000000000000000000000000000000000/changes?limit=20" -H "Authorization: Bearer $INTERFACEDELTA_API_TOKEN"

Connect recorded-evidence MCP

Resourcebash

Anonymous recorded evidence; no fresh scan.

codex mcp add interfacedelta --url https://interfacedelta.com/mcp

Connect Inspector MCP

Separate resourcebash

WorkOS authorization is requested for the exact Inspector audience.

codex mcp add interfacedelta_inspector --url https://interfacedelta.com/mcp/inspect --oauth-client-registration cimd --oauth-resource https://interfacedelta.com/mcp/inspect
codex mcp login interfacedelta_inspector --oauth-client-registration cimd

Understand compatibility evidence

Representative recorded Passport excerpt
Canonical Passportjson

Observed from InterfaceDelta's controlled demonstration target and excerpted for readability.

{
  "schemaVersion": "0.2.0",
  "subject": {
    "origin": "https://interfacedelta-demo-observed.vercel.app"
  },
  "observation": {
    "inspectedAt": "2026-08-26T20:38:42.159Z",
    "discoveryReportType": "agent-passport.discovery-report"
  },
  "protocols": [
    {
      "protocol": "a2a",
      "status": "not_found"
    },
    {
      "protocol": "ard",
      "status": "valid",
      "revision": "5fa2f5aef790b478319f6a3b43adf4661b0ed0e0"
    },
    {
      "protocol": "mcp",
      "status": "valid",
      "revision": "2026-07-28"
    },
    {
      "protocol": "mcp-server-card",
      "status": "valid",
      "revision": "526201bbc80231daa40ffcdecfc9da4e54e5dc93"
    }
  ],
  "capabilities": [
    {
      "kind": "mcp.prompt",
      "name": "comparison_template",
      "protocolKey": "comparison_template"
    },
    {
      "kind": "mcp.resource",
      "name": "Demonstration catalog",
      "protocolKey": "demo://catalog"
    },
    {
      "kind": "mcp.tool",
      "name": "search_catalog",
      "protocolKey": "search_catalog"
    },
    {
      "kind": "mcp.tool",
      "name": "compare_catalogs",
      "protocolKey": "compare_catalogs"
    }
  ],
  "consistency": {
    "checks": 5,
    "matches": 5,
    "mismatches": 0,
    "indeterminate": 0,
    "notApplicable": 0
  },
  "fingerprint": {
    "algorithm": "sha256",
    "canonicalization": "RFC8785",
    "projectionVersion": "passport-semantic-v1",
    "value": "499b2050aad01e1c8cb3d685381da22bc185e232603bd1815f5f88c152c00829",
    "complete": true
  }
}

Breaking, non-breaking, needs-review/indeterminate, and informational findings retain deterministic rule evidence. Incomplete inventories remain explicit and are not treated as generic failures.

API Tokens

Account flow

  1. Sign in to InterfaceDelta in the browser.
  2. Create a REST API token in Account.
  3. Use that bearer with Developer REST API v1.

Scopes

inspect:run
Run standalone non-persistent inspection.
passport:read
Read protected target history and changes.
monitors:read
List the token account's monitor subscriptions.
monitors:write
Create or remove account-owned subscriptions.
workflows:read
List the token account's workflows and read their change relevance.

Credential boundary

InterfaceDelta REST Developer API tokens are not WorkOS MCP OAuth credentials.

REST tokens are not MCP OAuth credentials. A REST bearer token cannot connect to /mcp or /mcp/inspect. MCP clients use the authentication boundary of the exact MCP resource instead.

Lifecycle

Choose explicit scopes at creation. The raw token is displayed once; existing rows show only label, non-secret prefix, scopes, creation time, last-used state, and revocation state. Lost raw tokens cannot be recovered or displayed again.

Manage API Tokens →

Reference

Protocol evidence

ARD, A2A, MCP, OpenAPI, and experimental WebMCP remain independent protocol surfaces. A2A skills, MCP tools/resources/prompts, OpenAPI operations, and WebMCP declarative form tools remain distinct capability families.

Evidence meaning

Passports distinguish directly observed facts, publisher declarations, InterfaceDelta-derived conclusions, and facts not observed or intentionally not fetched.

Compatibility

Breaking, non-breaking, needs-review/indeterminate, and informational are deterministic compatibility classes, not generic severity or security ratings.

Historical records

Retained Passport schemas and stored rule versions are read as recorded. They are not silently upgraded or recomputed.

Deeper reference

Docs owns the deeper protocol mechanics, complete result/error vocabulary, evidence taxonomy, request/response schemas, protected-resource metadata, and scanner bounds.