RRunOnProof
United Kingdom · solution reference

UK Supplier Approval

RunOnProof answers this one bounded UK business question and returns the evidence, limits and next machine action with the answer. A successful HTTP response is not automatically permission to proceed.

SOLUTION
Canonical ID

gb.solution.supplier_approval.v1 · POST /v1/gb/solutions/supplier-approval · 0.20 USDC per settled delivery

Problem it solves

Approve or hold a UK supplier before onboarding by combining Companies House identity/status with UK Sanctions List screening under a declared policy. Use for vendor onboarding; the decision is source-conditioned and never a universal approval.

When to use

  • approve a UK supplier
  • screen a UK supplier before onboarding

When not to use

  • worldwide compliance clearance
  • guarantees of supplier performance

Coverage and limitations

AVAILABLE. UK_COMPANIES_HOUSE, UK_SANCTIONS_LIST within Companies House registered UK entities and the exact declared caller-evidence boundary.

Freshness. Read valid_as_of, valid_until, each evidence timestamp and source_health on every response. Expired or stale mandatory evidence cannot support continuation.

Source provenance

Sources: UK_COMPANIES_HOUSE UK_SANCTIONS_LIST

Every source observation carries its source ID and URL, source version/timestamp, retrieval time, parser version, raw SHA-256 digest, freshness and scoped claims. Caller/provider evidence remains labelled as an attestation.

Failure and attention states

A required source that is unavailable, stale, disabled or schema-broken produces RETRY or NO_DECISION with HOLD and no settled delivery. Partial or ambiguous evidence produces REVIEW/HOLD. It never becomes a clean finding.

Decisions or lifecycle states: APPROVE CONDITIONAL REVIEW BLOCK RETRY NO_DECISION

Representative reason codes: CURRENT_EVIDENCE_WITHIN_DECLARED_COVERAGE LIMITED_COVERAGE SOURCE_UNAVAILABLE SOURCE_STALE SOURCE_SCHEMA_BREAK EVIDENCE_INSUFFICIENT

A person must review REVIEW, HOLD, RETRY, NO_DECISION, LIMITED/conditional results, every HTTP 402 quote before payment, and any consequential action required by the caller's policy. BLOCK/DENY means stop.

x402 and price

The live economic path is allowlisted at 0.20 USDC on Base. A request without Payment-Signature receives HTTP 402 with a body-bound quote. Do not sign or retry automatically; invalid input, source failure and undelivered decisions are not charged.

Input fields

company_number policy_id sanctions_subject_names vat_number eori_number payee idempotency_key

Complete request example

{
  "company_number": "00006400",
  "policy_id": "GB_NEW_SUPPLIER_V1",
  "idempotency_key": "bazaar_gb_solution_supplier_approval_v1"
}

Complete response example

Illustrative contract shape.

Live evidence, health, coverage, decision, reason codes, validity and payment state prevail.

{
  "schema_version": "1.0.0",
  "product_or_solution": "gb.solution.supplier_approval.v1",
  "request_id": "gbreq_documentation_example",
  "execution_id": "gbexec_documentationexample",
  "delivery_id": "gbdel_documentationexample",
  "replayed": false,
  "decision": "APPROVE",
  "authorization": "ALLOW",
  "machine_action": "CONTINUE_WITHIN_DECLARED_COVERAGE",
  "policy": {
    "id": "GB_NEW_SUPPLIER_V1",
    "version": "1.0.0",
    "checksum": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  },
  "reason_codes": [
    "CURRENT_EVIDENCE_WITHIN_DECLARED_COVERAGE"
  ],
  "conditions": [],
  "required_information": [],
  "coverage": {
    "country": "GB",
    "jurisdiction": "UNITED_KINGDOM",
    "population": "COMPANIES_HOUSE_REGISTERED_ENTITIES",
    "supported": true,
    "limitations": [
      "Source-scoped UK evidence only"
    ]
  },
  "source_health": {
    "UK_COMPANIES_HOUSE": "HEALTHY",
    "UK_SANCTIONS_LIST": "HEALTHY"
  },
  "evidence": [
    {
      "evidence_id": "ev_docs_1",
      "source_id": "UK_COMPANIES_HOUSE",
      "source_url": "https://find-and-update.company-information.service.gov.uk/",
      "source_version": "documentation-example-1.0.0",
      "source_timestamp": "2030-01-02T11:55:00.000Z",
      "retrieved_at": "2030-01-02T12:00:00.000Z",
      "parser_version": "documented-contract-1.0.0",
      "raw_sha256": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
      "freshness": "FRESH",
      "claims": [
        "Illustrative source-scoped claim; inspect the live response"
      ]
    },
    {
      "evidence_id": "ev_docs_2",
      "source_id": "UK_SANCTIONS_LIST",
      "source_url": "https://www.gov.uk/government/publications/the-uk-sanctions-list",
      "source_version": "documentation-example-1.0.0",
      "source_timestamp": "2030-01-02T11:55:00.000Z",
      "retrieved_at": "2030-01-02T12:00:00.000Z",
      "parser_version": "documented-contract-1.0.0",
      "raw_sha256": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
      "freshness": "FRESH",
      "claims": [
        "Illustrative source-scoped claim; inspect the live response"
      ]
    }
  ],
  "valid_as_of": "2030-01-02T12:00:00.000Z",
  "valid_until": "2030-01-02T13:00:00.000Z",
  "limitations": [
    "This example is illustrative; live evidence, coverage, health and reason codes prevail.",
    "Does not provide worldwide compliance clearance.",
    "Does not provide guarantees of supplier performance."
  ],
  "economic_activity": {
    "charged": true,
    "quote_created": true,
    "settlement_created": true
  },
  "payment": {
    "protocol": "x402",
    "payment_status": "SETTLED",
    "charged_price_usd": 0.2,
    "network": "eip155:8453",
    "asset": "USDC",
    "persistence_status": "PERSISTED"
  },
  "result": {
    "company_number": "00006400",
    "supplier_state": "APPROVED_WITH_LIMITATIONS",
    "uk_legal_status": "ACTIVE_AS_REGISTERED",
    "optional_checks_pending": []
  }
}

Idempotency, replay and security

Idempotency. Use one stable body idempotency_key and the identical Idempotency-Key header. Reusing the key with a different payload or digest returns 409 and never creates a second charge.

Replay. GET /v1/gb/executions/{executionId} returns the persisted semantic delivery with zero live source calls, signing, settlement or additional charge.

Security and privacy. Send opaque payee fingerprints and non-secret evidence references only. Never send raw bank details, wallet keys, payment secrets or credentials. Evidence and responses retain only the minimum source-scoped material required for audit.

Relationship to the UK V1 core

Copyable quickstart

curl -i -sS -X POST https://api.runonproof.com/v1/gb/solutions/supplier-approval \
+  -H 'Content-Type: application/json' \
+  -H 'Idempotency-Key: bazaar_gb_solution_supplier_approval_v1' \
+  -H 'X-CDO-Request-Body-Digest: sha256:1370a40fcfd603a5ef223b09c94a2a7f4c657b408d45f422c2e64f56f5cddd6d' \
+  --data '{"company_number":"00006400","policy_id":"GB_NEW_SUPPLIER_V1","idempotency_key":"bazaar_gb_solution_supplier_approval_v1"}'

OpenAPI reference → · UK country pack → · UK manifest → · Company Capability Passport →