openapi: 3.1.0 info: title: Temenos Transact Core Banking Accounts Customers API description: RESTful APIs for Temenos Transact (formerly T24) core banking operations. Provides comprehensive banking functionality organized into domain-driven API categories including Holdings (accounts, deposits, loans, cards), Order (payments, transfers, standing orders), Party (customers, beneficiaries, KYC), Reference (currencies, countries, rates), Product (catalog, conditions), and Enterprise (pricing, bundles). Built on the Arrangement Architecture, a modular business component-based framework enabling reusable product components across retail, corporate, treasury, wealth, and Islamic banking domains. APIs exchange data over HTTP using JSON format with a versioned URL structure following the pattern api/v1.0.0/{domain}/{resource}. version: 1.0.0 contact: name: Temenos Developer Support url: https://developer.temenos.com/ email: api.support@temenos.com license: name: Temenos Terms of Service url: https://www.temenos.com/terms-of-service/ termsOfService: https://www.temenos.com/terms-of-service/ servers: - url: https://api.temenos.com/api/v1.0.0 description: Temenos Transact API - Production - url: https://sandbox.temenos.com/api/v1.0.0 description: Temenos Transact API - Sandbox security: - bearerAuth: [] tags: - name: Customers description: Create, update, and manage customer profiles, contact details, KYC documentation, compliance records, communication preferences, and party relationships. paths: /party/customers: get: operationId: getCustomers summary: Temenos Transact List Customers description: Retrieve a list of customers. Supports filtering by customer name, mnemonic, sector, status, and other criteria. Returns customer profiles with basic information. tags: - Customers parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' - name: customerName in: query description: Filter by customer name (partial match supported) schema: type: string - name: mnemonic in: query description: Filter by customer mnemonic schema: type: string - name: sector in: query description: Filter by customer sector code schema: type: integer - name: status in: query description: Filter by customer status schema: type: string enum: - ACTIVE - INACTIVE - DECEASED - CLOSED responses: '200': description: Successful retrieval of customers list content: application/json: schema: $ref: '#/components/schemas/CustomersResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createCustomer summary: Temenos Transact Create Customer description: Create a new customer record in Temenos Transact. Each new customer is assigned a unique system-generated customer ID. Required fields include short name, sector, and customer mnemonic. Supports creating individual and corporate customer types with full demographic, contact, and compliance information. tags: - Customers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerCreateRequest' responses: '201': description: Customer created successfully content: application/json: schema: $ref: '#/components/schemas/CustomerDetailsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': description: Conflict - customer mnemonic already exists content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /party/customers/{customerId}: get: operationId: getCustomer summary: Temenos Transact Get Customer Details description: Retrieve detailed information for a specific customer including personal details, contact information, KYC status, AML check results, account officer assignment, and relationship details. tags: - Customers parameters: - $ref: '#/components/parameters/customerIdPath' responses: '200': description: Successful retrieval of customer details content: application/json: schema: $ref: '#/components/schemas/CustomerDetailsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateCustomer summary: Temenos Transact Update Customer description: Update an existing customer record. Supports modifying customer attributes such as contact details, address, communication preferences, and KYC documentation. tags: - Customers parameters: - $ref: '#/components/parameters/customerIdPath' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerUpdateRequest' responses: '200': description: Customer updated successfully content: application/json: schema: $ref: '#/components/schemas/CustomerDetailsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /party/customers/{customerId}/accounts: get: operationId: getCustomerAccounts summary: Temenos Transact List Customer Accounts description: Retrieve all accounts associated with a specific customer, including account type, status, currency, and balance summary. tags: - Customers parameters: - $ref: '#/components/parameters/customerIdPath' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' responses: '200': description: Successful retrieval of customer accounts content: application/json: schema: $ref: '#/components/schemas/AccountsResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: Address: type: object description: Physical or mailing address properties: addressType: type: string description: Type of address enum: - RESIDENTIAL - CORRESPONDENCE - BUSINESS - REGISTERED example: RESIDENTIAL addressLine1: type: string description: First line of address example: example_value addressLine2: type: string description: Second line of address example: example_value city: type: string description: City name example: example_value state: type: string description: State or province example: example_value postCode: type: string description: Postal or ZIP code example: example_value country: type: string description: Country code (ISO 3166) pattern: ^[A-Z]{2}$ example: example_value ErrorResponse: type: object description: Standard error response structure required: - header properties: header: type: object properties: id: type: string description: Request identifier status: type: string description: Error status enum: - error transactionStatus: type: string description: Transaction status example: example_value error: type: object properties: type: type: string description: Error type classification message: type: string description: Human-readable error message code: type: string description: Machine-readable error code details: type: array description: Detailed error information items: type: object properties: field: type: string description: Field that caused the error message: type: string description: Field-level error message code: type: string description: Field-level error code example: example_value PaginationInfo: type: object description: Pagination metadata for list responses properties: pageSize: type: integer description: Number of records per page example: 10 pageStart: type: integer description: Current page offset example: 10 totalRecords: type: integer description: Total number of records available example: 10 AccountsResponse: type: object properties: header: $ref: '#/components/schemas/ResponseHeader' body: type: array items: $ref: '#/components/schemas/Account' example: [] page: $ref: '#/components/schemas/PaginationInfo' Customer: type: object description: A customer record in Temenos Transact representing an individual or corporate entity with a banking relationship. properties: customerId: type: string description: Unique system-generated customer identifier examples: - '100282' customerMnemonic: type: string description: Short alphanumeric code identifying the customer (3-10 characters, first character alphabetic) pattern: ^[A-Z][A-Z0-9]{2,9}$ examples: - JSMITH01 shortName: type: string description: Short name of the customer (3-35 characters, uppercase) examples: - JOHN SMITH customerNames: type: array description: Full name entries for the customer items: type: object properties: name: type: string description: Customer name line example: [] displayNames: type: array description: Display name entries for the customer items: type: object properties: name: type: string description: Display name example: [] title: type: string description: Customer title enum: - MR - MRS - MS - MISS - DR - REV example: MR gender: type: string description: Customer gender enum: - MALE - FEMALE example: MALE dateOfBirth: type: string format: date description: Customer date of birth example: '2026-01-15' nationalityId: type: string description: Nationality code example: '500123' residenceId: type: string description: Country of residence code example: '500123' language: type: integer description: Preferred language code example: 10 customerStatus: type: integer description: Customer status code (1 = active) example: 10 sectorId: type: integer description: Customer sector classification (1-4 digits) examples: - 1000 industryId: type: integer description: Industry classification code examples: - 1000 accountOfficerId: type: integer description: Assigned account officer identifier examples: - 6 target: type: integer description: Target market segment example: 10 communicationDevices: type: array description: Contact communication devices (phone, email) items: type: object properties: deviceType: type: string description: Type of communication device enum: - PHONE - EMAIL - MOBILE - FAX deviceValue: type: string description: Contact value (phone number or email address) preferredChannel: type: boolean description: Whether this is the preferred contact channel example: [] addresses: type: array description: Customer address records items: $ref: '#/components/schemas/Address' example: [] customerCompany: type: string description: Company identifier the customer belongs to example: example_value amlCheck: type: string description: AML verification check status example: example_value amlResult: type: string description: AML verification result example: example_value kycStatus: type: string description: KYC compliance status enum: - VERIFIED - PENDING - EXPIRED - NOT_CHECKED example: VERIFIED CustomerCreateRequest: type: object required: - body properties: header: type: object properties: override: type: boolean description: Override warnings and proceed example: example_value body: type: object required: - shortName - customerMnemonic - sectorId properties: shortName: type: string description: Customer short name (3-35 chars, uppercase alphanumeric) minLength: 3 maxLength: 35 customerMnemonic: type: string description: Customer mnemonic (3-10 chars, first char alphabetic) pattern: ^[A-Z][A-Z0-9]{2,9}$ customerNames: type: array items: type: object properties: name: type: string displayNames: type: array items: type: object properties: name: type: string title: type: string enum: - MR - MRS - MS - MISS - DR - REV gender: type: string enum: - MALE - FEMALE dateOfBirth: type: string format: date nationalityId: type: string sectorId: type: integer description: Sector classification (1-4 digits) industryId: type: integer accountOfficerId: type: integer target: type: integer language: type: integer communicationDevices: type: array items: type: object properties: deviceType: type: string enum: - PHONE - EMAIL - MOBILE - FAX deviceValue: type: string addresses: type: array items: $ref: '#/components/schemas/Address' example: example_value CustomerUpdateRequest: type: object properties: header: type: object properties: override: type: boolean example: example_value body: type: object properties: customerNames: type: array items: type: object properties: name: type: string displayNames: type: array items: type: object properties: name: type: string communicationDevices: type: array items: type: object properties: deviceType: type: string deviceValue: type: string addresses: type: array items: $ref: '#/components/schemas/Address' example: example_value ResponseHeader: type: object description: Standard response header returned by all Transact API operations properties: id: type: string description: Unique identifier for the resource example: abc123 status: type: string description: Status of the operation (success, error) enum: - success - error example: success transactionStatus: type: string description: Transaction lifecycle status enum: - Live - Unauth - Hold - Reversed example: Live audit: type: object properties: parseTime: type: integer description: Time taken to parse the request in milliseconds responseParse: type: integer description: Time taken to generate the response in milliseconds example: example_value CustomerDetailsResponse: type: object properties: header: $ref: '#/components/schemas/ResponseHeader' body: $ref: '#/components/schemas/Customer' CustomersResponse: type: object properties: header: $ref: '#/components/schemas/ResponseHeader' body: type: array items: $ref: '#/components/schemas/Customer' example: [] page: $ref: '#/components/schemas/PaginationInfo' Account: type: object description: A banking account arrangement in Temenos Transact. Created through the Arrangement Architecture supporting current, savings, corporate, Islamic, non-resident, and minor account types. properties: accountId: type: string description: Unique system-generated account identifier examples: - AA2014500001 accountName: type: string description: Display name of the account example: example_value customerId: type: string description: Identifier of the owning customer example: '500123' customerName: type: string description: Name of the owning customer example: example_value productId: type: string description: Product identifier from the arrangement architecture example: '500123' productName: type: string description: Human-readable product name example: example_value accountType: type: string description: Type of account enum: - CURRENT - SAVINGS - CORPORATE - ISLAMIC - NON_RESIDENT - MINOR example: CURRENT currency: type: string description: Account currency in ISO 4217 format pattern: ^[A-Z]{3}$ examples: - USD - EUR - GBP status: type: string description: Current account status enum: - ACTIVE - INACTIVE - CLOSED - PENDING - DORMANT example: ACTIVE openingDate: type: string format: date description: Date the account was opened example: '2026-01-15' workingBalance: type: number description: Current working balance of the account example: 42.5 availableBalance: type: number description: Available balance including overdraft facility example: 42.5 accountOfficerId: type: integer description: Identifier of the assigned account officer example: '500123' branchId: type: string description: Branch where the account is held example: '500123' iban: type: string description: International Bank Account Number example: example_value bic: type: string description: Bank Identifier Code (SWIFT code) example: example_value responses: NotFound: description: Requested resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalServerError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Insufficient permissions to access this resource content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication required or token expired content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Bad request - invalid parameters or malformed request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: customerIdPath: name: customerId in: path required: true description: Unique identifier of the customer schema: type: string pageStart: name: page_start in: query description: Page token or offset for pagination schema: type: integer default: 0 minimum: 0 pageSize: name: page_size in: query description: Number of records to return per page (default 25, max 100) schema: type: integer default: 25 minimum: 1 maximum: 100 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 Bearer token authentication. Obtain a token from the Temenos authentication endpoint using client credentials or authorization code flow.