ACMC GraphQL INTERFACE Type

INTERFACE types in the ACMC schema provide a way to define a fixed set of values for specific fields, ensuring data consistency and improving query efficiency. These types, such as Accrual, Allocatable, and BusinessProcess, represent predefined sets of options that can be used across various parts of the schema.

Examples of how INTERFACE types can be used in the ACMC schema:

  1. Accrual:
    • Use case: Represents an accrual event in the system.
    • Include fields such as amounts, currency, customer and etc
  2. Allocatable:
    • Use case: Represents an allocatable item in the system.
    • Include fields such as allocationState, instructions, valueDate and etc
  3. BusinessProcess:
    • Use case: Represents a business process in the system.
    • Include fields such as createdTimestamp, valueDate and etc

INTERFACE TYPES EXAMPLES

Name Description Fields
Accrual Represents an accrual event in the system. This interface is used to track and manage accruals, which are accumulations of financial items over time. amounts, currency, customer, destination, endDate, id, pool, product, realisation, source, type, valueDate
Allocatable Represents an allocatable item in the system. This interface is used for managing items that can be allocated to accounts, including their allocation state, history, and associated processes. accountAllocatedTo, allocation, allocationState, amount, businessProcess, createdTimestamp, deleteApprovalTimestamp, deleteApprovalUserId, deleteApprovalUserName, deleteMessage, deleteRequestTimestamp, deleteRequestUserId, deleteRequestUserName, directDebit, history, hold, holdHistory, id, instructions, pool, remainingUnallocated, restoreApprovalTimestamp, restoreApprovalUserId, restoreApprovalUserName, restoreMessage, restoreRequestTimestamp, restoreRequestUserId, restoreRequestUserName, reversal, split, unallocatable, unallocatedReason, unallocatedReasonCode, valueDate
BusinessProcess Represents a business process in the system. This interface is used to track and manage various business processes, including their associated transactions and timelines. createdTimestamp, id, transactions, valueDate
Command Detailed information on a previously executed command. This interface provides a comprehensive view of command execution, including approval status, input data, and execution state. approval, createdTimestamp, id, inputJson, invalid, operation, state, step, userInfo
FeatureConfig Represents a feature configuration in the system. This interface is used to manage and track various system features and their configurations. id, name
Instruction Represents an instruction within a business process. This interface is used to manage individual instructions that make up larger business processes. businessProcess, id
NamedRate Represents a named rate in the system. This interface is used to manage and track various rates, including their history and current or next values. currentOrNext, history, id
NamedRateEntry Represents an entry for a named rate. This interface provides detailed information about specific rate entries, including currency and start date. currency, id, name, namedRate, startDate
Node Represents a basic node in the system. This interface is a fundamental building block for other more complex types that require a unique identifier. id
Party Represents a party in the system. This interface is used to manage various types of parties, including individuals and organizations, with their associated details and relationships. customer, dateOfResidencyChange, id, kycInformation, linkedAccounts, previousDomesticTin, previousSelfCertified, reference, roles, selfCertified, shortId
PartyCompanyInterface Represents a company party in the system. This interface extends the basic Party interface with additional fields specific to company entities. alternateAddress, businessNumber, clientClassification, controllingPersons, countryOfEffectiveManagement, customer, customerNode, email, fullName, giin, kycInformation, noTaxResidency, reference, registeredOfficeAddress, roles, selfCertified, taxReportingType, taxResidencies, tradingName, workPhone
PartyTrustInterface Represents a trust party in the system. This interface extends the basic Party interface with additional fields specific to trust entities. alternateAddress, businessNumber, clientClassification, controllingPersons, countryOfEffectiveManagement, countryOfEstablishment, customer, customerNode, email, fullName, giin, kycInformation, noTaxResidency, reference, registeredOfficeAddress, roles, selfCertified, taxReportingType, taxResidencies, workPhone
Pool Represents a pool of accounts or resources in the system. This interface is used to manage groups of related accounts or resources, including their allocation and reversal status. accounts, deleted, id, matchedReversals, movedToCLA, name, sourceType, unallocated
Product Represents a product in the system. This interface is used to manage various financial products, including their features, associated accounts, and status. accounts, activeFeatures, availableFeatures, billingId, code, codeSuffix, costCentre, currencies, description, governmentGuaranteeApplies, grantedToCustomers, id, name, parent, retailLookThrough, rmSet, state
Source Represents a source of funds or transactions in the system. This interface is used to manage various sources, including their balances and associated accounts. balances, bankCode, currency, id, internalAccounts, name, sourceType
Transaction Represents a financial transaction in the system. This interface is used to manage individual transactions, including their associated entries, currency, and status. businessProcess, currency, entries, id, initiatedTimestamp, splitElement, state, transactionType, valueDate
TransactionEntry Represents an entry within a transaction. This interface provides detailed information about individual entries that make up a transaction, including account, value, and status. account, balance, businessProcess, creditDebit, currency, id, initiatedTimestamp, instruction, state, transaction, transactionType, unallocatable, value
UserWithScopes Description of a user, including their permissions (scopes). Both `name` and `displayName` are optional as not all users have them. In particular, API users will likely not have either. displayName, scopes, sub, username
WithholdingTaxAUEntry Represents an entry for Australian withholding tax. This interface is used to manage withholding tax details specific to the Australian tax system. apcaId, effectiveTimestamp, financialYearStart, nominatedAccount, nonResidentRate, resident

This overview provides a summary of key INTERFACE types available in the ACMC GraphQL API, including their descriptions and basic use cases. For more comprehensive information, detailed usage examples, and the complete set of available INTERFACE types, please refer to the full ACMC GraphQL schema documentation and dedicated sample pages.