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
https://interfacedelta.com/api/v1The 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
urland optional publicmcpEndpoint - 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-onlyinterfacedelta-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
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
https://interfacedelta.com/mcpThis 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.
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.
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
https://interfacedelta.com/mcp/inspectThe 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
urland optional publicmcpEndpoint - 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
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
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
The synthetic UUID illustrates the public exact-observation route.
curl https://interfacedelta.com/api/v1/passports/00000000-0000-4000-8000-000000000000Read history and changes
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
Anonymous recorded evidence; no fresh scan.
codex mcp add interfacedelta --url https://interfacedelta.com/mcpConnect Inspector MCP
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 cimdUnderstand compatibility evidence
Representative recorded Passport excerpt
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
- Sign in to InterfaceDelta in the browser.
- Create a REST API token in Account.
- 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.



