It takes just a couple of steps to get up and running. If you’re not yet an Upsider the first thing you’ll need to do is sign up here: https://up.com.au/download/. Great! Let’s go to the next step.

Your personal access token is the key to your financial kingdom. Guard it fiercely and never share it online or give it out. If you are worried it may have fallen into the wrong hands it’s easy to generate a new one (and expire the old one) - see below.
1. Open the Up app on your phone, swipe right and select "Data sharing".
2. Tap on ‘Personal Access Token’.
3. Select ‘Generate a token’.
4. Select how long you would like the token to last.
5. Follow the prompts to generate your token
6. Presto! You now have a Personal Access Token. Copy this and store it safely.
Head over to https://api.up.com.au for an alternative way to claim your access token.
1. Open the Up app, swipe right and select "Data sharing".
2. Tap on ‘Personal Access Token’.
3. Tap ‘Generate a token’ and follow the prompts.
1. Open the Up app, swipe right and select "Data sharing"
2. Tap on ‘Personal Access Token’.
3. Tap ‘Revoke existing token’ and select confirm

Ok let's get our hands dirty! The simplest request in the book is to first verify that your token works.
To test your access token, make a request to the  /util/ping  endpoint. You'll need to put your access token in the   Authorization   header like so:
Authorization: Bearer $your_access_token
Replace  $your_access_token  with your personal access token.
You should get a JSON response with a HTTP  200  status.
Sample Request
curl https://api.up.com.au/api/v1/util/ping \-H "Authorization: Bearer $your_access_token"
Sample Response
{"meta": {"id": "3b5d17a4-6778-48dc-ae7d-9f8aace2e2fc","statusEmoji": "⚡️"}}
If the  Authorization  header is missing, is malformed, or contains an invalid access token, an error response will be returned with a HTTP  401  status.
v1  (beta). New endpoints will be added over time and existing endpoints will be extended. Some endpoints or fields within an endpoint may be deprecated, but nothing will be removed within any given version, in order to maintain backwards compatibility with existing clients.The endpoints documented in this reference must all be appended to the base URL before they can be called.
https://api.up.com.au/api/v1
For example, the  GET /accounts  endpoint is callable at
https://api.up.com.au/api/v1/accounts
Authorization header. The bearer scheme is used to construct the  Authorization  header.Sample Header
Authorization: Bearer $your_access_token
Replace  $your_access_token  with your personal access token.
Currently the Up Banking API is only available for use with a personal access token, which can be obtained in-app or by visiting api.up.com.au and following the prompts.
Only one personal access token can be used at a time. You can generate a new personal access token or revoke an existing one by opening the Up app, swiping right and selecting Data Sharing from the list of settings.
links  field at the top-level of the response JSON and its  data field contains an array of resources specific to the endpoint.Sample Response
{"data": [...],"links": {"prev": "https://api.up.com.au/api/v1/accounts?page[before]=x","next": "https://api.up.com.au/api/v1/accounts?page[after]=y"}}
prev  and  next  links to move between pages.On each page of results, the client consumes each of the resources contained in the  data  array. Forwards pagination is achieved by following the  next  link repeatedly until the  next  link is set to  null . When the next  link is  null , there are no more pages available and pagination terminates. Backwards pagination is achieved by following the  prev  link repeatedly until the  prev  link is set to  null . When the  prev  link is null , there are no more pages available and pagination terminates.
Endpoints that support pagination accept a  page[size]  query parameter. This value must be a positive integer and is generally constrained to an upper limit of  100 , however individual endpoints may impose different constraints.
Sample URL
https://api.up.com.au/api/v1/accounts?page[size]=10
When the  page[size]  is specified, no more than  page[size]  resources will be included in the response's data  field. This parameter is set to a sensible default, which varies depending on the endpoint.
2xx  range. Error responses will usually be in the  4xx  range, or more rarely, in the  5xx  range.200 Successful response: Everything worked as intended
201 Successful response: A new resource was created successfully—Typically used with POST requests.
204 Successful response: No content—typically used with DELETE requests.
400 Bad request: Typically a problem with the query string or an encoding error.
401 Not authorized: The request was not authenticated.
404 Not found: Either the endpoint does not exist, or the requested resource does not exist.
422 Invalid request: The request contains invalid data and was not processed.
429 Too many requests: You have been rate limited—try later, ideally with exponential backoff. The X-RateLimit-Remaining response header shows the number remaining.
500 502 503 504 Server-side errors: Try again later.
When a response is received in the  4xx  or  5xx  range, it includes errors that should be referred for more detail.
Generic error response that returns one or more errors.
errorsArray [ErrorObject] The list of errors returned in this response.
statusstring The HTTP status code associated with this error. This can also be obtained from the response headers. The status indicates the broad type of error according to HTTP semantics.
titlestring A short description of this error. This should be stable across multiple occurrences of this type of error and typically expands on the reason for the status code.
detailstring A detailed description of this error. This should be considered unique to individual occurrences of an error and subject to change. It is useful for debugging purposes.
sourceobject If applicable, location in the request that this error relates to. This may be a parameter in the query string, or a an attribute in the request body.
parameterstring If this error relates to a query parameter, the name of the parameter.
pointerstring If this error relates to an attribute in the request body, a rfc-6901 JSON pointer to the attribute.
Sample Response
{"errors": [{"status": "422","title": "Invalid Request Payload","detail": "fixed value \"tags\" required","source": {"pointer": "/data/0/type"}}]}
Clients should typically convert these error responses to exceptions and handle them as necessary.
Accounts represent the underlying store used to track balances
and the transactions that have occurred to modify those balances
over time. Up currently has three types of account: SAVER—used to
earn interest and to hit savings goals, TRANSACTIONAL—used
for everyday spending, and HOME_LOAN-for those with an Up Home loan.
GET /accountsRetrieve a paginated list of all accounts for the currently
authenticated user. The returned list is paginated and can be scrolled
by following the prev and next links where present.
page[size]integer The number of records to return in each page.
?page[size]=30filter[accountType] The type of account for which to return records. This can be used to filter Savers from spending accounts.
?filter[accountType]=SAVERfilter[ownershipType] The account ownership structure for which to return records. This can be used to filter 2Up accounts from Up accounts.
?filter[ownershipType]=INDIVIDUAL"+" must be encoded as "%2B" in order to be received as a plus-sign and not as a space character.dataArray [AccountResource] The list of accounts returned in this response.
typestring The type of this resource: accounts
idstring The unique identifier for this account.
attributesobject displayNamestring The name associated with the account in the Up application.
accountTypeAccountTypeEnum The bank account type of this account.
ownershipTypeOwnershipTypeEnum The ownership structure for this account.
balanceMoneyObject The available balance of the account, taking into account any amounts that are currently on hold.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
createdAtstring (date-time)The date-time at which this account was first opened.
relationshipsobject transactionsobject linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
linksobject prevstring The link to the previous page in the results. If this value is null
there is no previous page.
nextstring The link to the next page in the results. If this value is null
there is no next page.
Sample Request
curl https://api.up.com.au/api/v1/accounts \-G \-H 'Authorization: Bearer up:demo:G9lVzIn0A5msBo3o' \-d 'page[size]=1'
Sample Response
{"data": [{"type": "accounts","id": "61b85dba-c39e-49be-86a5-50671408e39c","attributes": {"displayName": "Spending","accountType": "TRANSACTIONAL","ownershipType": "INDIVIDUAL","balance": {"currencyCode": "AUD","value": "1.00","valueInBaseUnits": 100},"createdAt": "2025-10-24T09:41:32+11:00"},"relationships": {"transactions": {"links": {"related": "https://api.up.com.au/api/v1/accounts/61b85dba-c39e-49be-86a5-50671408e39c/transactions"}}},"links": {"self": "https://api.up.com.au/api/v1/accounts/61b85dba-c39e-49be-86a5-50671408e39c"}}],"links": {"prev": null,"next": "https://api.up.com.au/api/v1/accounts?page%5Bafter%5D=WyIyMDI1LTEwLTIzVDIyOjQxOjMyLjM3MTU1MDAwMFoiLCI2MWI4NWRiYS1jMzllLTQ5YmUtODZhNS01MDY3MTQwOGUzOWMiXQ%3D%3D&page%5Bsize%5D=1"}}
GET /accounts/{id}Retrieve a specific account by providing its unique identifier.
idstring The unique identifier for the account.
6f1e24ab-8e70-436c-a1f8-5331444c6024dataAccountResource The account returned in this response.
typestring The type of this resource: accounts
idstring The unique identifier for this account.
attributesobject displayNamestring The name associated with the account in the Up application.
accountTypeAccountTypeEnum The bank account type of this account.
ownershipTypeOwnershipTypeEnum The ownership structure for this account.
balanceMoneyObject The available balance of the account, taking into account any amounts that are currently on hold.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
createdAtstring (date-time)The date-time at which this account was first opened.
relationshipsobject transactionsobject linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
Sample Request
curl https://api.up.com.au/api/v1/accounts/18f09274-1e6f-42be-936d-81c5c7a793ef \-H 'Authorization: Bearer up:demo:IFu5bC439qQ5gkpi'
Sample Response
{"data": {"type": "accounts","id": "18f09274-1e6f-42be-936d-81c5c7a793ef","attributes": {"displayName": "🐷 Savings","accountType": "SAVER","ownershipType": "INDIVIDUAL","balance": {"currencyCode": "AUD","value": "125.36","valueInBaseUnits": 12536},"createdAt": "2025-10-24T09:41:32+11:00"},"relationships": {"transactions": {"links": {"related": "https://api.up.com.au/api/v1/accounts/18f09274-1e6f-42be-936d-81c5c7a793ef/transactions"}}},"links": {"self": "https://api.up.com.au/api/v1/accounts/18f09274-1e6f-42be-936d-81c5c7a793ef"}}}
Attachments represent uploaded files that are attached to transactions, these are commonly receipts.
GET /attachmentsRetrieve a list of all attachments. The returned list is paginated and can
be scrolled by following the next and prev links where present.
dataArray [AttachmentResource] The list of attachments returned in this response.
typestring The type of this resource: attachments
idstring The unique identifier for this attachment.
attributesobject createdAtstring (date-time)The date-time when the file was created.
fileURLstring A temporary link to download the file.
fileURLExpiresAtstring (date-time)The date-time at which the fileURL link expires.
fileExtensionstring File extension for the uploaded attachment.
fileContentTypestring Content type for the uploaded attachment.
relationshipsobject transactionobject dataobject typestring The type of this resource: transactions
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
linksobject prevstring The link to the previous page in the results. If this value is null
there is no previous page.
nextstring The link to the next page in the results. If this value is null
there is no next page.
Sample Request
curl https://api.up.com.au/api/v1/attachments \-H 'Authorization: Bearer up:demo:KkjRNy7YdcMEq4V5'
Sample Response
{"data": [{"type": "attachments","id": "cb5444b7-ea03-4097-a236-0d1abab3ea6a","attributes": {"createdAt": "2025-10-24T09:41:33+11:00","fileURL": "http://localhost:8080/asset/customer_transaction_attachment.jpg?filename=uploads%2Fcustomer_transaction_attachments%2Fmodels%2Fattachment%2Ffile%2F1%2Fattachment.jpg×tamp=1761259293&token=d5f5e5ed08cd6de91c9d3055d890f05cd9d3259a2b26e1fdbd29a04e4bfd8548","fileURLExpiresAt": "2025-10-24T09:56:33+11:00","fileExtension": "jpg","fileContentType": "image/jpeg"},"relationships": {"transaction": {"data": {"type": "transactions","id": "e5a06ce7-cfc8-4ce9-8411-679f85efbb0f"},"links": {"related": "https://api.up.com.au/api/v1/transactions/e5a06ce7-cfc8-4ce9-8411-679f85efbb0f"}}},"links": {"self": "https://api.up.com.au/api/v1/attachments/cb5444b7-ea03-4097-a236-0d1abab3ea6a"}},{"type": "attachments","id": "2c0af12c-58bd-4eee-8819-a82ac20ab528","attributes": {"createdAt": "2025-10-24T09:41:33+11:00","fileURL": "http://localhost:8080/asset/customer_transaction_attachment.jpg?filename=uploads%2Fcustomer_transaction_attachments%2Fmodels%2Fattachment%2Ffile%2F2%2Fattachment.jpg×tamp=1761259293&token=90b5984dec2d3018a7f521d1141debfce29ad3081393fee41881169ccbdc9420","fileURLExpiresAt": "2025-10-24T09:56:33+11:00","fileExtension": "jpg","fileContentType": "image/jpeg"},"relationships": {"transaction": {"data": {"type": "transactions","id": "0e6834cd-7d07-4a25-a2cf-0b5f83c0c14f"},"links": {"related": "https://api.up.com.au/api/v1/transactions/0e6834cd-7d07-4a25-a2cf-0b5f83c0c14f"}}},"links": {"self": "https://api.up.com.au/api/v1/attachments/2c0af12c-58bd-4eee-8819-a82ac20ab528"}}],"links": {"prev": null,"next": null}}
GET /attachments/{id}Retrieve a specific attachment by providing its unique identifier.
idstring The unique identifier for the attachment.
cd99563b-c748-4313-8d43-e58616e04e04dataAttachmentResource The attachment returned in this response.
typestring The type of this resource: attachments
idstring The unique identifier for this attachment.
attributesobject createdAtstring (date-time)The date-time when the file was created.
fileURLstring A temporary link to download the file.
fileURLExpiresAtstring (date-time)The date-time at which the fileURL link expires.
fileExtensionstring File extension for the uploaded attachment.
fileContentTypestring Content type for the uploaded attachment.
relationshipsobject transactionobject dataobject typestring The type of this resource: transactions
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
Sample Request
curl https://api.up.com.au/api/v1/attachments/40259a41-abfd-4ff2-a8cd-5fe0125029d4 \-H 'Authorization: Bearer up:demo:Fd6FDZgOihcpNN2i'
Sample Response
{"data": {"type": "attachments","id": "40259a41-abfd-4ff2-a8cd-5fe0125029d4","attributes": {"createdAt": "2025-10-24T09:41:34+11:00","fileURL": "http://localhost:8080/asset/customer_transaction_attachment.jpg?filename=uploads%2Fcustomer_transaction_attachments%2Fmodels%2Fattachment%2Ffile%2F5%2Fattachment.jpg×tamp=1761259294&token=6b041b3c26d315e8c678617afc68614e6d923b846e8a7d1ebb3e76d60a23667b","fileURLExpiresAt": "2025-10-24T09:56:34+11:00","fileExtension": "jpg","fileContentType": "image/jpeg"},"relationships": {"transaction": {"data": {"type": "transactions","id": "2d3745d0-f4a5-40e0-8f61-6890a09c086d"},"links": {"related": "https://api.up.com.au/api/v1/transactions/2d3745d0-f4a5-40e0-8f61-6890a09c086d"}}},"links": {"self": "https://api.up.com.au/api/v1/attachments/40259a41-abfd-4ff2-a8cd-5fe0125029d4"}}}
Categories enable understanding where your money goes by driving powerful insights in Up. All categories in Up are pre-defined and are automatically assigned to new purchases in most cases. A parent-child relationship is used to represent categories, however parent categories cannot be directly assigned to transactions.
GET /categoriesRetrieve a list of all categories and their ancestry. The returned list is not paginated.
filter[parent]string The unique identifier of a parent category for which to
return only its children. Providing an invalid category
identifier results in a 404 response.
?filter[parent]=good-life"+" must be encoded as "%2B" in order to be received as a plus-sign and not as a space character.dataArray [CategoryResource] The list of categories returned in this response.
typestring The type of this resource: categories
idstring The unique identifier for this category. This is a human-readable but URL-safe value.
attributesobject namestring The name of this category as seen in the Up application.
relationshipsobject parentobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
childrenobject dataArray [object] typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
Sample Request
curl https://api.up.com.au/api/v1/categories \-G \-H 'Authorization: Bearer up:demo:AzSodMphq0J9eL1T' \-d 'filter[parent]=good-life'
Sample Response
{"data": [{"type": "categories","id": "hobbies","attributes": {"name": "Hobbies"},"relationships": {"parent": {"data": {"type": "categories","id": "good-life"},"links": {"related": "https://api.up.com.au/api/v1/categories/good-life"}},"children": {"data": [],"links": {"related": "https://api.up.com.au/api/v1/categories?filter%5Bparent%5D=hobbies"}}},"links": {"self": "https://api.up.com.au/api/v1/categories/hobbies"}},{"type": "categories","id": "restaurants-and-cafes","attributes": {"name": "Restaurants & Cafes"},"relationships": {"parent": {"data": {"type": "categories","id": "good-life"},"links": {"related": "https://api.up.com.au/api/v1/categories/good-life"}},"children": {"data": [],"links": {"related": "https://api.up.com.au/api/v1/categories?filter%5Bparent%5D=restaurants-and-cafes"}}},"links": {"self": "https://api.up.com.au/api/v1/categories/restaurants-and-cafes"}}]}
GET /categories/{id}Retrieve a specific category by providing its unique identifier.
idstring The unique identifier for the category.
restaurants-and-cafesdataCategoryResource The category returned in this response.
typestring The type of this resource: categories
idstring The unique identifier for this category. This is a human-readable but URL-safe value.
attributesobject namestring The name of this category as seen in the Up application.
relationshipsobject parentobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
childrenobject dataArray [object] typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
Sample Request
curl https://api.up.com.au/api/v1/categories/home \-H 'Authorization: Bearer up:demo:JIByqHVdDk0AgacH'
Sample Response
{"data": {"type": "categories","id": "home","attributes": {"name": "Home"},"relationships": {"parent": {"data": null},"children": {"data": [{"type": "categories","id": "groceries"}],"links": {"related": "https://api.up.com.au/api/v1/categories?filter%5Bparent%5D=home"}}},"links": {"self": "https://api.up.com.au/api/v1/categories/home"}}}
PATCH /transactions/{transactionId}/relationships/categoryUpdates the category associated with a transaction. Only transactions
for which isCategorizable is set to true support this operation. The
id is taken from the list exposed on /categories and cannot be one of
the top-level (parent) categories. To de-categorize a transaction, set
the entire data key to null. An HTTP 204 is returned on success.
The associated category, along with its request URL is also exposed via
the category relationship on the transaction resource returned from
/transactions/{id}.
transactionIdstring The unique identifier for the transaction.
8264d64e-b1ad-41de-9585-bd88152e49d5dataCategoryInputResourceIdentifier The category to set on the transaction. Set this entire key to null
de-categorize a transaction.
typestring The type of this resource: categories
idstring The unique identifier of the category, as returned by the /categories
endpoint.
Sample Request
curl https://api.up.com.au/api/v1/transactions/1e713d90-7157-4583-bbed-9a04056d1fe3/relationships/category \-XPATCH \-H 'Authorization: Bearer up:demo:7EJM0QOQlpeqXxiE' \-H 'Content-Type: application/json' \--data-binary '{"data": {"type": "categories","id": "restaurants-and-cafes"}}'
Transactions represent the movement of money into and out of an
account. They have many characteristics that vary depending on
the kind of transaction. Transactions may be temporarily HELD
(pending) or SETTLED, typically depending on which payment
method was used at the point of sale.
GET /transactionsRetrieve a list of all transactions across all accounts for the currently
authenticated user. The returned list is paginated and can
be scrolled by following the next and prev links where present. To
narrow the results to a specific date range pass one or both of
filter[since] and filter[until] in the query string. These filter
parameters should not be used for pagination. Results are ordered
newest first to oldest last.
page[size]integer The number of records to return in each page.
?page[size]=30filter[status] The transaction status for which to return records. This
can be used to filter HELD transactions from those
that are SETTLED.
?filter[status]=HELDfilter[since]string The start date-time from which to return records, formatted according to rfc-3339. Not to be used for pagination purposes.
?filter[since]=2020-01-01T01:02:03+10:00filter[until]string The end date-time up to which to return records, formatted according to rfc-3339. Not to be used for pagination purposes.
?filter[until]=2020-02-01T01:02:03+10:00filter[category]string The category identifier for which to filter transactions.
Both parent and child categories can be filtered through
this parameter. Providing an invalid category identifier
results in a 404 response.
?filter[category]=good-lifefilter[tag]string A transaction tag to filter for which to return records. If the tag does not exist, zero records are returned and a success response is given.
?filter[tag]=Holiday"+" must be encoded as "%2B" in order to be received as a plus-sign and not as a space character.dataArray [TransactionResource] The list of transactions returned in this response.
typestring The type of this resource: transactions
idstring The unique identifier for this transaction.
attributesobject statusTransactionStatusEnum The current processing status of this transaction, according to whether or not this transaction has settled or is still held.
rawTextstring The original, unprocessed text of the transaction. This is often not a perfect indicator of the actual merchant, but it is useful for reconciliation purposes in some cases.
descriptionstring A short description for this transaction. Usually the merchant name for purchases.
messagestring Attached message for this transaction, such as a payment message, or a transfer note.
isCategorizableboolean Boolean flag set to true on transactions that support the use of categories.
holdInfoHoldInfoObject If this transaction is currently in the HELD status, or was ever in
the HELD status, the amount and foreignAmount of the
transaction while HELD.
amountMoneyObject The amount of this transaction while in the HELD status, in
Australian dollars.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
foreignAmountMoneyObject The foreign currency amount of this transaction while in the HELD
status. This field will be null for domestic transactions. The amount
was converted to the AUD amount reflected in the amount field.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
roundUpRoundUpObject Details of how this transaction was rounded-up. If no Round Up was
applied this field will be null.
amountMoneyObject The total amount of this Round Up, including any boosts, represented as a negative value.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
boostPortionMoneyObject The portion of the Round Up amount owing to boosted Round Ups,
represented as a negative value. If no boost was added to the Round Up
this field will be null.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
cashbackCashbackObject If all or part of this transaction was instantly reimbursed in the form of cashback, details of the reimbursement.
descriptionstring A brief description of why this cashback was paid.
amountMoneyObject The total amount of cashback paid, represented as a positive value.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
amountMoneyObject The amount of this transaction in Australian dollars. For
transactions that were once HELD but are now SETTLED, refer to
the holdInfo field for the original amount the transaction was
HELD at.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
foreignAmountMoneyObject The foreign currency amount of this transaction. This field will be
null for domestic transactions. The amount was converted to the AUD
amount reflected in the amount of this transaction. Refer to the
holdInfo field for the original foreignAmount the transaction was
HELD at.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
cardPurchaseMethodCardPurchaseMethodObject Information about the card used for this transaction, if applicable.
methodCardPurchaseMethodEnum The type of card purchase.
cardNumberSuffixstring The last four digits of the card used for the purchase, if applicable.
settledAtstring (date-time)The date-time at which this transaction settled. This field will be
null for transactions that are currently in the HELD status.
createdAtstring (date-time)The date-time at which this transaction was first encountered.
transactionTypestring A description of the transaction method used e.g. Purchase, BPAY Payment.
noteNoteObject A customer provided note about the transaction. Can only be provided by Up High subscribers.
textstring A text note about the transaction.
performingCustomerCustomerObject The customer who initated the transaction. For 2Up accounts this could be the customer who's card was used.
displayNamestring The Upname or preferred name of the customer
deepLinkURLstring A deep link to the transaction receipt screen in-app.
relationshipsobject accountobject dataobject typestring The type of this resource: accounts
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
transferAccountobject If this transaction is a transfer between accounts, this relationship
will contain the account the transaction went to/came from. The
amount field can be used to determine the direction of the transfer.
dataobject typestring The type of this resource: accounts
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
categoryobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject selfstring The link to retrieve or modify linkage between this resources and the related resource(s) in this relationship.
relatedstring The link to retrieve the related resource(s) in this relationship.
parentCategoryobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
tagsobject dataArray [object] typestring The type of this resource: tags
idstring The label of the tag, which also acts as the tag’s unique identifier.
linksobject selfstring The link to retrieve or modify linkage between this resources and the related resource(s) in this relationship.
attachmentobject dataobject typestring The type of this resource: attachments
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
linksobject prevstring The link to the previous page in the results. If this value is null
there is no previous page.
nextstring The link to the next page in the results. If this value is null
there is no next page.
Sample Request
curl https://api.up.com.au/api/v1/transactions \-G \-H 'Authorization: Bearer up:demo:B9ubZh5zB3GJz9nB' \-d 'page[size]=1' \-d 'filter[tag]=Pizza Night' \-d 'filter[status]=SETTLED'
Sample Response
{"data": [{"type": "transactions","id": "ccf70da9-f874-4b98-83a9-f5a23adc5f04","attributes": {"status": "SETTLED","rawText": null,"description": "David Taylor","message": "Money for the pizzas last night.","isCategorizable": true,"holdInfo": null,"roundUp": null,"cashback": null,"amount": {"currencyCode": "AUD","value": "-59.98","valueInBaseUnits": -5998},"foreignAmount": null,"cardPurchaseMethod": null,"settledAt": "2025-10-23T02:39:40+11:00","createdAt": "2025-10-23T02:39:40+11:00","transactionType": null,"note": null,"performingCustomer": {"displayName": "Bobby"},"deepLinkURL": "up://transaction/VHJhbnNhY3Rpb24tMzg="},"relationships": {"account": {"data": {"type": "accounts","id": "d364111f-627b-4272-8c62-2b0c011dc1d0"},"links": {"related": "https://api.up.com.au/api/v1/accounts/d364111f-627b-4272-8c62-2b0c011dc1d0"}},"transferAccount": {"data": null},"category": {"data": null,"links": {"self": "https://api.up.com.au/api/v1/transactions/ccf70da9-f874-4b98-83a9-f5a23adc5f04/relationships/category"}},"parentCategory": {"data": null},"tags": {"data": [{"type": "tags","id": "Pizza Night"}],"links": {"self": "https://api.up.com.au/api/v1/transactions/ccf70da9-f874-4b98-83a9-f5a23adc5f04/relationships/tags"}},"attachment": {"data": null}},"links": {"self": "https://api.up.com.au/api/v1/transactions/ccf70da9-f874-4b98-83a9-f5a23adc5f04"}}],"links": {"prev": null,"next": null}}
GET /transactions/{id}Retrieve a specific transaction by providing its unique identifier.
idstring The unique identifier for the transaction.
ec8278e2-ac8c-431a-8f5d-fefe86e70000dataTransactionResource The transaction returned in this response.
typestring The type of this resource: transactions
idstring The unique identifier for this transaction.
attributesobject statusTransactionStatusEnum The current processing status of this transaction, according to whether or not this transaction has settled or is still held.
rawTextstring The original, unprocessed text of the transaction. This is often not a perfect indicator of the actual merchant, but it is useful for reconciliation purposes in some cases.
descriptionstring A short description for this transaction. Usually the merchant name for purchases.
messagestring Attached message for this transaction, such as a payment message, or a transfer note.
isCategorizableboolean Boolean flag set to true on transactions that support the use of categories.
holdInfoHoldInfoObject If this transaction is currently in the HELD status, or was ever in
the HELD status, the amount and foreignAmount of the
transaction while HELD.
amountMoneyObject The amount of this transaction while in the HELD status, in
Australian dollars.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
foreignAmountMoneyObject The foreign currency amount of this transaction while in the HELD
status. This field will be null for domestic transactions. The amount
was converted to the AUD amount reflected in the amount field.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
roundUpRoundUpObject Details of how this transaction was rounded-up. If no Round Up was
applied this field will be null.
amountMoneyObject The total amount of this Round Up, including any boosts, represented as a negative value.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
boostPortionMoneyObject The portion of the Round Up amount owing to boosted Round Ups,
represented as a negative value. If no boost was added to the Round Up
this field will be null.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
cashbackCashbackObject If all or part of this transaction was instantly reimbursed in the form of cashback, details of the reimbursement.
descriptionstring A brief description of why this cashback was paid.
amountMoneyObject The total amount of cashback paid, represented as a positive value.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
amountMoneyObject The amount of this transaction in Australian dollars. For
transactions that were once HELD but are now SETTLED, refer to
the holdInfo field for the original amount the transaction was
HELD at.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
foreignAmountMoneyObject The foreign currency amount of this transaction. This field will be
null for domestic transactions. The amount was converted to the AUD
amount reflected in the amount of this transaction. Refer to the
holdInfo field for the original foreignAmount the transaction was
HELD at.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
cardPurchaseMethodCardPurchaseMethodObject Information about the card used for this transaction, if applicable.
methodCardPurchaseMethodEnum The type of card purchase.
cardNumberSuffixstring The last four digits of the card used for the purchase, if applicable.
settledAtstring (date-time)The date-time at which this transaction settled. This field will be
null for transactions that are currently in the HELD status.
createdAtstring (date-time)The date-time at which this transaction was first encountered.
transactionTypestring A description of the transaction method used e.g. Purchase, BPAY Payment.
noteNoteObject A customer provided note about the transaction. Can only be provided by Up High subscribers.
textstring A text note about the transaction.
performingCustomerCustomerObject The customer who initated the transaction. For 2Up accounts this could be the customer who's card was used.
displayNamestring The Upname or preferred name of the customer
deepLinkURLstring A deep link to the transaction receipt screen in-app.
relationshipsobject accountobject dataobject typestring The type of this resource: accounts
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
transferAccountobject If this transaction is a transfer between accounts, this relationship
will contain the account the transaction went to/came from. The
amount field can be used to determine the direction of the transfer.
dataobject typestring The type of this resource: accounts
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
categoryobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject selfstring The link to retrieve or modify linkage between this resources and the related resource(s) in this relationship.
relatedstring The link to retrieve the related resource(s) in this relationship.
parentCategoryobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
tagsobject dataArray [object] typestring The type of this resource: tags
idstring The label of the tag, which also acts as the tag’s unique identifier.
linksobject selfstring The link to retrieve or modify linkage between this resources and the related resource(s) in this relationship.
attachmentobject dataobject typestring The type of this resource: attachments
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
Sample Request
curl https://api.up.com.au/api/v1/transactions/8ba30f5d-6ea0-408e-a3e5-fcd7186090b0 \-H 'Authorization: Bearer up:demo:kJx3DfY0URXUWWXx'
Sample Response
{"data": {"type": "transactions","id": "8ba30f5d-6ea0-408e-a3e5-fcd7186090b0","attributes": {"status": "SETTLED","rawText": "WARUNG BEBEK, UBUD INDONES","description": "Warung Bebek Bengil","message": null,"isCategorizable": true,"holdInfo": {"amount": {"currencyCode": "AUD","value": "-107.92","valueInBaseUnits": -10792},"foreignAmount": null},"roundUp": {"amount": {"currencyCode": "AUD","value": "-0.08","valueInBaseUnits": -8},"boostPortion": null},"cashback": null,"amount": {"currencyCode": "AUD","value": "-107.92","valueInBaseUnits": -10792},"foreignAmount": {"currencyCode": "IDR","value": "-1053698.77","valueInBaseUnits": -105369877},"cardPurchaseMethod": {"method": "CARD_ON_FILE","cardNumberSuffix": "0001"},"settledAt": "2025-10-21T04:00:00+11:00","createdAt": "2025-10-21T04:00:00+11:00","transactionType": null,"note": null,"performingCustomer": {"displayName": "Bobby"},"deepLinkURL": "up://transaction/VHJhbnNhY3Rpb24tNDY="},"relationships": {"account": {"data": {"type": "accounts","id": "2ebbf0a7-ab4b-429d-94ce-02d412558f25"},"links": {"related": "https://api.up.com.au/api/v1/accounts/2ebbf0a7-ab4b-429d-94ce-02d412558f25"}},"transferAccount": {"data": null},"category": {"data": null,"links": {"self": "https://api.up.com.au/api/v1/transactions/8ba30f5d-6ea0-408e-a3e5-fcd7186090b0/relationships/category"}},"parentCategory": {"data": null},"tags": {"data": [],"links": {"self": "https://api.up.com.au/api/v1/transactions/8ba30f5d-6ea0-408e-a3e5-fcd7186090b0/relationships/tags"}},"attachment": {"data": null}},"links": {"self": "https://api.up.com.au/api/v1/transactions/8ba30f5d-6ea0-408e-a3e5-fcd7186090b0"}}}
GET /accounts/{accountId}/transactionsRetrieve a list of all transactions for a specific account. The returned
list is paginated and can be scrolled by following the
next and prev links where present. To narrow the results to a
specific date range pass one or both of filter[since] and
filter[until] in the query string. These filter parameters
should not be used for pagination. Results are ordered newest first
to oldest last.
accountIdstring The unique identifier for the account.
0f48db23-529f-4e76-8290-7ccee642c83dpage[size]integer The number of records to return in each page.
?page[size]=30filter[status] The transaction status for which to return records. This
can be used to filter HELD transactions from those
that are SETTLED.
?filter[status]=HELDfilter[since]string The start date-time from which to return records, formatted according to rfc-3339. Not to be used for pagination purposes.
?filter[since]=2020-01-01T01:02:03+10:00filter[until]string The end date-time up to which to return records, formatted according to rfc-3339. Not to be used for pagination purposes.
?filter[until]=2020-02-01T01:02:03+10:00filter[category]string The category identifier for which to filter transactions.
Both parent and child categories can be filtered through
this parameter. Providing an invalid category identifier
results in a 404 response.
?filter[category]=good-lifefilter[tag]string A transaction tag to filter for which to return records. If the tag does not exist, zero records are returned and a success response is given.
?filter[tag]=Holiday"+" must be encoded as "%2B" in order to be received as a plus-sign and not as a space character.dataArray [TransactionResource] The list of transactions returned in this response.
typestring The type of this resource: transactions
idstring The unique identifier for this transaction.
attributesobject statusTransactionStatusEnum The current processing status of this transaction, according to whether or not this transaction has settled or is still held.
rawTextstring The original, unprocessed text of the transaction. This is often not a perfect indicator of the actual merchant, but it is useful for reconciliation purposes in some cases.
descriptionstring A short description for this transaction. Usually the merchant name for purchases.
messagestring Attached message for this transaction, such as a payment message, or a transfer note.
isCategorizableboolean Boolean flag set to true on transactions that support the use of categories.
holdInfoHoldInfoObject If this transaction is currently in the HELD status, or was ever in
the HELD status, the amount and foreignAmount of the
transaction while HELD.
amountMoneyObject The amount of this transaction while in the HELD status, in
Australian dollars.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
foreignAmountMoneyObject The foreign currency amount of this transaction while in the HELD
status. This field will be null for domestic transactions. The amount
was converted to the AUD amount reflected in the amount field.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
roundUpRoundUpObject Details of how this transaction was rounded-up. If no Round Up was
applied this field will be null.
amountMoneyObject The total amount of this Round Up, including any boosts, represented as a negative value.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
boostPortionMoneyObject The portion of the Round Up amount owing to boosted Round Ups,
represented as a negative value. If no boost was added to the Round Up
this field will be null.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
cashbackCashbackObject If all or part of this transaction was instantly reimbursed in the form of cashback, details of the reimbursement.
descriptionstring A brief description of why this cashback was paid.
amountMoneyObject The total amount of cashback paid, represented as a positive value.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
amountMoneyObject The amount of this transaction in Australian dollars. For
transactions that were once HELD but are now SETTLED, refer to
the holdInfo field for the original amount the transaction was
HELD at.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
foreignAmountMoneyObject The foreign currency amount of this transaction. This field will be
null for domestic transactions. The amount was converted to the AUD
amount reflected in the amount of this transaction. Refer to the
holdInfo field for the original foreignAmount the transaction was
HELD at.
currencyCodestring The ISO 4217 currency code.
valuestring The amount of money, formatted as a string in the relevant currency.
For example, for an Australian dollar value of $10.56, this field will
be "10.56". The currency symbol is not included in the string.
valueInBaseUnitsinteger The amount of money in the smallest denomination for the currency, as a
64-bit integer.  For example, for an Australian dollar value of $10.56,
this field will be 1056.
cardPurchaseMethodCardPurchaseMethodObject Information about the card used for this transaction, if applicable.
methodCardPurchaseMethodEnum The type of card purchase.
cardNumberSuffixstring The last four digits of the card used for the purchase, if applicable.
settledAtstring (date-time)The date-time at which this transaction settled. This field will be
null for transactions that are currently in the HELD status.
createdAtstring (date-time)The date-time at which this transaction was first encountered.
transactionTypestring A description of the transaction method used e.g. Purchase, BPAY Payment.
noteNoteObject A customer provided note about the transaction. Can only be provided by Up High subscribers.
textstring A text note about the transaction.
performingCustomerCustomerObject The customer who initated the transaction. For 2Up accounts this could be the customer who's card was used.
displayNamestring The Upname or preferred name of the customer
deepLinkURLstring A deep link to the transaction receipt screen in-app.
relationshipsobject accountobject dataobject typestring The type of this resource: accounts
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
transferAccountobject If this transaction is a transfer between accounts, this relationship
will contain the account the transaction went to/came from. The
amount field can be used to determine the direction of the transfer.
dataobject typestring The type of this resource: accounts
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
categoryobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject selfstring The link to retrieve or modify linkage between this resources and the related resource(s) in this relationship.
relatedstring The link to retrieve the related resource(s) in this relationship.
parentCategoryobject dataobject typestring The type of this resource: categories
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
tagsobject dataArray [object] typestring The type of this resource: tags
idstring The label of the tag, which also acts as the tag’s unique identifier.
linksobject selfstring The link to retrieve or modify linkage between this resources and the related resource(s) in this relationship.
attachmentobject dataobject typestring The type of this resource: attachments
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
linksobject prevstring The link to the previous page in the results. If this value is null
there is no previous page.
nextstring The link to the next page in the results. If this value is null
there is no next page.
Sample Request
curl https://api.up.com.au/api/v1/accounts/04dd6a13-8a67-4409-a036-a56652f0096b/transactions \-G \-H 'Authorization: Bearer up:demo:ONw2AaU4fqSAZBnN' \-d 'page[size]=1' \-d 'filter[status]=HELD' \-d 'filter[category]=good-life'
Sample Response
{"data": [{"type": "transactions","id": "b7648292-09e9-450b-b431-0009f80a6f2d","attributes": {"status": "HELD","rawText": "Spotify 0123456789","description": "Spotify","message": null,"isCategorizable": true,"holdInfo": {"amount": {"currencyCode": "AUD","value": "-11.95","valueInBaseUnits": -1195},"foreignAmount": null},"roundUp": null,"cashback": null,"amount": {"currencyCode": "AUD","value": "-11.95","valueInBaseUnits": -1195},"foreignAmount": null,"cardPurchaseMethod": null,"settledAt": null,"createdAt": "2025-10-21T05:32:44+11:00","transactionType": null,"note": null,"performingCustomer": {"displayName": "Bobby"},"deepLinkURL": "up://transaction/VHJhbnNhY3Rpb24tNjk="},"relationships": {"account": {"data": {"type": "accounts","id": "04dd6a13-8a67-4409-a036-a56652f0096b"},"links": {"related": "https://api.up.com.au/api/v1/accounts/04dd6a13-8a67-4409-a036-a56652f0096b"}},"transferAccount": {"data": null},"category": {"data": {"type": "categories","id": "tv-and-music"},"links": {"self": "https://api.up.com.au/api/v1/transactions/b7648292-09e9-450b-b431-0009f80a6f2d/relationships/category","related": "https://api.up.com.au/api/v1/categories/tv-and-music"}},"parentCategory": {"data": {"type": "categories","id": "good-life"},"links": {"related": "https://api.up.com.au/api/v1/categories/good-life"}},"tags": {"data": [],"links": {"self": "https://api.up.com.au/api/v1/transactions/b7648292-09e9-450b-b431-0009f80a6f2d/relationships/tags"}},"attachment": {"data": null}},"links": {"self": "https://api.up.com.au/api/v1/transactions/b7648292-09e9-450b-b431-0009f80a6f2d"}}],"links": {"prev": null,"next": null}}
Some endpoints exist not to expose data, but to test the API itself. Currently there is only one endpoint in this group: ping!
GET /util/pingMake a basic ping request to the API. This is useful to verify that
authentication is functioning correctly. On authentication success an
HTTP 200 status is returned. On failure an HTTP 401 error response
is returned.
metaobject idstring The unique identifier of the authenticated customer.
statusEmojistring A cute emoji that represents the response status.
errorsArray [ErrorObject] The list of errors returned in this response.
statusstring The HTTP status code associated with this error. This can also be obtained from the response headers. The status indicates the broad type of error according to HTTP semantics.
titlestring A short description of this error. This should be stable across multiple occurrences of this type of error and typically expands on the reason for the status code.
detailstring A detailed description of this error. This should be considered unique to individual occurrences of an error and subject to change. It is useful for debugging purposes.
sourceobject If applicable, location in the request that this error relates to. This may be a parameter in the query string, or a an attribute in the request body.
parameterstring If this error relates to a query parameter, the name of the parameter.
pointerstring If this error relates to an attribute in the request body, a rfc-6901 JSON pointer to the attribute.
Sample Request
curl https://api.up.com.au/api/v1/util/ping \-H 'Authorization: Bearer up:demo:ds2iMtguaZmDqSQU'
Sample Response
{"meta": {"id": "489c5c5b-765a-474c-b67a-bbc48c013609","statusEmoji": "⚡️"}}
Sample Request
curl https://api.up.com.au/api/v1/util/ping
Sample Response
{"errors": [{"status": "401","title": "Not Authorized","detail": "The request was not authenticated because no valid credential was found in the Authorization header, or the Authorization header was not present."}]}
Webhooks provide a mechanism for a configured URL to receive events when transaction activity occurs on Up. You can think of webhooks as being like push notifications for your server-side application.
GET /webhooksRetrieve a list of configured webhooks. The returned list is
paginated and can be scrolled by following the next
and prev links where present. Results are ordered oldest first to
newest last.
page[size]integer The number of records to return in each page.
?page[size]=30"+" must be encoded as "%2B" in order to be received as a plus-sign and not as a space character.dataArray [WebhookResource] The list of webhooks returned in this response.
typestring The type of this resource: webhooks
idstring The unique identifier for this webhook.
attributesobject urlstring The URL that this webhook is configured to POST events to.
descriptionstring An optional description that was provided at the time the webhook was created.
secretKeystring A shared secret key used to sign all webhook events sent to the configured webhook URL. This field is returned only once, upon the initial creation of the webhook. If lost, create a new webhook and delete this webhook.
The webhook URL receives a request with a
X-Up-Authenticity-Signature header, which is the SHA-256 HMAC of
the entire raw request body signed using this secretKey. It is
advised to compute and check this signature to verify the
authenticity of requests sent to the webhook URL. See
Handling webhook events for full
details.
createdAtstring (date-time)The date-time at which this webhook was created.
relationshipsobject logsobject linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
linksobject prevstring The link to the previous page in the results. If this value is null
there is no previous page.
nextstring The link to the next page in the results. If this value is null
there is no next page.
Sample Request
curl https://api.up.com.au/api/v1/webhooks \-G \-H 'Authorization: Bearer up:demo:gzagKH1uL7vbipyV' \-d 'page[size]=1'
Sample Response
{"data": [{"type": "webhooks","id": "7f8b40da-0518-4475-8143-66ee86919ca2","attributes": {"url": "http://example.com/webhook-1","description": "Webhook number 1","createdAt": "2025-10-22T09:41:44+11:00"},"relationships": {"logs": {"links": {"related": "https://api.up.com.au/api/v1/webhooks/7f8b40da-0518-4475-8143-66ee86919ca2/logs"}}},"links": {"self": "https://api.up.com.au/api/v1/webhooks/7f8b40da-0518-4475-8143-66ee86919ca2"}}],"links": {"prev": null,"next": "https://api.up.com.au/api/v1/webhooks?page%5Bafter%5D=WyIyMDI1LTEwLTIxVDIyOjQxOjQ0Ljk0MjQ3OTAwMFoiLCI3ZjhiNDBkYS0wNTE4LTQ0NzUtODE0My02NmVlODY5MTljYTIiXQ%3D%3D&page%5Bsize%5D=1"}}
POST /webhooksCreate a new webhook with a given URL. The URL will receive webhook
events as JSON-encoded POST requests. The URL must respond with a HTTP
200 status on success.
There is currently a limit of 10 webhooks at any given time. Once this limit is reached, existing webhooks will need to be deleted before new webhooks can be created.
Event delivery is retried with exponential backoff if the URL is
unreachable or it does not respond with a 200 status. The response
includes a secretKey attribute, which is used to sign requests sent to
the webhook URL. It will not be returned from any other endpoints within
the Up API. If the secretKey is lost, simply create a new webhook with
the same URL, capture its secretKey and then delete the original
webhook. See Handling webhook events for
details on how to process webhook events.
It is probably a good idea to test the webhook by
sending it a PING event after creating
it.
dataWebhookInputResource The webhook resource to create.
attributesobject urlstring (uri)The URL that this webhook should post events to. This must be a valid HTTP or HTTPS URL that does not exceed 300 characters in length.
descriptionstring An optional description for this webhook, up to 64 characters in length.
dataWebhookResource The webhook that was created.
typestring The type of this resource: webhooks
idstring The unique identifier for this webhook.
attributesobject urlstring The URL that this webhook is configured to POST events to.
descriptionstring An optional description that was provided at the time the webhook was created.
secretKeystring A shared secret key used to sign all webhook events sent to the configured webhook URL. This field is returned only once, upon the initial creation of the webhook. If lost, create a new webhook and delete this webhook.
The webhook URL receives a request with a
X-Up-Authenticity-Signature header, which is the SHA-256 HMAC of
the entire raw request body signed using this secretKey. It is
advised to compute and check this signature to verify the
authenticity of requests sent to the webhook URL. See
Handling webhook events for full
details.
createdAtstring (date-time)The date-time at which this webhook was created.
relationshipsobject logsobject linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
Sample Request
curl https://api.up.com.au/api/v1/webhooks \-XPOST \-H 'Authorization: Bearer up:demo:JCMUmpzO1xdGpoAb' \-H 'Content-Type: application/json' \--data-binary '{"data": {"attributes": {"url": "http://example.com/webhook","description": "Example webhook"}}}'
Sample Response
{"data": {"type": "webhooks","id": "9cbcdd31-96a1-4620-a3d4-7ac8bf6f7b5a","attributes": {"url": "http://example.com/webhook","description": "Example webhook","secretKey": "lwQItmS0ojgp7yaig2VNV7G1yLc2L6Ua0U3E5Q5XHPRVYPUxgvqCUYwxw3asmnFu","createdAt": "2025-10-24T09:41:45+11:00"},"relationships": {"logs": {"links": {"related": "https://api.up.com.au/api/v1/webhooks/9cbcdd31-96a1-4620-a3d4-7ac8bf6f7b5a/logs"}}},"links": {"self": "https://api.up.com.au/api/v1/webhooks/9cbcdd31-96a1-4620-a3d4-7ac8bf6f7b5a"}}}
GET /webhooks/{id}Retrieve a specific webhook by providing its unique identifier.
idstring The unique identifier for the webhook.
6d7182a0-2f8d-44e2-9a49-5cbb1ac7a3addataWebhookResource The webhook returned in this response.
typestring The type of this resource: webhooks
idstring The unique identifier for this webhook.
attributesobject urlstring The URL that this webhook is configured to POST events to.
descriptionstring An optional description that was provided at the time the webhook was created.
secretKeystring A shared secret key used to sign all webhook events sent to the configured webhook URL. This field is returned only once, upon the initial creation of the webhook. If lost, create a new webhook and delete this webhook.
The webhook URL receives a request with a
X-Up-Authenticity-Signature header, which is the SHA-256 HMAC of
the entire raw request body signed using this secretKey. It is
advised to compute and check this signature to verify the
authenticity of requests sent to the webhook URL. See
Handling webhook events for full
details.
createdAtstring (date-time)The date-time at which this webhook was created.
relationshipsobject logsobject linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
linksobject selfstring The canonical link to this resource within the API.
Sample Request
curl https://api.up.com.au/api/v1/webhooks/6e538ff9-6adb-4564-8b6b-cc8fc1fefb69 \-H 'Authorization: Bearer up:demo:D6Ypf7MWB4axdxn8'
Sample Response
{"data": {"type": "webhooks","id": "6e538ff9-6adb-4564-8b6b-cc8fc1fefb69","attributes": {"url": "http://example.com/webhook-2","description": "Webhook number 2","createdAt": "2025-10-23T09:41:45+11:00"},"relationships": {"logs": {"links": {"related": "https://api.up.com.au/api/v1/webhooks/6e538ff9-6adb-4564-8b6b-cc8fc1fefb69/logs"}}},"links": {"self": "https://api.up.com.au/api/v1/webhooks/6e538ff9-6adb-4564-8b6b-cc8fc1fefb69"}}}
DELETE /webhooks/{id}Delete a specific webhook by providing its unique identifier. Once deleted, webhook events will no longer be sent to the configured URL.
idstring The unique identifier for the webhook.
26aa5f9c-11c7-4d3d-b5cc-b27671432d56Sample Request
curl https://api.up.com.au/api/v1/webhooks/c7beab75-7cba-44d0-9fb6-35999754270b \-XDELETE \-H 'Authorization: Bearer up:demo:I3DDKkwfLAu8jsCc'
POST /webhooks/{webhookId}/pingSend a PING event to a webhook by providing its unique identifier.
This is useful for testing and debugging purposes. The event is delivered
asynchronously and its data is returned in the response to this request.
webhookIdstring The unique identifier for the webhook.
bd108315-d2a1-4a64-9fd3-4fa262c8823bdataWebhookEventResource The webhook event data sent to the subscribed webhook.
typestring The type of this resource: webhook-events
idstring The unique identifier for this event. This will remain constant across delivery retries.
attributesobject eventTypeWebhookEventTypeEnum The type of this event. This can be used to determine what action to take in response to the event.
createdAtstring (date-time)The date-time at which this event was generated.
relationshipsobject webhookobject dataobject typestring The type of this resource: webhooks
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
transactionobject dataobject typestring The type of this resource: transactions
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
Sample Request
curl https://api.up.com.au/api/v1/webhooks/71bfdb09-f0a8-4ef4-9ec3-95e3c5d25e75/ping \-XPOST \-H 'Authorization: Bearer up:demo:ujIEObOEbI7a1uhg' \-H 'Content-Type: application/json' \--data-binary ''
Sample Response
{"data": {"type": "webhook-events","id": "bf0bbb7a-d152-4b42-9a94-8d0653335018","attributes": {"eventType": "PING","createdAt": "2025-10-24T09:41:46+11:00"},"relationships": {"webhook": {"data": {"type": "webhooks","id": "71bfdb09-f0a8-4ef4-9ec3-95e3c5d25e75"},"links": {"related": "https://api.up.com.au/api/v1/webhooks/71bfdb09-f0a8-4ef4-9ec3-95e3c5d25e75"}}}}}
GET /webhooks/{webhookId}/logsRetrieve a list of delivery logs for a webhook by providing its unique
identifier. This is useful for analysis and debugging purposes. The
returned list is paginated and can be scrolled by
following the next and prev links where present. Results are ordered
newest first to oldest last. Logs may be automatically purged after a
period of time.
webhookIdstring The unique identifier for the webhook.
e51a3980-fa18-4eea-809c-90b296ea1664page[size]integer The number of records to return in each page.
?page[size]=30"+" must be encoded as "%2B" in order to be received as a plus-sign and not as a space character.dataArray [WebhookDeliveryLogResource] The list of delivery logs returned in this response.
typestring The type of this resource: webhook-delivery-logs
idstring The unique identifier for this log entry.
attributesobject requestobject Information about the request that was sent to the webhook URL.
bodystring The payload that was sent in the request body.
responseobject Information about the response that was received from the webhook URL.
statusCodeinteger The HTTP status code received in the response.
bodystring The payload that was received in the response body.
deliveryStatusWebhookDeliveryStatusEnum The success or failure status of this delivery attempt.
createdAtstring (date-time)The date-time at which this log entry was created.
relationshipsobject webhookEventobject dataobject typestring The type of this resource: webhook-events
idstring The unique identifier of the resource within its type.
linksobject prevstring The link to the previous page in the results. If this value is null
there is no previous page.
nextstring The link to the next page in the results. If this value is null
there is no next page.
Sample Request
curl https://api.up.com.au/api/v1/webhooks/c34fb4ec-0365-41b4-916e-66da13a4160e/logs \-G \-H 'Authorization: Bearer up:demo:Bf5Qv9rRM46XhG4r' \-d 'page[size]=1'
Sample Response
{"data": [{"type": "webhook-delivery-logs","id": "246836f9-9238-4911-afb1-dc27df102484","attributes": {"request": {"body": "{\"data\":{\"type\":\"webhook-events\",\"id\":\"bf8474fe-1ee8-4674-9e49-e00831917bb3\",\"attributes\":{\"eventType\":\"TRANSACTION_CREATED\",\"createdAt\":\"2025-10-23T09:42:46+11:00\"},\"relationships\":{\"webhook\":{\"data\":{\"type\":\"webhooks\",\"id\":\"c34fb4ec-0365-41b4-916e-66da13a4160e\"},\"links\":{\"related\":\"https://api.up.com.au/api/v1/webhooks/c34fb4ec-0365-41b4-916e-66da13a4160e\"}},\"transaction\":{\"data\":{\"type\":\"transactions\",\"id\":\"ffcd7f8f-521a-4fb3-baa3-678ddbfce658\"},\"links\":{\"related\":\"https://api.up.com.au/api/v1/transactions/ffcd7f8f-521a-4fb3-baa3-678ddbfce658\"}}}}}"},"response": {"statusCode": 200,"body": "{\"ok\":true}"},"deliveryStatus": "DELIVERED","createdAt": "2025-10-23T09:42:46+11:00"},"relationships": {"webhookEvent": {"data": {"type": "webhook-events","id": "bf8474fe-1ee8-4674-9e49-e00831917bb3"}}}}],"links": {"prev": null,"next": "https://api.up.com.au/api/v1/webhooks/c34fb4ec-0365-41b4-916e-66da13a4160e/logs?page%5Bafter%5D=WyIyMDI1LTEwLTIyVDIyOjQyOjQ2Ljc2MTQ0MTAwMFoiLCIyNDY4MzZmOS05MjM4LTQ5MTEtYWZiMS1kYzI3ZGYxMDI0ODQiXQ%3D%3D&page%5Bsize%5D=1"}}
POST {webhookURL}// webhookOnce you have created a webhook in the Up API, events are sent to the
webhook’s configured URL as JSON-encoded POST requests. The webhook
URL must respond with a HTTP 200 status on success.
It is important that the URL responds in a timely manner. If the URL takes too long to respond (currently 30s), the request will be timed out. For this reason it is strongly advised to avoid any heavy processing before a response has been returned from the URL. A common solution to this problem is to use a message broker such as RabbitMQ to do the work asynchronously.
Event delivery is retried with exponential backoff in the case of any
non-200 response status, if the URL is unreachable, or if the request
is timed out.
Refer to the eventType attribute in order to determine what course of
action to take when handling the event. The following event types are
currently sent:
PING
Manually triggered by calls to the webhook ping endpoint. Used for
testing and debugging purposes.
TRANSACTION_CREATED
Triggered whenever a new transaction is created in Up. This event
includes a transaction relationship that provides the unique
identifier for the transaction and a link to the transaction within the
Up API. This link should be used to retrieve the complete transaction
data.
TRANSACTION_SETTLED
Triggered whenever a transaction transitions from the HELD status to
the SETTLED status. This event includes a transaction relationship
that provides the unique identifier for the transaction and a link to
the transaction within the Up API. This link should be used to retrieve
the complete transaction data.
Due to external factors in banking processes, on rare occasions this
event may not be triggered. Separate TRANSACTION_DELETED and
TRANSACTION_CREATED events will be received in its place.
TRANSACTION_DELETED
Triggered whenever a HELD transaction is deleted from Up. This
generally occurs for example when a hotel deposit is returned. This
event includes a transaction relationship that provides the unique
identifier for the transaction, however no link is provided to the
transaction within the Up API as it no longer exists.
Incoming webhook event requests include a X-Up-Authenticity-Signature
header, which can be used to verify that the event was sent by Up.
Verification of the signature requires knowledge of the shared
secretKey that was returned upon creation of the webhook. This key is
known only to your application and to Up.
The verification process involves:
secretKey.X-Up-Authenticity-Signature header.If the computed SHA-256 HMAC signature matches the
X-Up-Authenticity-Signature header, the request is valid.
A few language-specific examples follow.
Ruby:
This example uses the Ruby on Rails framework.
require 'openssl'
def handle_webhook_event
  received_signature =
    request.headers['X-Up-Authenticity-Signature']
  signature = OpenSSL::HMAC.hexdigest(
    'SHA256',
    secret_key,
    request.raw_post,
  )
  if Rack::Utils.secure_compare(received_signature, signature)
    # Process webhook event
  end
end
PHP:
This example uses the Laravel framework.
public function handleWebhookEvent(Request $request) {
    $received_signature = $request->header(
        'X-Up-Authenticity-Signature',
        ''
    );
    $raw_body = $request->getContent();
    $signature = hash_hmac('sha256', $raw_body, $this->secretKey);
    if (hash_equals($signature, $received_signature)) {
        // Process webhook event
    }
}
Go:
This example is in plain Go.
import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "io"
    "net/http"
)
func handleWebhookEvent(w http.ResponseWriter, r *http.Request) {
    receivedSignature, _ := hex.DecodeString(
        r.Header.Get("X-Up-Authenticity-Signature"),
    )
    mac := hmac.New(sha256.New, secretKey)
    io.Copy(mac, r.Body)
    signature := mac.Sum(nil)
    if hmac.Equal(signature, receivedSignature)
        // Process webhook event
    }
}
If the secretKey for a webhook is lost, simply create a new webhook
with the same URL, capture the returned secretKey and delete the
original webhook.
X-Up-Authenticity-Signaturestring The SHA-256 HMAC signature of the raw request body, signed using
the secretKey of the webhook.
X-Up-Authenticity-Signature: 317c0a8ea81df3f53c1d2aef5dcbf60492d0df557197b2990e71daa4a0693364dataWebhookEventResource The webhook event data sent to the subscribed webhook.
typestring The type of this resource: webhook-events
idstring The unique identifier for this event. This will remain constant across delivery retries.
attributesobject eventTypeWebhookEventTypeEnum The type of this event. This can be used to determine what action to take in response to the event.
createdAtstring (date-time)The date-time at which this event was generated.
relationshipsobject webhookobject dataobject typestring The type of this resource: webhooks
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
transactionobject dataobject typestring The type of this resource: transactions
idstring The unique identifier of the resource within its type.
linksobject relatedstring The link to retrieve the related resource(s) in this relationship.
Sample Payload
{"data": {"type": "webhook-events","id": "735cb45f-1f4a-4e6b-a0c6-9dbec5fcdc46","attributes": {"eventType": "TRANSACTION_CREATED","createdAt": "2025-10-24T09:41:45+11:00"},"relationships": {"webhook": {"data": {"type": "webhooks","id": "5b74f3bc-b303-4e49-a20e-164a50cb1709"},"links": {"related": "https://api.up.com.au/api/v1/webhooks/5b74f3bc-b303-4e49-a20e-164a50cb1709"}},"transaction": {"data": {"type": "transactions","id": "6f423641-d654-4b63-a995-1241746b492e"},"links": {"related": "https://api.up.com.au/api/v1/transactions/6f423641-d654-4b63-a995-1241746b492e"}}}}}