overlay: 1.0.0
info:
title: API Evangelist enhancements for Uphold Core API
version: 1.0.0
extends: openapi/uphold-core-api-openapi.json
x-apievangelist:
generated: '2026-08-05'
method: generated
source: >-
Derived from the Uphold-published OpenAPI 3.1 document harvested verbatim from
https://developer.uphold.com/_media/specs/core-openapi.public.json, plus the
artifacts in this repository. The harvested spec is never mutated — these are our additions only.
actions:
- target: $.info
update:
x-apievangelist-provider: uphold
x-apievangelist-api: Core API
x-apievangelist-operations: 75
x-apievangelist-webhook-events: 26
x-apievangelist-documentation: https://developer.uphold.com/rest-apis/core-api/concepts
x-apievangelist-artifacts:
authentication: authentication/uphold-authentication.yml
scopes: scopes/uphold-scopes.yml
conventions: conventions/uphold-conventions.yml
errors: errors/uphold-problem-types.yml
data-model: data-model/uphold-data-model.yml
lifecycle: lifecycle/uphold-lifecycle.yml
sandbox: sandbox/uphold-sandbox.yml
webhooks: asyncapi/uphold-core-webhooks.yml
skills: skills/_index.yml
x-apievangelist-conventions:
error_envelope: 'custom-json {code, message, details} — not RFC 9457'
idempotency: not-supported
pagination: pagination object with first/next/previous plus perPage
rate_limit_header: Reset-After
request_id_header: X-Uphold-Request-Id
- target: $.servers
update:
x-apievangelist-note: >-
Environment separation is by host only — there are no test-vs-live credential prefixes, so an
integration must be explicitly environment-aware.
- target: $.paths['/core/transactions'].post
update:
x-apievangelist-note: >-
No idempotency key is defined on this operation. A retried commit is not safe by contract —
reconcile with core.list-transactions / core.get-transaction before retrying.
- target: $.paths['/core/kyc/processes/address'].patch
update:
x-apievangelist-note: >-
Deprecated 2026-07-14. Migrate to core.update-kyc-profile; the profile process now covers address.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.