List accounts
GEThttps://app.shuttleglobal.com/c/api/instances/{instance_key}/accounts
Search and list account objects with various filtering criteria.
The search criteria syntax supports various operators:
=Exact match (multiple values with;for IN)~=Partial match (contains)!=,>=,>,<,<=Comparisons<>Between (separate with;)!Is null!!Is not null
Multiple criteria can be combined with , (AND).
See project README.md for detailed examples and usage.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Search criteria for filtering accounts. Available fields:
id, first_name, last_name, email, phone, company, crm_key, crm, channel, division, tags, last_transacted, created, updated
Examples:
email=user@example.comstatus=ACTIVE;PENDINGcompany~=Techcreated<>2024-01-01;2024-12-31status=ACTIVE,email~=example.com
Sort order for results. Supports any field that criteria supports.
Defaults to created:desc if not specified. Append :desc for descending order.
Separate multiple order fields with commas.
Examples:
order=updatedorder=last_name:descorder=company,created:desc
Fields to expand into full objects. Separate multiple fields with commas.
Available fields:
- last_transaction (transaction object)
- created_session (session object)
- updated_session (session object)
Example: expand=last_transaction,created_session
Number of records to return: 20 if not set, at most 1000.
Number of records to skip before the first one returned. offset + limit can’t exceed 5000; to read further, page by a field such as created instead. See Paging through results.
Responses
Section titled “Responses”List of accounts
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
object
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.