Partner integration

One lifecycle API under your decisioning product.

The OEM product remains the decisioning system. Notary Cloud receives a decision event after the OEM agent has decided. The response returns a signed proof identifier.

OEM integration flow

Decision layer stays yours. Evidence layer sits underneath.

Decisioning stays with the OEM product. Notary Cloud records the event underneath.

01

OEM AI agent

Decides the compliance action inside the partner product.

decision stays in OEM product
02

POST decision event

Sends the event after the decision is made.

/v1/enforce/{pack}/{intent}
03

ECDSA proof

Returns a signed proof ID with key and timestamp metadata.

proof_id + signature metadata
04

Public proof page

Shows the tamper-evident record when policy allows access.

/r/:proof_id
FIRST CALL
Send the decision after your agent decides.

The partner product remains the approval path. Notary Cloud receives the scoped event, signs the record, and returns a proof identifier for storage in the partner case record.

curl -X POST "$NC_API/v1/enforce/finance/payout_approval" \
  -H "Authorization: Bearer $NC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "intent_type": "payout_approval",
    "agent_id": "agent_01",
    "decision": "APPROVED",
    "context": {
      "policy_version": "policy_2026_05",
      "risk_score": 18
    }
  }'
SIGNED SAMPLE
prf_b2db1741f051443e

The static verifier page uses one ECDSA P-256 proof generated through the local finance enforce lifecycle.

Open signed sample

Endpoints

Current partner-facing API surface.

POST/v1/enforce/{pack}/{intent}Bearer key

Validate and record a decision event. Current shipped example path: /v1/enforce/finance/payout_approval. OEM pilot path is scoped during Week 1 as a partner-specific pack and intent.

{
  "intent_type": "payout_approval",
  "agent_id": "agent_01",
  "timestamp": "2026-05-09T12:00:00Z",
  "decision": "APPROVED",
  "decision_rationale": "Policy threshold satisfied for this request.",
  "context": {
    "policy_version": "policy_2026_05",
    "risk_score": 18
  }
}
POST/v1/evidence/{proof_id}Bearer key

Deposit execution evidence for an ALLOW proof.

POST/v1/finalize/{proof_id}Bearer key

Compare deposited evidence against the planned proof scope and create the final proof.

POST/v1/confirm/{proof_id}Bearer key

Record execution confirmation after finalization.

GET/.well-known/notary-keys/{key_id}.pemPublic

Expose public ECDSA verification key material.

GET/r/{proof_id}Public static sample

Human-readable static verifier page generated from proof output. This Phase 2 sample does not rely on an always-on backend host.

AUTH AND SIGNING
  • Partner API calls use Authorization: Bearer <api_key> and Content-Type: application/json.
  • Production mode requires API keys. API keys map to tenant, principal, and role.
  • There is no OAuth or mTLS path in the current code.
  • Pilot deployments default to ECDSA-signed records. Internal-only signing modes do not produce externally-verifiable evidence.
  • Default authenticated rate limit is 100 requests per minute per API key prefix plus IP.
CURRENT GAPS
  • Webhooks: not in v1 lifecycle API. Partners use returned proof IDs and existing lifecycle responses in v1.
  • BYOK and customer co-signing: not in v1 lifecycle API.
  • Public transparency endpoint: not in v1 lifecycle API.
  • AML runtime pack: not shipped in notary-cloud-mvp main branch. OEM pilots define a partner-specific schema during scoping.
Deployment modes

Direct, co-brand, or white-label.

DIRECT
Direct integration

Use this when the partner wants a fast pilot and does not need customers to see Notary Cloud. The partner stores proof_id and verifier URL inside its own case or alert record.

OEM calls NC under the hood
CO-BRAND
Co-brand verifier

Use this when the partner wants an external verifier and is comfortable with Notary Cloud appearing as the evidence engine. This is the default v1 path.

NC-hosted proof page
WHITE-LABEL
White-label add-on

Use this when the partner wants its own verifier presentation. This is a paid add-on because it needs domain, copy, and verifier policy work.

pricing post-discovery