openapi: 3.1.0 info: title: Avaloq Payments API description: Payments processing API supporting SEPA, SWIFT, and domestic payment instructions. version: 1.0.0 contact: name: Avaloq Developer Portal url: https://developer.avaloq.com/ servers: - url: https://api.avaloq.com description: Avaloq Production API - url: https://sandbox.avaloq.com description: Avaloq Sandbox security: - bearerAuth: [] tags: - name: Payments description: Payment instructions and transfers - name: Payment Status description: Payment tracking and status paths: /v1/payments: post: operationId: createPayment summary: Avaloq Create Payment Instruction description: Submit a new payment instruction for SEPA, SWIFT, or domestic transfer. tags: - Payments x-microcks-operation: delay: 0 dispatcher: FALLBACK requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PaymentRequest' responses: '201': description: Payment instruction created content: application/json: schema: $ref: '#/components/schemas/Payment' examples: CreatePayment201Example: summary: Default createPayment 201 response x-microcks-default: true value: id: PAY-001234 status: PENDING amount: 5000.0 currency: EUR '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' get: operationId: listPayments summary: Avaloq List Payment Instructions description: Retrieve a list of payment instructions for an account. tags: - Payments x-microcks-operation: delay: 0 dispatcher: FALLBACK parameters: - name: accountId in: query schema: type: string description: Filter by account ID - name: status in: query schema: type: string description: Filter by payment status responses: '200': description: List of payments content: application/json: schema: $ref: '#/components/schemas/PaymentList' /v1/payments/{paymentId}: get: operationId: getPayment summary: Avaloq Get Payment Status description: Retrieve the status and details of a specific payment instruction. tags: - Payment Status x-microcks-operation: delay: 0 dispatcher: FALLBACK parameters: - name: paymentId in: path required: true schema: type: string description: Payment ID example: PAY-001234 responses: '200': description: Payment details content: application/json: schema: $ref: '#/components/schemas/Payment' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: PaymentRequest: type: object required: - debtorAccountId - creditorIban - amount - currency description: Payment instruction request properties: debtorAccountId: type: string description: Source account ID example: ACC-001234 creditorIban: type: string description: Destination IBAN example: DE89370400440532013000 creditorName: type: string description: Beneficiary name example: Jane Smith amount: type: number description: Payment amount example: 5000.0 currency: type: string description: ISO 4217 currency code example: EUR remittanceInfo: type: string description: Payment reference example: Invoice 2025-001 paymentType: type: string enum: - SEPA_CREDIT - SWIFT - DOMESTIC - INSTANT example: SEPA_CREDIT executionDate: type: string format: date example: '2025-04-20' Payment: type: object description: Payment instruction details properties: id: type: string description: Payment ID example: PAY-001234 status: type: string enum: - PENDING - PROCESSING - COMPLETED - REJECTED - CANCELLED example: COMPLETED amount: type: number example: 5000.0 currency: type: string example: EUR executionDate: type: string format: date example: '2025-04-20' valueDate: type: string format: date example: '2025-04-20' endToEndId: type: string description: End-to-end transaction reference example: E2E-001234 PaymentList: type: object description: Paginated list of payments properties: data: type: array items: $ref: '#/components/schemas/Payment' total: type: integer example: 42 offset: type: integer example: 0 Error: type: object description: Error response properties: code: type: string example: INVALID_REQUEST message: type: string example: Required field missing