openapi: 3.1.0 info: title: Upvest Investment Account Transfers Mandates API description: The Upvest Investment API provides a unified interface for building embedded investment experiences. It supports placing and managing orders, creating portfolios, configuring savings plans, handling securities transfers, and managing user accounts and positions. The API covers the full order lifecycle with asynchronous processing and webhook notifications for real-time event handling. Financial institutions can use the API to offer fractional investing, automated portfolio management, and localized investment products across European and UK markets. version: 1.0.0 contact: name: Upvest Support url: https://upvest.co/ termsOfService: https://upvest.co/legal servers: - url: https://api.upvest.co description: Production Server - url: https://sandbox.upvest.co description: Sandbox Server security: - oauth2ClientCredentials: [] tags: - name: Mandates description: Manage direct debit mandates for accounts. paths: /mandates: get: operationId: listMandates summary: Upvest List mandates description: Retrieve a list of direct debit mandates. tags: - Mandates parameters: - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: '200': description: A list of mandates content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Mandate' meta: $ref: '#/components/schemas/PaginationMeta' examples: listMandates200Example: summary: Default listMandates 200 response x-microcks-default: true value: data: - id: {} account_group_id: {} iban: {} status: {} created_at: {} meta: offset: 0 limit: 20 count: 100 total: 100 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' examples: listMandates401Example: summary: Default listMandates 401 response x-microcks-default: true value: type: standard status: 100 title: example-value detail: example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK /mandates/{mandate_id}: get: operationId: retrieveMandate summary: Upvest Retrieve a mandate description: Retrieve details for a specific direct debit mandate. tags: - Mandates parameters: - $ref: '#/components/parameters/MandateId' responses: '200': description: Mandate details content: application/json: schema: $ref: '#/components/schemas/Mandate' examples: retrieveMandate200Example: summary: Default retrieveMandate 200 response x-microcks-default: true value: id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 account_group_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 iban: example-value status: ACTIVE created_at: '2025-03-15T14:30:00Z' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' examples: retrieveMandate401Example: summary: Default retrieveMandate 401 response x-microcks-default: true value: type: standard status: 100 title: example-value detail: example-value '404': description: Mandate not found content: application/json: schema: $ref: '#/components/schemas/Error' examples: retrieveMandate404Example: summary: Default retrieveMandate 404 response x-microcks-default: true value: type: standard status: 100 title: example-value detail: example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: PaginationMeta: type: object description: Pagination metadata for list responses. properties: offset: type: integer description: The current offset. example: 0 limit: type: integer description: The page size. example: 20 count: type: integer description: The total number of items in the current page. example: 100 total: type: integer description: The total number of items available. example: 100 Error: type: object description: An API error response. properties: type: type: string description: The error type identifier. example: standard status: type: integer description: The HTTP status code. example: 100 title: type: string description: A short human-readable summary of the error. example: example-value detail: type: string description: A detailed human-readable explanation of the error. example: example-value Mandate: type: object description: A direct debit mandate authorizing fund collection. properties: id: type: string format: uuid description: The mandate identifier. example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 account_group_id: type: string format: uuid description: The account group the mandate belongs to. example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 iban: type: string description: The IBAN of the bank account. example: example-value status: type: string enum: - ACTIVE - REVOKED description: The mandate status. example: ACTIVE created_at: type: string format: date-time description: When the mandate was created. example: '2025-03-15T14:30:00Z' parameters: Offset: name: offset in: query description: The number of items to skip for pagination. schema: type: integer minimum: 0 default: 0 Limit: name: limit in: query description: The maximum number of items to return per page. schema: type: integer minimum: 1 maximum: 100 default: 20 MandateId: name: mandate_id in: path required: true description: The unique identifier of the mandate. schema: type: string format: uuid securitySchemes: oauth2ClientCredentials: type: oauth2 description: OAuth 2.0 client credentials flow. Obtain an access token by providing your client ID and client secret. flows: clientCredentials: tokenUrl: /auth/token scopes: users:read: Read user data users:admin: Onboard and manage users accounts:read: Read account data accounts:admin: Create and manage accounts orders:read: Read order data orders:admin: Place and manage orders instruments:read: Read instrument data portfolios:read: Read portfolio data portfolios:admin: Create and manage portfolios positions:read: Read position data payments:read: Read payment data payments:admin: Manage payments and direct debits reports:read: Read reports webhooks:read: Read webhook subscriptions webhooks:admin: Manage webhook subscriptions transactions:read: Read transaction data fees:read: Read fee data fees:admin: Configure fees externalDocs: description: Upvest API Documentation url: https://docs.upvest.co/