ACMC GraphQL INPUT Type

INPUT types in the ACMC schema provide a way to define the input parameters for queries and mutations. They are similar to object types but are specifically designed to carry data into the system. INPUT types are ideal for representing input parameters for queries and mutations, allowing for structured data input and validation.

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

  1. AccountFilter:
    • Use case: Filtering accounts based on various criteria such as account number, name, bank code, and open states.
    • Example: filter: {nameExact: "Account One", accountNumberContains: "1234"}
  2. CreatePartyIndividualInput:
    • Use case: Creating a new individual party in the system with personal details, addresses, and tax information.
    • Fields include: alternateAddress, customerId, dateOfBirth, familyName, gender, givenName, otherGivenNames, reference, residentialAddress, roles, selfCertified, taxResidencies, title
  3. AggregateInstructionOrdering:
    • Use case: Specifying the ordering of aggregate instruction results.
    • Fields: direction (ascending or descending), sort (field to sort by)
    • Example: ordering: {direction: ASC, sort: TIMESTAMP}

INPUT TYPES EXAMPLES

Name Description Fields
AccountFilter A filter for querying accounts. A simple use of this filter might look like: `filter: {nameExact:"Account One"}` A filter with a top level 'or' might look like: `filter: {or: [{nameExact: "Account One"}, {accountNumberContains: "1234"}]}` accountNumberContains, accountNumberExact, accountReferenceContains, accountReferenceExact, and, bankCode, internal, nameContains, nameExact, openStates, or, showClasses
AccountInterestFilter A filter for querying account interest. It allows filtering based on the exact currency of the interest. currencyExact
AccountOrdering Specifies the ordering of account results. It allows setting the direction (ascending or descending) and the field to sort by. direction, sort
AccrualTimeInput Input type for specifying accrual time details. It includes the currency, time, and timezone information for accurate accrual calculations. currency, time, timeZone
ActionControlDateLimitInput Input type for setting date limits on various actions. It allows specifying limits for allocation, matching, and unallocation processes. allocation, matching, unallocation
AddressInput An input type for entering address details. It includes fields for various components of a standard address, allowing for structured address data entry. city, countryCode, line1, line2, postCode, state
AggregateInstructionFilter A filter for querying aggregate instructions. A simple use of this filter might look like: `filter: {narrativeExact:"Narrative One"}` A filter with a top level 'or' might look like: `filter: {or: [{narrativeExact:"Narrative One"}, {tracingIdContains: "Tracing ID Two"}]}` and, narrativeContains, narrativeExact, or, state, tracingIdContains, tracingIdExact
AggregateInstructionOrdering Specifies the ordering of aggregate instruction results. It allows setting the direction (ascending or descending) and the field to sort by. direction, sort
AggregatePaymentExternalAccountInput Input type for specifying external account details for aggregate payments. It includes fields for the account and CLA (Client Ledger Account) ID. account, claId
AggregatePaymentFilter A filter for querying aggregate payments. It allows filtering based on amount and reference details. amount, referenceContains, referenceExact
AggregatePaymentOrdering Defines the ordering for aggregate payment results. It allows specifying the direction and sort field for the results. direction, sort
AllocatableFilter A filter for querying allocatable items. It provides various fields to filter allocatable transactions based on type, state, amount, and narrative. allocatableType, allocationState, amount, hold, narrativeContains, narrativeExact, reversal
AllocatableOrdering Specifies the ordering of allocatable item results. It allows setting the direction and the field to sort by. direction, sort
AllocateDeferredInput Options for allocation of an unallocated/deferred interest payment or receipt to a client account. It includes fields for allocation comment and the ID of the deferred allocatable. allocationComment, deferredAllocatableId
AllocateInput Options for allocation of an unallocated payment or receipt to a client account. It includes fields for the account ID, allocation comment, and the ID of the unallocated item. accountId, allocationComment, unallocatedId
AllocationDateLimitInput Input type for setting date limits on allocation processes. It allows specifying limits for credit and debit allocations. credit, debit
AmountFilter A filter for querying amounts. It provides fields to filter based on credit/debit status, currencies, and value comparisons. creditDebit, currencies, equalTo, greaterThan, lessThan
AmountMatchedInput Input type for specifying matched amount details. It includes fields for currency and value. currency, value
ApprovalFilter A comprehensive filter for querying approvals. It provides numerous fields to filter based on various approval-related criteria. action, actions, approvalLastStage, approvalRequiresToken, commandId, commandStates, hasParticipatedIn, operation, operations, rejectionLastStage, rejectionRequiresToken, startedFrom, startedUntil, state, states
ApproveRequestInput Input type for approving a request. It includes fields for the request ID, reason for approval, and token code if required. id, reason, tokenCode
AssociateCustomerPartyInput Options for recording company details of a customer. It includes fields for the customer ID and party ID to establish the association. customerId, partyId
AutoSweepDetailsInput Input type for specifying auto-sweep details. It includes fields for the linked account ID, time, and timezone for the sweep operation. customerLinkedAccountId, time, timezone
BankManualInterestAdjustmentInput Input type for manual interest adjustments by the bank. It includes fields for account details, amounts, reason, and associated transaction ID. accountId, claId, clientAmount, customerMargin, reason, webVoucherTxId
CloseAccountInput Options for closing a client account. This input type allows specifying the account to be closed and the destination for any remaining funds. It's used in account closure operations to ensure proper handling of the account and its balance. accountId, fundsDestination
CommandFilter A comprehensive filter for querying commands in the system. It provides various fields to filter commands based on action, external ID, time range, operation type, states, and user information. This filter is useful for auditing, tracking, and managing system operations. actionContains, actionExact, externalId, from, operation, states, until, user, userInfo
CreateCustomerLinkedAccountInput Options for creating a customer linked account. This input type allows specifying details such as account holder, name, number, and bank code to establish a link between a customer and an external account. accountHolder, accountName, accountNumber, bankCode, customerId, description
CreatePartyAssociationInput Input type for creating a party association. It includes a comprehensive set of fields to define the relationship between parties, including business details, contact information, and roles. alternateAddress, associationType, businessNumber, clientClassification, countryOfEstablishment, customerId, email, fullName, incorporationCountry, incorporationDate, reference, registeredBodyNumber, registeredOfficeAddress, roles, taxResidencies, workPhone
CreatePartyIndividualInput Options for creation of an individual party. This input type includes fields for personal details, addresses, and tax-related information specific to individual customers. alternateAddress, customerId, dateOfBirth, familyName, gender, givenName, otherGivenNames, reference, residentialAddress, roles, selfCertified, taxResidencies, title
CreatePartyTrustInput Options for creation of a trust party. This input type includes fields specific to trusts, such as trust type, controlling persons, and tax reporting details. alternateAddress, businessNumber, clientClassification, controllingPersons, countryOfEffectiveManagement, countryOfEstablishment, customerId, email, fullName, giin, noTaxResidency, reference, registeredOfficeAddress, registeredSchemeNumber, roles, selfCertified, taxReportingType, taxResidencies, trustType, workPhone
CustomerFilter A filter for querying customers. A simple use of this filter might look like: `filter: {fullNameExact:"Santa Claus"}` A filter with a top level 'or' might look like: `filter: {or: [{fullNameExact: "Santa Claus"}, {displayNameExact: "Father Christmas"}]}` displayNameContains, displayNameExact, fullNameContains, fullNameExact, or
CustomerLinkedAccountFilter A filter for querying customer linked accounts. It allows filtering based on the account name. accountNameContains, accountNameExact
CustomerManualInterestAdjustmentInput Input type for manual interest adjustments by the customer. It includes fields for account details, amount, and reason for the adjustment. accountId, claId, clientAmount, reason
CustomerSourceFilter A filter for querying customer sources. It allows filtering based on account number, bank code, and name. accountNumber, bankCode, nameContains, nameExact
DateTimeFilter A filter for querying based on date and time ranges. It allows specifying 'from' and 'until' date-times. from, until
DeleteCustomerSourceAccountAliasInput Input type for deleting a customer source account alias. It requires the ID of the source alias to be deleted. sourceAliasId
EditCustomerInput Options for updating details of a customer. It includes a wide range of fields for various customer attributes and settings. actionControlDateLimits, apcaDirectEntryCreditId, apcaDirectEntryDebitId, autoSweepAvailable, billingId, blockDirectDebits, coreSystemDetails, counterpartyType, designatedInterestAccount, fullName, giin, id, interestCapitalisationOnDemand, knowYourCustomerId, reporter, reportingFinancialInstitution, usFinancialInstitution
EditExtAccountInput Input type for editing an external account. It includes fields for account number, bank code, and name. accountNumber, bankCode, name
EditPartyAssociationInput Input type for editing a party association. It includes fields for various details of the association. alternateAddress, associationType, businessNumber, clientClassification, countryOfEstablishment, email, fullName, id, incorporationCountry, incorporationDate, reference, registeredBodyNumber, registeredOfficeAddress, roles, taxResidencies, workPhone
EditPartyCompanyInput Options for updating details of a party company. It includes a comprehensive set of fields for company information. alternateAddress, businessNumber, clientClassification, companyNumber, companyType, controllingPersons, countryOfEffectiveManagement, countryOfEstablishment, email, fullName, giin, id, incorporationCountry, incorporationDate, noTaxResidency, reference, registeredBodyNumber, registeredOfficeAddress, roles, selfCertified, stockExchange, taxReportingType, taxResidencies, tradingName, workPhone
EditPartyIndividualInput Options for updating details of an individual party. It includes fields for personal information and addresses. alternateAddress, dateOfBirth, familyName, gender, givenName, id, otherGivenNames, reference, residentialAddress, roles, selfCertified, taxResidencies, title
EditPartyTrustInput Options for updating details of a trust party. It includes fields specific to trusts, such as controlling persons and tax reporting details. alternateAddress, businessNumber, clientClassification, controllingPersons, countryOfEffectiveManagement, countryOfEstablishment, email, fullName, giin, id, noTaxResidency, reference, registeredOfficeAddress, registeredSchemeNumber, roles, selfCertified, taxReportingType, taxResidencies, trustType, workPhone
EncryptedInput Payload for an encrypted request. It includes fields for the customer ID and the encrypted payload. customerId, encryptedPayload
ExecuteAggregatePaymentInput Input type for executing an aggregate payment. It includes fields for payment details such as count, reference, and total amount. count, customerTransactionReference, externalAccount, instructions, reference, totalAmount
ExternalAccountInput Input type for specifying an external account. It includes fields for account details and payment type. accountNumber, bankCode, name, paymentType
IndividualTaxResidencyInput Input type for declaring an individual's tax residency. It includes fields for specifying the country code, Tax Identification Number (TIN), and explanations if the TIN is missing. This is crucial for compliance with international tax regulations and reporting requirements. countryCode, tin, tinMissingExplanation, tinMissingReason
InstructionInput Input type for creating a financial instruction. It includes fields for specifying the account ID, amount, narrative (description), and a tracing ID for tracking purposes. This is typically used when initiating transactions or setting up payment instructions within the system. accountId, amount, narrative, tracingId
MakeInternalTransferInput Input type for transferring funds between two client accounts within the same pool. This is used for internal transfers within the ACMC system. It includes fields for specifying the crediting and debiting accounts, references for both payer and payee, the pool, transfer amount, and value date. This allows for detailed tracking and recording of internal fund movements. creditingAccount, customerTransactionReference, debitingAccount, payeeReference, payerReference, pool, transferAmount, valueDate
WithholdingTaxAUInput Input type for specifying Australian withholding tax details. It includes fields for APCA ID, effective timestamp, financial year start, nominated account, non-resident rate, and resident tax information. This is used to configure withholding tax settings for Australian accounts. apcaId, effectiveTimestamp, financialYearStart, nominatedAccount, nonResidentRate, resident
WithholdingTaxNominatedAccountInput Input type for specifying a nominated account for withholding tax purposes. It includes fields for account number, bank code, and name. This is used to designate an account for tax payments or refunds. accountNumber, bankCode, name

This overview provides a summary of key IN PUT 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 INPUT types, please refer to the full ACMC GraphQL schema documentation and dedicated sample pages.