openapi: 3.1.0 info: title: Avaloq Banking Accounts Customers API description: Core banking API for account management, transactions, and customer data. Provides access to the Avaloq banking platform for wealth management and digital banking. 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: Customers description: Customer data management paths: /v1/customers: get: operationId: listCustomers summary: Avaloq List Customers description: Retrieve a list of bank customers. tags: - Customers x-microcks-operation: delay: 0 dispatcher: FALLBACK parameters: - name: limit in: query schema: type: integer default: 25 description: Results per page - name: offset in: query schema: type: integer default: 0 description: Pagination offset responses: '200': description: List of customers content: application/json: schema: $ref: '#/components/schemas/CustomerList' post: operationId: createCustomer summary: Avaloq Create Customer description: Create a new banking customer record. tags: - Customers x-microcks-operation: delay: 0 dispatcher: FALLBACK requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCustomerRequest' responses: '201': description: Customer created content: application/json: schema: $ref: '#/components/schemas/Customer' '400': $ref: '#/components/responses/BadRequest' /v1/customers/{customerId}: get: operationId: getCustomer summary: Avaloq Get Customer description: Retrieve details for a specific customer by ID. tags: - Customers x-microcks-operation: delay: 0 dispatcher: FALLBACK parameters: - name: customerId in: path required: true schema: type: string description: Customer ID example: CUST-001234 responses: '200': description: Customer details content: application/json: schema: $ref: '#/components/schemas/Customer' '404': $ref: '#/components/responses/NotFound' components: schemas: Customer: type: object description: Banking customer record properties: id: type: string description: Customer ID example: CUST-001234 firstName: type: string example: Jane lastName: type: string example: Smith email: type: string format: email example: jane.smith@example.com phone: type: string example: '+41791234567' status: type: string enum: - ACTIVE - INACTIVE - SUSPENDED example: ACTIVE kycStatus: type: string enum: - PENDING - APPROVED - REJECTED - REQUIRES_REVIEW example: APPROVED clientSince: type: string format: date example: '2020-01-15' residenceCountry: type: string example: CH taxResidency: type: string example: CH Error: type: object description: API error response properties: code: type: string example: INVALID_REQUEST message: type: string example: Required field missing details: type: array items: type: string CustomerList: type: object description: Paginated list of customers properties: data: type: array items: $ref: '#/components/schemas/Customer' total: type: integer example: 1250 offset: type: integer example: 0 CreateCustomerRequest: type: object required: - firstName - lastName - email description: Request to create a new customer properties: firstName: type: string example: Jane lastName: type: string example: Smith email: type: string format: email example: jane.smith@example.com phone: type: string example: '+41791234567' residenceCountry: type: string example: CH dateOfBirth: type: string format: date example: '1980-06-15' responses: BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT