Update Account Information: /accounts/{account_id}/information
Purpose
This endpoint updates the details of an existing account using its unique ID. The request can include modifications to fields such as name, email, display name, description, and portal access permission. It allows keeping account profiles up-to-date with the latest contact or identity changes.
Use Case
This API is used when there is a need to update information for an existing customer or supplier account. For example, if the account owner updates their name, email, company description, or portal access preferences, this endpoint ensures those changes are reflected in the system. It supports streamlined editing of essential identity and configuration details without recreating the account.
Path Parameters
Parameter | Type | Description |
---|---|---|
account_id | String | Unique identifier of account |
Query Parameters
This endpoint does not have any query parameters.
Request Body
The request body contains the updated information for the target account. It typically includes the full name (used as both name and display_name), the email address to be associated with the account, a textual description, and a flag indicating whether portal access should be enabled.
{
"ACCOUNT": {
"NAME": "CUSTOMER_FULL_NAME", // Combined from custom attributes FIRST_NAME + LAST_NAME
"EMAIL_ADDRESS": "CUSTOMER_EMAIL",
"GRANT_PORTAL_ACCESS": "BOOLEAN_TRUE",
"DISPLAY_NAME": "CUSTOMER_DISPLAY_NAME",
"DESCRIPTION": "ACCOUNT_DESCRIPTION"
}
}
Attribute | Type | Description |
---|---|---|
name | String | Full name of the account (first name + last name). |
email_address | String | New email address to associate with the account. |
grant_portal_access | String | Indicates if portal access is enabled. |
display_name | String | Displayed name of the account. |
description | String | Short description or note about the account. |
Response
The API response returns the full updated account object after applying the changes. It includes the newly updated fields (like name and email), as well as other unchanged account attributes such as status, type, currency, timezone, tax profile, contact preferences, and social media links. It confirms that the account's data has been successfully modified and provides visibility into the latest state of the account.
{
"ACCOUNT": {
"STATUS": "ACCOUNT_STATUS_ACTIVE",
"ID": "ACCOUNT_ID_2YPA6C",
"NAME": "CUSTOMER_FULL_NAME",
"DISPLAY_NAME": "CUSTOMER_DISPLAY_NAME",
"DESCRIPTION": "ACCOUNT_DESCRIPTION",
"INVOICE_PARENT_ACCOUNT": "BOOLEAN_FALSE",
"TYPE": "ACCOUNT_TYPE_CUSTOMER",
"EMAIL_ADDRESS": "CUSTOMER_EMAIL",
"USER_TEAM": {},
"IMAGE_URI": "ACCOUNT_IMAGE_URL",
"CUSTOM_FORMS": {
"UUID": "CUSTOM_FORM_UUID_401EE42B",
"NAME": "DEFAULT_ACCOUNT_FORM"
},
"CURRENCY": {
"UUID": "CURRENCY_UUID_4F444464",
"NAME": "CURRENCY_AUD",
"LINK": "CURRENCY_API_V2_LINK"
},
"TIME_ZONE": {
"UUID": "TIMEZONE_UUID_990E82C3",
"NAME": "TIMEZONE_AUSTRALIA_MELBOURNE",
"LINK": "TIMEZONE_API_V2_LINK"
},
"GRANT_PORTAL_ACCESS": "BOOLEAN_TRUE",
"TAX": {
"UUID": "TAX_UUID_58A36F3D",
"CODE": "TAX_CODE_NO_TAX",
"RATE": "TAX_RATE_ZERO",
"LINK": "TAX_API_V3_LINK"
},
"ACCOUNTING_CODE": {},
"COMMUNICATION_PREFERENCE": [
{
"MEDIA": "COMMUNICATION_MEDIA_EMAIL",
"ISENABLED": "BOOLEAN_TRUE"
}
],
"WEBSITE": "WEBSITE_URL",
"LINKEDIN": "LINKEDIN_PROFILE_URL",
"TWITTER": "TWITTER_PROFILE_URL",
"FACEBOOK": "FACEBOOK_PROFILE_URL",
"KPIS": {},
"CREATED_BY": "CREATED_BY_IMPLEMENTER",
"CREATED_ON": "TIMESTAMP_2025_06_16",
"LAST_UPDATED_BY": "UPDATED_BY_NAME",
"LAST_UPDATED_ON": "TIMESTAMP_2025_06_17",
"UUID": "ACCOUNT_UUID_D5B596AA",
"VERSION": "ACCOUNT_VERSION_8",
"CUSTOM_ATTRIBUTES": [],
"CUSTOM_OBJECTS": []
}
}
Attribute | Type | Description |
---|---|---|
status | String | Current status of the account ( ACTIVE). |
id | String | Unique short ID of the account. |
name | String | Updated name of the account. |
display_name | String | Updated public-facing name. |
description | String | Updated description of the account. |
email_address | String | Updated email address of the account. |
grant_portal_access | String | Indicates if portal access is enabled. |
type | String | Type of the account (CUSTOMER or SUPPLIER). |
currency | Object | Currency configuration of the account. |
time_zone | Object | Timezone configuration. |
tax | Object | Tax profile applied to the account. |
communication_preference | Array | Preferred communication method(s). |
custom_forms | Object | Associated custom form with the account. |
image_uri | String | URI of the account's profile image. |
linkedin | String | LinkedIn profile link. |
twitter | String | Twitter profile link. |
facebook | String | Facebook profile link. |
created_by | String | Who created the account. |
created_on | String | Timestamp of when the account was created. |
last_updated_by | String | Who last updated the account. |
last_updated_on | String | Timestamp of the latest update. |
uuid | String | Unique universal identifier of the account. |
version | String | Current version number of the account. |
Update Partial Contact Fields: /accounts/{id}/contacts/$contact_type$
Purpose
This API updates one or more fields of a specific contact type (e.g., billing or shipping) under a given account without requiring full contact data. Only the provided fields will be modified.
Use Case
Used when only selected details (like email, phone, or address) need to be updated for a contact—commonly triggered by user edits in forms or profile updates.
Path Parameters
Parameter | Type | Description |
---|---|---|
id | String | Unique identifier of the account. |
contact_type | String | Contact type identifier (e.g., CONTACT_1). |
Query Parameters
No query parameters required for this endpoint.
Request Body
{
"account": {
"contact": {
"salutation": "SALUTATION_NAME",
"designation": "DESIGNATION_NAME",
"first_name": "FIRST_NAME",
"middle_name": "MIDDLE_NAME",
"last_name": "LAST_NAME",
"email": {
"address": "EMAIL_ADDRESS",
"do_not_email": "BOOLEAN_STRING"
},
"address_line_1": "ADDRESS_LINE_1",
"address_line_2": "ADDRESS_LINE_2",
// "address_line_3": "",
// "address_line_4": "",
// "address_line_5": "",
"post_code": "POST_CODE",
"city": "CITY",
"state": "STATE",
"country": "COUNTRY",
"phone": {
"country_code": "CC",
"area_code": "AC",
"number": "PHONE_NUMBER",
"do_not_call": "BOOLEAN_STRING"
},
"fax": {
"country_code": "CC",
"area_code": "AC",
"number": "FAX_NUMBER",
"do_not_call": "BOOLEAN_STRING"
},
"mobile": {
"country_code": "CC",
"area_code": "AC",
"number": "MOBILE_NUMBER",
"do_not_call": "BOOLEAN_STRING"
},
"receive_billing_information": "BOOLEAN_STRING"
}
}
}
Field | Type | Description |
---|---|---|
salutation | String | Title prefix (e.g., Mr., Ms.). |
designation | String | Job title or role. |
first_name | String | First name of the contact. |
middle_name | String | Middle name (if any). |
last_name | String | Last name. |
email.address | String | Contact's email address. |
email.do_not_email | String | Flag to prevent email contact. |
address_line_1–5 | String | Mailing address lines (1–5). |
post_code | String | Postal code. |
city, state, country | String | Geographic location details. |
phone, fax, mobile | Object | Numbers with country_code, area_code, and do_not_call. |
receive_billing_information | String | Whether contact receives billing communication. |
Response
Returns the updated contact object with metadata like contact type, versioning, and system timestamps. Fields not updated retain their original values unless specified in the request.
{
"account": {
"contacts": {
"type": "CONTACT_TYPE",
"type_display_name": "TYPE_DISPLAY_NAME",
"billing_contact": "BOOLEAN_STRING",
"shipping_contact": "BOOLEAN_STRING",
"salutation": {
"id": SALUTATION_ID,
"name": "SALUTATION_NAME",
"link": "SALUTATION_LINK"
},
"designation": {
"id": DESIGNATION_ID,
"name": "DESIGNATION_NAME",
"link": "DESIGNATION_LINK"
},
"first_name": "FIRST_NAME",
"middle_name": "MIDDLE_NAME",
"last_name": "LAST_NAME",
"email": {
"address": "EMAIL_ADDRESS",
"do_not_email": "BOOLEAN_STRING"
},
"address_line_1": "ADDRESS_LINE_1",
"address_line_2": "ADDRESS_LINE_2",
"address_line_3": "",
"address_line_4": "",
"address_line_5": "",
"post_code": "POST_CODE",
"city": "CITY",
"state": "STATE",
"country": "COUNTRY",
"phone": {
"country_code": "CC",
"area_code": "AC",
"number": "PHONE_NUMBER",
"full": "FULL_NUMBER",
"do_not_call": "BOOLEAN_STRING"
},
"fax": {
"country_code": "CC",
"area_code": "AC",
"number": "FAX_NUMBER",
"full": "FULL_NUMBER",
"do_not_call": "BOOLEAN_STRING"
},
"mobile": {
"country_code": "CC",
"area_code": "AC",
"number": "MOBILE_NUMBER",
"full": "FULL_NUMBER",
"do_not_call": "BOOLEAN_STRING"
},
"receive_billing_information": "BOOLEAN_STRING",
"created_by": "CREATOR_NAME",
"created_on": "CREATED_TIMESTAMP",
"last_updated_by": "UPDATER_NAME",
"last_updated_on": "UPDATED_TIMESTAMP",
"uuid": "CONTACT_UUID",
"version": "VERSION",
"custom_attributes": []
},
"id": "ACCOUNT_ID"
}
}
Partially Update Address of an Account: /accounts/{id}/addresses/{uuid}
Purpose
This API partially updates a specific address record associated with an account. It allows modifying selected fields (e.g., city, postal code, or default billing/shipping status) without overwriting the entire address.
Use Case
Used when the frontend allows users to modify address details—such as correcting a postal code or toggling default billing—without needing to re-submit all existing address data.
Path Parameters
Parameter | Type | Description |
---|---|---|
id | String | Unique identifier of the account. |
uuid | UUID | Unique identifier of the address to update. |
Query Parameters
No query parameters required for this endpoint.
Request Body
{
"account": {
"address": {
"address_line_5": "ADDRESS_LINE_5",
"address_line_2": "ADDRESS_LINE_2",
// "address_line_3": "",
// "address_line_4": "",
"post_code": "POST_CODE",
"city": "CITY",
"state": "STATE",
"country": "COUNTRY",
"isDefaultBilling": "BOOLEAN_STRING"
// "isDefaultShipping": "BOOLEAN_STRING"
}
}
}
Field | Type | Description |
---|---|---|
address_line_1-5 | String | Optional address lines. Only provided fields will be updated. |
post_code | String | Postal or ZIP code. |
city | String | City name. |
state | String | State or region. |
country | String | Country name. |
isDefaultBilling | String | Whether the address is marked as the default billing address. |
isDefaultShipping | String | Whether the address is marked as the default shipping address. |
Response
Returns the updated address object reflecting all modified fields along with its unique identifier and default flags.
{
"account": {
"id": "ACCOUNT_ID",
"addresses": {
"address_line_1": "ADDRESS_LINE_1",
"address_line_2": "ADDRESS_LINE_2",
"address_line_3": "",
"address_line_4": "",
"address_line_5": "ADDRESS_LINE_5",
"city": "CITY",
"country": "COUNTRY",
"isDefaultBilling": "BOOLEAN_STRING",
"isDefaultShipping": "BOOLEAN_STRING",
"post_code": "POST_CODE",
"state": "STATE",
"uuid": "ADDRESS_UUID"
}
}
}
Field | Type | Description |
---|---|---|
id | String | The account ID to which the address belongs. |
address_line_1-5 | String | Complete address components. |
post_code | String | Postal or ZIP code. |
city | String | City name. |
state | String | State or province. |
country | String | Country name. |
isDefaultBilling | String | Indicates if it's the default billing address. |
isDefaultShipping | String | Indicates if it's the default shipping address. |
uuid | UUID | Unique identifier of the updated address. |
Update Payment Method by Reference: /accounts/{account_id}/payment-methods/$reference$
Purpose
This endpoint updates the details of an existing payment method associated with a specific account using the payment method's unique reference. The update can include setting it as default, linking it to specific orders, updating the status, and modifying other payment attributes.
Use Case
This endpoint is used to modify a stored payment method for an account. For example, if a credit card's default status needs to be changed, or if the card should only be used for certain orders, this endpoint allows those updates. It's particularly helpful for managing multiple payment options under a single account and maintaining accurate billing configurations.
Path Parameters
Parameter | Type | Description |
---|---|---|
id | String | Unique identifier of the account |
reference | String | Unique reference ID of the payment method to be updated |
Query Parameters
This endpoint does not have any query parameters.
Request Body
This endpoint accepts a JSON request body in format. The payment_method object should be provided with fields that need updating. The note is mandatory; attaching files is optional.
{
"account": {
"payment_method": {
"default": "BOOLEAN",
"use_for_specified_orders": "BOOLEAN",
"specified_orders": [
{
"order_id": "ORDER_ID"
}
]
}
}
}
Attribute | Type | Description |
---|---|---|
default | String | Indicates if this is the default payment method |
use_for_specified_orders | String | If true, applies only to listed orders |
specified_orders | String | Comma-separated list of order IDs |
Response
The endpoint successfully response and contains the updated payment method details, including processor information, card details (masked), status, default flag, and order linkage.
Attribute | Type | Description |
---|---|---|
processor_type | String | Type of payment processor used (DIRECT_CREDIT) |
status | String | Current status of the payment method ( ACTIVE) |
default | String | Indicates if this is the default payment method |
processor.uuid | String | UUID of the payment processor |
processor.name | String | Name of the processor |
processor.link | String | API link to processor resource |
card_type | String | Type of the card (VISA) |
card_number | String | Last 4 digits of the card |
expiry_month | String | Card expiration month |
expiry_year | String | Card expiration year |
card_cvv | String | Masked CVV |
reference | String | Unique reference for the payment method |
payment_count | String | Number of times the payment method has been used |
use_for_specified_orders | String | If true, applies only to listed orders |
specified_orders | String | Comma-separated list of order IDs |
created_by | String | Who created the payment method |
last_updated_by | String | Who last updated it |
created_on | String | Creation timestamp |
last_updated_on | String | Last update timestamp |
uuid | String | UUID of the payment method |
version | String | Version number of the payment method |