# RunOnProof UK Vendor Payment-Detail Change Authorization

> RunOnProof UK Vendor Payment-Detail Change Authorization is a paid API for AI agents from cdo-production.up.railway.app, paid per call via x402, $0.15/call, status unknown (last checked 2026-09-15).

Authorizes a single-use, expiring change to a UK vendor's payment details by validating existing supplier controls, a prior authorization reference, and a fresh independent challenge—without accepting raw bank data.

## Facts

- Endpoint: POST https://cdo-production.up.railway.app/v1/gb/vendors/authorize-payment-detail-change
- Price: $0.15/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/runonproof-uk-vendor-payment-detail-change-authorization-e49466b1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mHrnWrzwjoNuCkkg8kYcY

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability runonproof-uk-vendor-payment-detail-change-authorization-e49466b1 -d '<json body>'
```

Example prompt: I need to authorize a payment-detail change for UK vendor company number 12345678 — the current payee fingerprint is 'fpOLD-abc123', the proposed one is 'fpNEW-xyz789', the prior authorization reference is 'AUTH-REF-2024-001', and I have a CHALLENGE-type evidence reference 'CHAL-EV-0042' verified today and valid until tomorrow noon. Please get a single-use approval so I can safely update the payee record.

## When to prefer this

Use this endpoint specifically when you need to authorize a change to an existing UK vendor's payment details before updating a payee record, and you already hold a prior authorization reference and a fresh independent challenge. It is the right choice when raw bank data must never be transmitted and the approval must be single-use and time-limited. Prefer it over generic authorization flows when UK Companies House company controls and payee fingerprinting are the required security model.

## Known failure modes

- Challenge expired (valid_until in the past) — authorization rejected
- Prior authorization reference not found or already consumed — request fails
- Payee fingerprint mismatch with existing records — authorization denied
- Company number format invalid or not found at Companies House — validation error
- Idempotency key reuse with differing parameters — conflict error
- Challenge type not accepted given current supplier controls — rejected
- Authorization result already consumed (single-use exhausted) — cannot reuse

## How this service works

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.

## Output

Returns a single-use, expiring authorization reference confirming that the proposed vendor payment-detail change is approved under the current supplier controls and challenge evidence. The result is time-limited and must be consumed immediately when updating the payee record; raw bank data is never returned.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "challenge": {
   "type": "object",
   "required": [
    "type",
    "verified_at",
    "valid_until",
    "reference"
   ],
   "properties": {
    "type": {
     "enum": [
      "PREVIOUSLY_VERIFIED_BINDING",
      "BANK_PROVIDER_CONFIRMATION",
      "CUSTOMER_CONFIRMATION",
      "CHALLENGE"
     ]
    },
    "reference": {
     "type": "string",
     "maxLength": 200,
     "minLength": 1,
     "description": "Non-secret reference to the evidence held by the caller."
    },
    "valid_until": {
     "type": "string",
     "format": "date-time",
     "description": "Expiry of the caller/provider evidence; must be in the future."
    },
    "verified_at": {
     "type": "string",
     "format": "date-time",
     "description": "When the caller or provider verified the binding."
    }
   },
   "additionalProperties": false
  },
  "company_number": {
   "type": "string",
   "pattern": "^(?:(?:[A-Z]{2}|[0-9]{2})?[0-9]{6}|[0-9]{8})$",
   "description": "Companies House company number, including any two-letter prefix when applicable."
  },
  "idempotency_key": {
   "type": "string",
   "pattern": "^[A-Za-z0-9._:-]{8,120}$",
   "description": "Caller-generated key. Send the identical value in the Idempotency-Key header."
  },
  "current_payee_fingerprint": {
   "type": "string",
   "maxLength": 200,
   "minLength": 8,
   "description": "Opaque caller-generated fingerprint; never send raw bank-account details."
  },
  "proposed_payee_fingerprint": {
   "type": "string",
   "maxLength": 200,
   "minLength": 8,
   "description": "Opaque caller-generated fingerprint; never send raw bank-account details."
  },
  "prior_authorization_reference": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1,
   "description": "Reference to the currently approved vendor/payee binding."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/runonproof-uk-vendor-payment-detail-change-authorization-e49466b1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from cdo-production.up.railway.app](https://www.zero.xyz/host/cdo-production.up.railway.app/llms.txt)
