RRunOnProof
United Kingdom · product reference

Authorize UK Vendor Payment-Detail Change

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.

PRODUCT
Canonical ID

gb.vendor.payment_detail_change.authorize.v1 · POST /v1/gb/vendors/authorize-payment-detail-change · 0.15 USDC per settled delivery

Problem it solves

Authorize one UK vendor payment-detail change using current supplier controls, an existing authorization reference and a fresh independent challenge. Use before updating a payee record. The result is expiring and single-use; raw bank data is not accepted.

When to use

  • authorize a UK vendor payee change
  • protect vendor master-data changes

When not to use

  • storing raw bank details
  • permanent authorizations

Coverage and limitations

LIMITED. UK_COMPANIES_HOUSE, UK_SANCTIONS_LIST, INDEPENDENT_PAYEE_BINDING_EVIDENCE 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 INDEPENDENT_PAYEE_BINDING_EVIDENCE

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.15 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 current_payee_fingerprint proposed_payee_fingerprint prior_authorization_reference challenge idempotency_key

Complete request example

{
  "company_number": "00006400",
  "current_payee_fingerprint": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
  "proposed_payee_fingerprint": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
  "prior_authorization_reference": "buyer-held-prior-authorization",
  "challenge": {
    "type": "CHALLENGE",
    "verified_at": "2026-08-11T12:00:00Z",
    "valid_until": "2030-08-11T12:00:00Z",
    "reference": "buyer-held-control-example"
  },
  "idempotency_key": "bazaar_gb_vendor_payment_detail_change_authorize_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.vendor.payment_detail_change.authorize.v1",
  "request_id": "gbreq_documentation_example",
  "execution_id": "gbexec_documentationexample",
  "delivery_id": "gbdel_documentationexample",
  "replayed": false,
  "decision": "CONDITIONAL",
  "authorization": "ALLOW_WITH_CONDITIONS",
  "machine_action": "CONTINUE_WITH_DECLARED_CONDITIONS",
  "policy": {
    "id": "GB_VENDOR_CHANGE_V1",
    "version": "1.0.0",
    "checksum": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  },
  "reason_codes": [
    "LIMITED_COVERAGE",
    "HUMAN_CONTROL_BOUND"
  ],
  "conditions": [
    "USE_ONLY_WITHIN_DECLARED_COVERAGE"
  ],
  "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",
    "INDEPENDENT_PAYEE_BINDING_EVIDENCE": "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"
      ]
    },
    {
      "evidence_id": "ev_docs_3",
      "source_id": "INDEPENDENT_PAYEE_BINDING_EVIDENCE",
      "source_url": "urn:runonproof:evidence:caller-payee-binding",
      "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:3333333333333333333333333333333333333333333333333333333333333333",
      "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 storing raw bank details.",
    "Does not provide permanent authorizations."
  ],
  "economic_activity": {
    "charged": true,
    "quote_created": true,
    "settlement_created": true
  },
  "payment": {
    "protocol": "x402",
    "payment_status": "SETTLED",
    "charged_price_usd": 0.15,
    "network": "eip155:8453",
    "asset": "USDC",
    "persistence_status": "PERSISTED"
  },
  "result": {
    "company_number": "00006400",
    "change_state": "AUTHORIZED",
    "proposed_payee_fingerprint": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
    "authorization_token": "gbchg_example",
    "single_use": true,
    "revocable": true
  }
}

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/vendors/authorize-payment-detail-change \
+  -H 'Content-Type: application/json' \
+  -H 'Idempotency-Key: bazaar_gb_vendor_payment_detail_change_authorize_v1' \
+  -H 'X-CDO-Request-Body-Digest: sha256:caa6aa29fa6e44f332997daabb23e71654f4a6c2f91f6e7caefbbf3ef9d254d3' \
+  --data '{"company_number":"00006400","current_payee_fingerprint":"sha256:1111111111111111111111111111111111111111111111111111111111111111","proposed_payee_fingerprint":"sha256:2222222222222222222222222222222222222222222222222222222222222222","prior_authorization_reference":"buyer-held-prior-authorization","challenge":{"type":"CHALLENGE","verified_at":"2026-08-11T12:00:00Z","valid_until":"2030-08-11T12:00:00Z","reference":"buyer-held-control-example"},"idempotency_key":"bazaar_gb_vendor_payment_detail_change_authorize_v1"}'

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