Party Management Examples Overview:
This page provides comprehensive examples of GraphQL queries and mutations for managing parties (beneficiaries) in the ANZ Cash Management Central (ACMC) system. These operations cover various aspects of party management, including creating individual and non-individual clients, querying client creation status, and retrieving detailed client information. Each example is accompanied by explanations of input fields, sample requests, and response structures to help developers effectively integrate with the ACMC API for party-related operations.
Table of Contents
- Create Individual Party
- Create Non-Individual Party
- Query Party Creation Status
- Query Party Details
- Update Individual Party Details
Create Individual Party
Mutation: CreateIndividualParty
This mutation creates a new individual client in the ACMC system.
mutation ($party: CreatePartyIndividualInput!) {
createPartyIndividual(i: $party) {
commandId
}
}
Variables:
{
"party": {
"customerId": "Q3VzdG9tZXI6MDVkM2VmZWQ2MTYyZDEzZTlkOGYyMTI1YTBhZTQwOGVmMmQ4MDQyMGU5MjA1N2YwNmViNGIxYjc2YTA2ZDMwZA==",
"title": "Mr",
"givenName": "Mark",
"familyName": "Te",
"gender": "M",
"dateOfBirth": "1983-12-31",
"residentialAddress": {
"line1": "434 757 Bourke St",
"line2": "Docklands",
"city": "Melbourne",
"countryCode": "AU",
"postCode": "3000",
"state": "VIC"
},
"roles": [
"BENEFICIARY"
],
"taxResidencies": [
{
"countryCode": "AU",
"tin": null,
"tinMissingReason": "PENSIONER"
}
]
}
}
Input Fields
Field | Description |
---|---|
customerId | Unique identifier for the customer |
title | Title of the individual (e.g., Mr, Mrs, Ms) |
givenName | First name of the individual |
familyName | Last name of the individual |
gender | Gender of the individual (e.g., M, F) |
dateOfBirth | Date of birth of the individual |
residentialAddress | Residential address of the individual |
roles | Roles assigned to the individual |
taxResidencies | Tax residency information |
AddressInput Fields
Field | Description |
---|---|
line1 | First line of the address |
line2 | Second line of the address (optional) |
city | City |
state | State or province |
countryCode | Country code (e.g., AU for Australia) |
postCode | Postal or ZIP code |
TaxResidencyInput Fields
Field | Description |
---|---|
countryCode | Country code for tax residency |
tin | Tax Identification Number (optional) |
tinMissingReason | Reason for missing TIN (if applicable) |
Create Non-Individual Party
Mutation: CreatePartyTrust
This mutation creates a new non-individual client (e.g., company, trust) in the ACMC system.
mutation ($party: CreatePartyTrustInput!) {
createPartyTrust(i: $party) {
commandId
}
}
Variables:
{
"party": {
"customerId": "Q3VzdG9tZXI6MDVkM2VmZWQ2MTYyZDEzZTlkOGYyMTI1YTBhZTQwOGVmMmQ4MDQyMGU5MjA1N2YwNmViNGIxYjc2YTA2ZDMwZA==",
"reference": "Mark_Trust",
"fullName": "Mark Family Trust",
"trustType": "UNREGULATED_DOMESTIC_FAMILY",
"clientClassification": "TRUST",
"countryOfEstablishment": "AU",
"businessNumber": "75140734783",
"registeredOfficeAddress": {
"line1": "200 Collins Street",
"city": "Melbourne",
"state": "VIC",
"countryCode": "AU",
"postCode": "3000"
},
"email": "mark@test.com.au",
"workPhone": "92319231",
"taxResidencies": [
{
"countryCode": "AU",
"tin": "467299997"
}
],
"roles": [
"BENEFICIARY"
]
}
}
Input Fields
Field | Description |
---|---|
customerId | Unique identifier for the customer |
reference | Reference for the trust |
fullName | Full name of the trust |
trustType | Type of the trust |
clientClassification | Classification of the client |
countryOfEstablishment | Country where the trust was established |
businessNumber | Business number of the trust |
registeredOfficeAddress | Registered office address of the trust |
Email address for the trust | |
workPhone | Work phone number for the trust |
taxResidencies | Tax residency information |
roles | Roles assigned to the trust |
Query Party Creation Status
Query: PartyIndividualCreateCommand
This query checks the status of a party creation request.
query QueryCommand {
node(id: "Q29tbWFuZDoyMDY0NWU3Yi02OGU2LTRlMTItYjA0YS1hZDdjZmFlZDYzYzY=") {
__typename
... on GenericCommand {
action
state
step
invalid {
field
reason
}
}
... on PartyIndividualCreateCommand {
action
party {
id
roles
reference
}
invalid {
field
reason
}
state
step
}
}
}
Response:
{
"data": {
"node": {
"__typename": "PartyIndividualCreateCommand",
"action": "PARTY-INDIVIDUAL-CREATE",
"party": {
"id": "UGFydHlJbmRpdmlkdWFsOmJkMWNjZjVmNTYzY2NmNGQwZGQzNmJmYjIzYTJkMjNhMDBiYWEwOTcwNzE2NzdiM2VkOWY5ZTVmNDI3ZGNlNDU=",
"roles": [
"BENEFICIARY"
],
"reference": "new account"
},
"invalid": [],
"state": "SUCCESSFUL",
"step": "END"
}
}
}
Response Fields
Field | Description |
---|---|
node.__typename | The type of the command |
node.action | The action performed by the command |
node.party.id | The ID of the created party |
node.party.roles | The roles assigned to the party |
node.party.reference | The reference of the party |
node.invalid | List of validation errors (if any) |
node.state | The current state of the command |
node.step | The current step of the command |
Query Individual Party Details
Query: PartyIndividual
This query retrieves detailed information about a client.
query QueryCommand{
node(
id: "UGFydHlJbmRpdmlkdWFsOmJkMWNjZjVmNTYzY2NmNGQwZGQzNmJmYjIzYTJkMjNhMDBiYWEwOTcwNzE2NzdiM2VkOWY5ZTVmNDI3ZGNlNDU="
) {
... on PartyIndividual {
customer {
fullName
}
id
shortId
gender
title
givenName
familyName
otherGivenNames
dateOfBirth
dateOfDeath
deceased
residentialAddress {
line1
line2
city
state
countryCode
postCode
}
alternateAddress {
line1
line2
city
state
countryCode
postCode
}
reference
roles
selfCertified {
certificationDate
}
taxReportingType
taxResidencies {
countryCode
tin
tinMissingExplanation
tinMissingReason
}
title
__typename
customer {
fullName
id
}
}
}
}
Response:
{
"data": {
"node": {
"customer": {
"fullName": "Testing Trading Pty Ltd",
"id": "Q3VzdG9tZXI6MDVkM2VmZWQ2MTYyZDEzZTlkOGYyMTI1YTBhZTQwOGVmMmQ4MDQyMGU5MjA1N2YwNmViNGIxYjc2YTA2ZDMwZA=="
},
"id": "UGFydHlJbmRpdmlkdWFsOmJkMWNjZjVmNTYzY2NmNGQwZGQzNmJmYjIzYTJkMjNhMDBiYWEwOTcwNzE2NzdiM2VkOWY5ZTVmNDI3ZGNlNDU=",
"shortId": "9333346219",
"gender": "M",
"title": "Mr",
"givenName": "Mark",
"familyName": "Te",
"otherGivenNames": [],
"dateOfBirth": "1983-12-31",
"dateOfDeath": null,
"deceased": false,
"residentialAddress": {
"line1": "434 757 Bourke St",
"line2": "Docklands",
"city": "Melbourne",
"state": "VIC",
"countryCode": "AU",
"postCode": "3000"
},
"alternateAddress": null,
"reference": "new account",
"roles": [
"BENEFICIARY"
],
"selfCertified": null,
"taxReportingType": null,
"taxResidencies": [
{
"countryCode": "AU",
"tin": null,
"tinMissingExplanation": null,
"tinMissingReason": "PENSIONER"
}
],
"__typename": "PartyIndividual"
}
}
}
Response Fields
Field | Description |
---|---|
node.customer.fullName | The full name of the associated customer |
node.customer.id | The ID of the associated customer |
node.id | The ID of the party |
node.shortId | A short identifier for the party |
node.gender | The gender of the individual |
node.title | The title of the individual |
node.givenName | The given name of the individual |
node.familyName | The family name of the individual |
node.otherGivenNames | Any other given names of the individual |
node.dateOfBirth | The date of birth of the individual |
node.dateOfDeath | The date of death (if applicable) |
node.deceased | Whether the individual is deceased |
node.residentialAddress | The residential address of the individual |
node.alternateAddress | An alternate address (if any) |
node.reference | A reference for the party |
node.roles | The roles assigned to the party |
node.selfCertified | Self-certification information |
node.taxReportingType | The type of tax reporting |
node.taxResidencies | Tax residency information |
node.__typename | The type of the node (e.g., “PartyIndividual”) |
Update Individual Party Details
Mutation: EditPartyIndividual
This mutation updates the details of an individual party.
mutation ($editindividual: EditPartyIndividualInput!) {
editPartyIndividual (i: $editindividual) {
commandId
}
}
Variables:
{
"editindividual": {
"id": "UGFydHlJbmRpdmlkdWFsOmJkMWNjZjVmNTYzY2NmNGQwZGQzNmJmYjIzYTJkMjNhMDBiYWEwOTcwNzE2NzdiM2VkOWY5ZTVmNDI3ZGNlNDU=",
"givenName": "Andy",
"familyName": "Tran"
}
}
Input Fields
Field | Description |
---|---|
id | The ID of the party to update |
givenName | The new given name of the individual |
familyName | The new family name of the individual |
This documentation provides a comprehensive overview of the party management operations available in the ACMC API. Each section includes a GraphQL query or mutation, input field tables, and example responses to demonstrate usage.