Update an account
PUThttps://app.shuttleglobal.com/c/api/instances/{instance_key}/accounts/{account_id}
Update an existing account’s details. You can address the account by its ID or crm_key.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The account’s ID (acc_...), or its crm_key. If more than one account has that crm_key, the most recently updated one is used.
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
Address fields. All fields are optional and any values are accepted to prevent interrupting payments due to address validation issues. Field behavior:
- When updating an address, the entire address object is replaced with the new values
- To clear/null out all address fields, set each field to an empty string Client applications can implement their own validation if needed.
object
Country code (any format accepted). Set to empty string to clear.
First line of the address. Set to empty string to clear.
Second line of the address. Set to empty string to clear.
Third line of the address. Set to empty string to clear.
City/Town. Set to empty string to clear.
Postcode/ZIP. Set to empty string to clear.
State/Region. Set to empty string to clear.
Company name
Email address. Invalid addresses are accepted to prevent interrupting payments due to email validation issues. Client applications can implement their own validation if needed.
First name of the account holder
Last name of the account holder
Locale of the user
Custom key-value pairs stored on the account
object
Phone number. Any format is accepted to prevent interrupting payments due to phone validation issues. Client applications can implement their own validation if needed.
CSV of tags/references for searching
Timezone in IANA format
Responses
Section titled “Responses”Updated account
object
A customer account object. Contains all information about a customer including their contact details, status, and metadata.
IMPORTANT: The bolton_values field is managed internally by the system and should not be modified or
referenced directly in tests or integrations. Always use the standard top-level fields (company, email,
phone, etc.) when creating, updating, or querying accounts.
object
Address fields. All fields are optional and any values are accepted to prevent interrupting payments due to address validation issues. Field behavior:
- When updating an address, the entire address object is replaced with the new values
- To clear/null out all address fields, set each field to an empty string Client applications can implement their own validation if needed.
object
Country code (any format accepted). Set to empty string to clear.
First line of the address. Set to empty string to clear.
Second line of the address. Set to empty string to clear.
Third line of the address. Set to empty string to clear.
City/Town. Set to empty string to clear.
Postcode/ZIP. Set to empty string to clear.
State/Region. Set to empty string to clear.
Enterprise Feature: Internal system values. This field is only relevant for enterprise customers and should be ignored by other users.
object
List of channels that have permission to see this account. When an account makes a payment against a channel, they are automatically added to that channel.
Account code
Company name
Account creation timestamp
Session ID when the account was created
/^ses_[0-9]+_[0-9]+$/Enterprise Feature: The CRM system identifier. This field is only relevant for enterprise customers and should be ignored by other users.
Your identifier for the account
Enterprise Feature: Indicates if this account is disconnected from the enterprise CRM system. This field is only relevant for enterprise customers and should be ignored by other users.
List of divisions that have permission to see this account. A division can be added to this list directly via the API, or is automatically added when an account makes a payment against either (1) a channel that belongs to the division or (2) an initiative that belongs to the division.
Email address. Invalid addresses are accepted to prevent interrupting payments due to email validation issues. Client applications can implement their own validation if needed.
First name of the account holder
Formatted full address
Indicates the account is excluded from Gift Aid eligibility (GB donations)
Unique identifier for the account
/^acc_[0-9]+_[0-9]+$/List of initiatives that this account has performed payments against. When an account makes a payment against an initiative, it is automatically added to this list.
Last name of the account holder
Timestamp of last transaction
ID of last transaction
Locale of the user
Custom key-value pairs stored on the account
object
Full name of the account holder
Phone number. Any format is accepted to prevent interrupting payments due to phone validation issues. Client applications can implement their own validation if needed.
Account status
CSV of tags/references
Timezone in IANA format
Last update timestamp
Session ID when the account was last updated
/^ses_[0-9]+_[0-9]+$/Object version for optimistic concurrency control
Bad request
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Invalid credentials (authentication is validated before instance key)
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Example
{ "code": "UNAUTHORIZED", "message": "Unauthorised"}Instance not found (only checked after successful authentication)
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Was this page helpful?
What went wrong?
Thanks for telling us.