Object types form the backbone of the ACMC schema, representing key entities and their relationships within the banking system. These types, such as Account
, PartyIndividual
, and Payment
, encapsulate structured data and serve as the building blocks for complex queries and operations.
Each object type consists of fields that can be either scalar values (like String
or Int
) or references to other object types, enabling the creation of intricate, nested data structures. This design allows for flexible and powerful querying capabilities.
Examples of how object types can be used:
Account
type:- Retrieve account details: Get the balance, accountNumber, and associated information for a specific account.
Customer
type:- Retrieve customer details: Get information about a customer, including associatedParty, designatedInterestAccount, and associated product details.
PartyIndividual
type:- Retrive party details: Get information about individual beneficiaries, such as first name, last name, and residentialAddress
OBJECT TYPES EXAMPLES
Name | Description | Mandatory Fields | Non-Mandatory Fields |
---|---|---|---|
Account | Full details of a bank account. In addition to balance and transaction details Account also provides information on parties associated with the account, capabilities of the account etc. |
- accountNumber - accountProductMovements - balances - bankCode - closeAccountProcesses - closeTimestamp - currencies - customer |
- interest - secondaryReference |
Address | An address. | countryCode | city, line1, line2, postCode, state |
CommandError | Detailed error information for a command in the case of a failure. |
- code - path - reason |
N/A |
CommandResponse | Processing of all mutations is asynchronous with a command id returned to acknowledge receipt of the request and to enable tracking of it's progress. The command id can be subsequently queried to determine if the request completed successfully. Basic schema validation is performed synchronously on receipt of the request. | commandId | N/A |
Customer | The Customer type represents a customer in the system and implements the Node interface. It provides a wide range of details about the customer, such as accounts, transaction history, approvals, and system-related details. The Customer type also supports various filters for querying connected data, such as business processes, accounts, and reports. It includes both essential identification and optional customer attributes, such as reporting status and KYC information. |
- accounts - actionControlDateLimits - autoSweepAvailable - autoSweepEnabled - blockDirectDebits - displayName - fullName - id - interest - reporter - reportingFinancialInstitution - usFinancialInstitution |
- aggregateTransactions - apcaDirectEntryCreditId - apcaDirectEntryDebitId - approvals - associatedParty - authLink - autoSweepDetails - billingId - businessProcesses - coreSystemDetails - counterpartyType - designatedInterestAccount - giin - knowYourCustomerId - linkedAccounts - namedRates - parties - pools - products - scheduledReports - sourceAccountAliases - sources |
CustomerOnboarded | Update containing details of a newly onboarded customer. | N/A | customer |
FeatureGraph | Use this to determine valid product specialisations. | N/A | features |
GrantedProductToCustomer | Product Subscriptions | N/A | customer |
IndividualTaxResidency | Details of an individuals tax residency. |
- countryCode - tin - tinMissingExplanation - tinMissingReason |
N/A |
NonIndividualTaxResidency | Details of a non-individuals tax residency. |
- countryCode - tin - tinMissingExplanation - tinMissingReason |
N/A |
These examples showcase the main object types available in the ACMC GraphQL API. You can expand on these object types to access more specific data as needed for your application. For a full list of object types, please refer to the full ACMC GraphQL schema documentation and dedicated sample pages.