Ledge · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the Ledge API
8 actions
8 updates
update
extends
../openapi/ledge-api-openapi.yml
Derived by API Evangelist
Built from the contracts Ledge publishes. Ledge did not publish this file.
What the actions change
externalDocsx-safex-agent-skillx-apis-io-artifactsx-paginationx-idempotencyx-rate-limitsx-error-format
Targets 6
$.info
$.components.securitySchemes.oauth2ClientCredentials
$.paths['/v1/api/{orgId}/sources'].get
$.paths['/v1/api/{orgId}/transactions'].post
$.components.schemas.Transaction.properties.reconciliationStatus
$.components.schemas.Match
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the Ledge API
version: 1.0.0
x-generated: '2026-07-19'
x-method: generated
x-source: >-
Captures the API Evangelist enrichment applied on top of
openapi/ledge-api-openapi.yml. Ledge publishes no OpenAPI of its own, so this
overlay records the cross-cutting semantics we documented separately
(conventions, errors, lifecycle, authentication, data model) as machine-readable
annotations, and links every operation back to its source documentation page.
It never mutates the underlying description.
extends: ../openapi/ledge-api-openapi.yml
actions:
- target: $.info
description: Link the description to the enrichment artifacts in this repo.
update:
x-apis-io-artifacts:
conventions: conventions/ledge-conventions.yml
errors: errors/ledge-problem-types.yml
lifecycle: lifecycle/ledge-lifecycle.yml
authentication: authentication/ledge-authentication.yml
scopes: scopes/ledge-scopes.yml
conformance: conformance/ledge-conformance.yml
data_model: data-model/ledge-data-model.yml
changelog: changelog/ledge-changelog.yml
well_known: well-known/ledge-well-known.yml
trust_center: security/ledge-trust-center.yml
- target: $.info
description: >-
Record the cross-cutting runtime semantics that OpenAPI cannot express, so
an agent reading only the spec still learns them.
update:
x-pagination:
style: offset-limit
params: [offset, limit]
max_offset: 500
transport: request body
envelope: none — list responses are bare JSON arrays
x-idempotency:
supported: false
x-rate-limits:
published: false
backpressure: HTTP 504 — retry with a smaller limit
x-error-format:
format: proprietary
envelope: error
rfc9457: false
correlation_id_field: error.request
x-versioning:
scheme: uri-path
current: v1
x-timestamps:
format: epoch-milliseconds
- target: $.info
description: Record the SLA and operational status commitments published by Ledge.
update:
x-sla:
uptime_target: 99.9%
measurement: monthly
policy: https://www.ledge.co/support-policy
x-status-page: https://status.ledge.co
x-support-email: support@ledge.co
- target: $.components.securitySchemes.oauth2ClientCredentials
description: >-
Annotate the authorization model — Ledge publishes no named OAuth scopes;
access is decided by role-based fine-grained permissions.
update:
x-authorization-model: role-based fine-grained permissions
x-builtin-roles: [Administrator, Full member, View-only]
x-scopes-published: false
x-identity-provider: Auth0
x-discovery: well-known/ledge-openid-configuration.json
- target: $.paths['/v1/api/{orgId}/sources'].get
description: Link the operation to its documentation page and mark it read-only.
update:
externalDocs:
description: Sources — Ledge API reference
url: https://docs.ledge.co/api-reference/sources
x-safe: true
x-agent-skill: skills/ledge-audit-source-freshness.md
- target: $.paths['/v1/api/{orgId}/transactions'].post
description: >-
Flag that this POST is a read-only query, not a mutation — important for
agents applying write-confirmation policies.
update:
externalDocs:
description: Transactions — Ledge API reference
url: https://docs.ledge.co/api-reference/transactions
x-safe: true
x-read-only-post: >-
Despite the POST verb this operation only queries; the request body carries
the filter grammar because it is too structured for a query string.
x-agent-skill: skills/ledge-find-unreconciled-transactions.md
- target: $.components.schemas.Transaction.properties.reconciliationStatus
description: Document the semantics of each reconciliation status value.
update:
x-value-semantics:
none: No match has been found for this transaction.
partial: Matched for part of its value; a residual remains open.
full: Fully reconciled against one or more counterpart transactions.
informative: Recorded for context; not expected to reconcile.
out of scope: Explicitly excluded from reconciliation.
x-note: >-
Semantics inferred from the Ledge reconciliation documentation; the API
reference publishes the enum values without per-value definitions.
- target: $.components.schemas.Match
description: Record why this schema is intentionally empty.
update:
x-incomplete: true
x-reason: >-
The Ledge API reference names the Match[] type on incomingMatches and
outgoingMatches but never publishes its fields. Left unspecified rather
than invented.
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/ledge-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
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.
A second provider on the same verified email joins the account you already have.