Prometeo Banking API

Bank account access, movements, transfers, credit cards, providers.

Operations 15

POST /login/ Authenticate against a banking provider #
POST /login-procedure/ Answer an interactive login (MFA) challenge #
GET /info/ Get logged-in user / session preferences #
GET /client/ List clients available on the session #
GET /client/{client_id}/ Select a client for the session #
GET /account/ List accounts for the authenticated session #
GET /movement/ List movements (transactions) for an account #
GET /credit-card/ List credit cards for the session #
GET /credit-card/{card_number}/movements List movements for a credit card #
GET /provider/ List available banking providers #
GET /provider/{provider_code}/ Get detail / required login fields for a provider #
GET /transfer/destinations List enrolled transfer destination accounts #
POST /transfer/preprocess Pre-process (stage) an account-to-account transfer #
POST /transfer/confirm Confirm a previously staged transfer (moves money) #
GET /logout/ End the banking session #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/prometeo-banking-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

prometeo-banking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Prometeo Account Validation Banking API
  description: Prometeo is a LatAm-founded (Uruguay) fintech infrastructure platform exposing a single financial API over 7,500+ banking connections across the Americas. Products include the Banking API (account access, movements, transfers), Account Validation, Cross-Border payments (pay-in / payout / FX), the Payment (account-to-account) API, Identity (Mexico CURP), and Fiscal (DIAN / SAT / CEP / BCU). All products authenticate with an X-API-Key header.
  termsOfService: https://prometeoapi.com/en/legal/msa
  contact:
    name: Prometeo Support
    url: https://docs.prometeoapi.com
    email: sales@prometeoapi.com
  version: '1.0'
servers:
- url: https://banking.prometeoapi.net
  description: Banking API - production
- url: https://banking.sandbox.prometeoapi.com
  description: Banking API - sandbox (mock data)
security:
- ApiKeyAuth: []
tags:
- name: Banking
  description: Bank account access, movements, transfers, credit cards, providers.
paths:
  /login/:
    post:
      operationId: login
      tags:
      - Banking
      summary: Authenticate against a banking provider
      description: Starts a banking session against a provider using the end user's credentials. Returns a session `key` used on subsequent Banking calls. May return an interactive-login challenge (MFA) to be answered via /login-procedure/.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LoginRequest'
      responses:
        '200':
          description: Session established or interactive challenge required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /login-procedure/:
    post:
      operationId: loginProcedure
      tags:
      - Banking
      summary: Answer an interactive login (MFA) challenge
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                key:
                  type: string
                answer:
                  type: string
              required:
              - key
      responses:
        '200':
          description: Challenge answered.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
  /info/:
    get:
      operationId: getClientInfo
      tags:
      - Banking
      summary: Get logged-in user / session preferences
      parameters:
      - $ref: '#/components/parameters/SessionKey'
      responses:
        '200':
          description: Session info.
          content:
            application/json:
              schema:
                type: object
  /client/:
    get:
      operationId: listClients
      tags:
      - Banking
      summary: List clients available on the session
      parameters:
      - $ref: '#/components/parameters/SessionKey'
      responses:
        '200':
          description: Clients list.
          content:
            application/json:
              schema:
                type: object
  /client/{client_id}/:
    get:
      operationId: selectClient
      tags:
      - Banking
      summary: Select a client for the session
      parameters:
      - name: client_id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/SessionKey'
      responses:
        '200':
          description: Client selected.
          content:
            application/json:
              schema:
                type: object
  /account/:
    get:
      operationId: listAccounts
      tags:
      - Banking
      summary: List accounts for the authenticated session
      parameters:
      - $ref: '#/components/parameters/SessionKey'
      responses:
        '200':
          description: Accounts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /movement/:
    get:
      operationId: listMovements
      tags:
      - Banking
      summary: List movements (transactions) for an account
      parameters:
      - $ref: '#/components/parameters/SessionKey'
      - name: account
        in: query
        required: true
        schema:
          type: string
      - name: currency
        in: query
        required: true
        schema:
          type: string
          example: USD
      - name: date_start
        in: query
        required: true
        schema:
          type: string
          example: 01/07/2026
      - name: date_end
        in: query
        required: true
        schema:
          type: string
          example: 17/07/2026
      responses:
        '200':
          description: Movements.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MovementsResponse'
  /credit-card/:
    get:
      operationId: listCreditCards
      tags:
      - Banking
      summary: List credit cards for the session
      parameters:
      - $ref: '#/components/parameters/SessionKey'
      responses:
        '200':
          description: Credit cards.
          content:
            application/json:
              schema:
                type: object
  /credit-card/{card_number}/movements:
    get:
      operationId: listCreditCardMovements
      tags:
      - Banking
      summary: List movements for a credit card
      parameters:
      - name: card_number
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/SessionKey'
      - name: currency
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Credit card movements.
          content:
            application/json:
              schema:
                type: object
  /provider/:
    get:
      operationId: listProviders
      tags:
      - Banking
      summary: List available banking providers
      responses:
        '200':
          description: Providers.
          content:
            application/json:
              schema:
                type: object
  /provider/{provider_code}/:
    get:
      operationId: getProviderDetail
      tags:
      - Banking
      summary: Get detail / required login fields for a provider
      parameters:
      - name: provider_code
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Provider detail.
          content:
            application/json:
              schema:
                type: object
  /transfer/destinations:
    get:
      operationId: listTransferDestinations
      tags:
      - Banking
      summary: List enrolled transfer destination accounts
      parameters:
      - $ref: '#/components/parameters/SessionKey'
      responses:
        '200':
          description: Destinations.
          content:
            application/json:
              schema:
                type: object
  /transfer/preprocess:
    post:
      operationId: preprocessTransfer
      tags:
      - Banking
      summary: Pre-process (stage) an account-to-account transfer
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TransferPreprocessRequest'
      responses:
        '200':
          description: Transfer staged; may require MFA before confirm.
          content:
            application/json:
              schema:
                type: object
  /transfer/confirm:
    post:
      operationId: confirmTransfer
      tags:
      - Banking
      summary: Confirm a previously staged transfer (moves money)
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                key:
                  type: string
                request_id:
                  type: string
                authorization_type:
                  type: string
                authorization_data:
                  type: string
              required:
              - key
              - request_id
      responses:
        '200':
          description: Transfer confirmed.
          content:
            application/json:
              schema:
                type: object
  /logout/:
    get:
      operationId: logout
      tags:
      - Banking
      summary: End the banking session
      parameters:
      - $ref: '#/components/parameters/SessionKey'
      responses:
        '200':
          description: Session ended.
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    LoginResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - logged_in
          - interaction_required
          - wrong_credentials
          - error
        key:
          type: string
        context:
          type: string
        field:
          type: string
    Error:
      type: object
      properties:
        status:
          type: string
        message:
          type: string
    Movement:
      type: object
      properties:
        id:
          type: integer
        reference:
          type: string
        date:
          type: string
        detail:
          type: string
        debit:
          type: number
        credit:
          type: number
    AccountsResponse:
      type: object
      properties:
        status:
          type: string
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/Account'
    MovementsResponse:
      type: object
      properties:
        status:
          type: string
        movements:
          type: array
          items:
            $ref: '#/components/schemas/Movement'
    LoginRequest:
      type: object
      properties:
        provider:
          type: string
          description: Provider code (from /provider/). Use "test" in sandbox.
          example: test
        username:
          type: string
        password:
          type: string
        type:
          type: string
          description: Optional document/login type required by some providers.
      required:
      - provider
      - username
      - password
    TransferPreprocessRequest:
      type: object
      properties:
        key:
          type: string
        origin_account:
          type: string
        destination_institution:
          type: string
        destination_account:
          type: string
        currency:
          type: string
        amount:
          type: number
        concept:
          type: string
      required:
      - key
      - origin_account
      - destination_account
      - amount
      - currency
    Account:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        number:
          type: string
        branch:
          type: string
        currency:
          type: string
        balance:
          type: number
  responses:
    Unauthorized:
      description: Missing or invalid API key / session key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    SessionKey:
      name: key
      in: query
      required: true
      description: Banking session key returned by /login/.
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: All Prometeo products authenticate with a per-account API key sent in the X-API-Key request header. Keys are issued from dashboard.prometeoapi.com; the sandbox key is available immediately on first login.