openapi: 3.1.0 info: title: Salt Edge Account Information API description: | Salt Edge Account Information API (v5) is an open banking aggregation service exposing customers, connections (linked bank accounts), accounts, transactions, providers (banks), consents, and account holder info. All requests require App-id + Secret headers, and live-mode requests also require a signed payload via Signature and Expires-at headers. version: "v5" contact: name: Salt Edge url: https://docs.saltedge.com/account_information/v5/ servers: - url: https://www.saltedge.com/api/v5 description: Salt Edge production security: - appId: [] secret: [] paths: /customers: get: summary: List or retrieve customers operationId: listCustomers parameters: - name: id in: query schema: type: string - name: from_id in: query schema: type: string - name: per_page in: query schema: type: integer responses: '200': description: List of customers content: application/json: schema: $ref: '#/components/schemas/CustomerList' post: summary: Create a customer operationId: createCustomer requestBody: required: true content: application/json: schema: type: object required: [data] properties: data: type: object required: [identifier] properties: identifier: type: string responses: '200': description: Created customer content: application/json: schema: $ref: '#/components/schemas/CustomerResponse' /customers/{id}: delete: summary: Remove a customer operationId: removeCustomer parameters: - name: id in: path required: true schema: type: string responses: '200': description: Customer removal scheduled /connect_sessions/create: post: summary: Create a connect session description: Initiate a hosted connection flow for a customer. operationId: createConnectSession requestBody: required: true content: application/json: schema: type: object required: [data] properties: data: type: object properties: customer_id: type: string consent: type: object additionalProperties: true attempt: type: object additionalProperties: true responses: '200': description: Connect URL response content: application/json: schema: type: object additionalProperties: true /connections: get: summary: List connections operationId: listConnections parameters: - name: customer_id in: query schema: type: string - name: from_id in: query schema: type: string responses: '200': description: List of connections content: application/json: schema: type: object additionalProperties: true post: summary: Create a connection operationId: createConnection requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Created connection /connections/{id}: get: summary: Show a connection operationId: showConnection parameters: - name: id in: path required: true schema: type: string responses: '200': description: Connection details delete: summary: Remove a connection operationId: removeConnection parameters: - name: id in: path required: true schema: type: string responses: '200': description: Connection removed /connections/{id}/reconnect: put: summary: Reconnect a connection with new credentials operationId: reconnectConnection parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Reconnect accepted /connections/{id}/refresh: put: summary: Refresh a connection operationId: refreshConnection parameters: - name: id in: path required: true schema: type: string responses: '200': description: Refresh accepted /accounts: get: summary: List accounts for a connection operationId: listAccounts parameters: - name: connection_id in: query required: true schema: type: string - name: from_id in: query schema: type: string responses: '200': description: List of accounts /transactions: get: summary: List transactions operationId: listTransactions parameters: - name: connection_id in: query required: true schema: type: string - name: account_id in: query schema: type: string - name: from_id in: query schema: type: string - name: from_date in: query schema: type: string format: date - name: to_date in: query schema: type: string format: date responses: '200': description: List of transactions /providers: get: summary: List providers operationId: listProviders parameters: - name: country_code in: query schema: type: string - name: include_fake_providers in: query schema: type: boolean - name: from_id in: query schema: type: string responses: '200': description: List of providers /providers/{id}: get: summary: Show provider details operationId: showProvider parameters: - name: id in: path required: true schema: type: string responses: '200': description: Provider details /countries: get: summary: List supported countries operationId: listCountries parameters: - name: include_fake_providers in: query schema: type: boolean responses: '200': description: List of countries /consents: get: summary: List consents operationId: listConsents parameters: - name: customer_id in: query schema: type: string - name: connection_id in: query schema: type: string responses: '200': description: List of consents /consents/{id}/revoke: put: summary: Revoke a consent operationId: revokeConsent parameters: - name: id in: path required: true schema: type: string responses: '200': description: Consent revoked /holder_info: get: summary: Fetch account holder information operationId: getHolderInfo parameters: - name: connection_id in: query required: true schema: type: string responses: '200': description: Holder info components: securitySchemes: appId: type: apiKey in: header name: App-id description: Salt Edge application identifier. secret: type: apiKey in: header name: Secret description: Salt Edge application secret key. signature: type: apiKey in: header name: Signature description: Base64-encoded SHA256 RSA signature (required in live mode). expiresAt: type: apiKey in: header name: Expires-at description: Unix-timestamp request expiration (required in live mode). schemas: Customer: type: object properties: id: type: string identifier: type: string secret: type: string blocked_at: type: string format: date-time nullable: true created_at: type: string format: date-time updated_at: type: string format: date-time CustomerResponse: type: object properties: data: $ref: '#/components/schemas/Customer' CustomerList: type: object properties: data: type: array items: $ref: '#/components/schemas/Customer' meta: type: object additionalProperties: true