Memo Bank · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Memo Bank Marketplace API

6 actions 6 updates security
Derived by API Evangelist Built from the contracts Memo Bank publishes. Memo Bank did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-source-docx-api-evangelist-rationalex-apievangelist-profilex-apievangelist-reviewedcontactx-source-notesecuritySchemesx-token-lifetimes

Targets 5

$.info
$.components
$.paths['/oauth2/token'].post
$.components.schemas.OAuth2Token.properties.connection_id
$

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Memo Bank Marketplace API
  version: 1.0.0
x-generated: '2026-08-17'
x-method: generated
x-source: openapi/memo-bank-marketplace-api-openapi.yml
x-note: >-
  Non-destructive enhancements over the spec Memo Bank publishes at
  https://docs-marketplace.api.memo.bank/source.yaml. The original is preserved in openapi/_original/. This
  document carries a single operation (the OAuth 2.0 token endpoint) but the surrounding contract - the
  authorization endpoint, token lifetimes, the dual-credential X-Memo-Signature scheme and the connection
  lifecycle - is documented only in prose. These actions bring that into the machine-readable contract.
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apis.io/provider/memo-bank/
    x-apievangelist-reviewed: '2026-08-17'
    contact:
      name: Memo Bank open banking team
      email: openbanking@memo.bank
    x-source-doc: https://docs-marketplace.api.memo.bank/topic/topic-getting-started
    x-source-note: >-
      openbanking@memo.bank is the address Memo Bank publishes for marketplace application registration. The
      spec had no info.contact block.
- target: $.components
  update:
    securitySchemes:
      JWT:
        type: apiKey
        in: header
        name: X-Memo-Signature
        description: >-
          The application's RS256-signed JWT. NOTE the difference from the Premium Bank API: for marketplace
          requests the JWT travels in X-Memo-Signature while the Authorization header carries the OAuth 2.0
          access token. The payload adds an oat#S256 claim holding base64url(sha256(access_token)), binding
          the signature to that specific access token. Modelled as apiKey rather than http bearer because it
          is a custom header, not an Authorization scheme.
        x-source-doc: https://docs-marketplace.api.memo.bank/authentication
      OAuth2:
        type: oauth2
        description: >-
          Authorization code flow with per-workspace and per-account user consent. Access tokens live 2 hours;
          refresh tokens live 14 days and are single-use, so each refresh rotates them; authorization codes
          live 5 minutes and are single-use.
        flows:
          authorizationCode:
            authorizationUrl: https://client.memo.bank/authorize
            tokenUrl: https://api.memo.bank/oauth2/token
            refreshUrl: https://api.memo.bank/oauth2/token
            scopes: {}
        x-scopes-note: >-
          Left empty deliberately. Memo Bank requires applicants to declare the scopes they need at
          registration and returns a granted scope string in the token response, but publishes NO scope names
          anywhere. Populating this map would be fabrication. See scopes/memo-bank-scopes.yml.
        x-source-doc: https://docs-marketplace.api.memo.bank/topic/topic-authorization-flow
    x-api-evangelist-rationale: >-
      The published document references a `JWT` security scheme on its only operation but defines no
      securitySchemes at all, and never expresses the OAuth 2.0 flow it exists to serve as a scheme.
- target: $.paths['/oauth2/token'].post
  update:
    x-token-lifetimes:
      access_token: 2 hours
      refresh_token: 14 days, single use
      authorization_code: 5 minutes, single use
    x-refresh-rotation: true
    x-dual-credential: >-
      This endpoint is itself JWT-protected - an application must sign the token request with X-Memo-Signature
      in addition to supplying client_id and client_secret in the body.
    x-agentic-access:
      action-class: acting
      consequence: write
      audit: required
    x-source-doc: https://docs-marketplace.api.memo.bank/topic/topic-authorization-flow
- target: $.components.schemas.OAuth2Token.properties.connection_id
  update:
    x-api-evangelist-note: >-
      The join key for multi-tenant integrations. The same value arrives on webhook deliveries in the
      X-Memo-Connection-Id header, so an application routes events to the right customer by it. One connection
      exists per user/workspace pair; once a user deactivates it, API calls fail with inactive_connection.
    x-source-doc: https://docs-marketplace.api.memo.bank/topic/topic-connection-lifecycle
- target: $.components
  update:
    schemas:
      Error:
        type: object
        description: Memo Bank's unified error envelope. Not RFC 9457 problem+json.
        required:
        - code
        - message
        properties:
          code:
            type: string
            example: inactive_connection
          message:
            type: string
            example: The connection has been deactivated by the user.
        x-source-doc: https://docs-marketplace.api.memo.bank/topic/topic-connection-lifecycle
    x-api-evangelist-rationale: >-
      The token operation declares only a 200 response. No error schema exists, yet the documentation names a
      marketplace-specific inactive_connection code and an OAuth error/error_description redirect contract.
- target: $
  update:
    x-authorization-endpoint: https://client.memo.bank/authorize
    x-authorization-params:
    - client_id
    - redirect_uri
    - scope
    - state
    x-pkce: not documented
    x-api-evangelist-gap: >-
      The authorization endpoint lives on client.memo.bank, a different host from the api.memo.bank server
      declared in servers[], and is not represented in the document at all. No PKCE (RFC 7636) is documented,
      and no RFC 8414 authorization-server metadata is served, so none of this is machine-discoverable.
    x-source-doc: https://docs-marketplace.api.memo.bank/topic/topic-authorization-flow

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.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/memo-bank-marketplace-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.