### Retrieve Account - Get Specific Account Details (Bash) Source: https://context7.com/up-banking/api/llms.txt Retrieves details for a specific account using its unique identifier via a GET request to the /accounts/{accountId} endpoint. Includes balance, account type, and ownership information. Requires a bearer token for authentication. ```bash curl -X GET "https://api.up.com.au/api/v1/accounts/e647dd54-4d10-41d0-8071-21eb0a3f6214" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ```json # Response: { "data": { "type": "accounts", "id": "e647dd54-4d10-41d0-8071-21eb0a3f6214", "attributes": { "displayName": "Savings", "accountType": "SAVER", "ownershipType": "INDIVIDUAL", "balance": { "currencyCode": "AUD", "value": "125.36", "valueInBaseUnits": 12536 }, "createdAt": "2024-08-06T12:18:30+10:00" }, "relationships": { "transactions": { "links": { "related": "https://api.up.com.au/api/v1/accounts/e647dd54-4d10-41d0-8071-21eb0a3f6214/transactions" } } }, "links": { "self": "https://api.up.com.au/api/v1/accounts/e647dd54-4d10-41d0-8071-21eb0a3f6214" } } } ``` -------------------------------- ### Ping API - Verify Authentication (Bash) Source: https://context7.com/up-banking/api/llms.txt Tests API connectivity and verifies authentication by sending a GET request to the /util/ping endpoint. It returns the authenticated customer's ID and a status emoji on success, or an error if authentication fails. Requires a bearer token in the Authorization header. ```bash # Test authentication curl -X GET "https://api.up.com.au/api/v1/util/ping" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ```json # Response (200 OK): { "meta": { "id": "f8178615-7fd7-47a6-9a6e-cf62b3313848", "statusEmoji": "⚡️" } } # Response (401 Unauthorized): { "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." } ] } ``` -------------------------------- ### List Accounts - Retrieve All Accounts (Bash) Source: https://context7.com/up-banking/api/llms.txt Retrieves a paginated list of all accounts for the authenticated user using a GET request to the /accounts endpoint. Supports filtering by account type (SAVER, TRANSACTIONAL, HOME_LOAN) and ownership type (INDIVIDUAL, JOINT). Requires a bearer token for authentication. ```bash # List all accounts with pagination curl -X GET "https://api.up.com.au/api/v1/accounts?page[size]=30" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" # Filter by account type (only savers) curl -X GET "https://api.up.com.au/api/v1/accounts?filter[accountType]=SAVER" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" # Filter by ownership type (only individual accounts) curl -X GET "https://api.up.com.au/api/v1/accounts?filter[ownershipType]=INDIVIDUAL" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ```json # Response: { "data": [ { "type": "accounts", "id": "5b54e6ef-ecf1-4c49-aa03-2104a490c849", "attributes": { "displayName": "Spending", "accountType": "TRANSACTIONAL", "ownershipType": "INDIVIDUAL", "balance": { "currencyCode": "AUD", "value": "1.00", "valueInBaseUnits": 100 }, "createdAt": "2024-08-06T12:18:29+10:00" }, "relationships": { "transactions": { "links": { "related": "https://api.up.com.au/api/v1/accounts/5b54e6ef-ecf1-4c49-aa03-2104a490c849/transactions" } } }, "links": { "self": "https://api.up.com.au/api/v1/accounts/5b54e6ef-ecf1-4c49-aa03-2104a490c849" } } ], "links": { "prev": null, "next": "https://api.up.com.au/api/v1/accounts?page%5Bafter%5D=..." } } ``` -------------------------------- ### GET /webhooks/{webhookId}/logs Source: https://context7.com/up-banking/api/llms.txt Retrieves delivery logs for a specific webhook, allowing developers to debug request/response cycles and check delivery statuses. ```APIDOC ## GET /webhooks/{webhookId}/logs ### Description Retrieves delivery logs for debugging webhook issues. Shows request/response details and delivery status. ### Method GET ### Endpoint https://api.up.com.au/api/v1/webhooks/{webhookId}/logs ### Parameters #### Path Parameters - **webhookId** (string) - Required - The unique identifier of the webhook. #### Query Parameters - **page[size]** (integer) - Optional - The number of logs to return per page. ### Request Example curl -X GET "https://api.up.com.au/api/v1/webhooks/cce901e8-e10b-4d4d-a615-f1902e4736d4/logs?page[size]=30" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ### Response #### Success Response (200) - **data** (array) - List of webhook delivery log objects. #### Response Example { "data": [ { "type": "webhook-delivery-logs", "id": "03743de3-1dc8-4893-b1b0-86ab5d613c5b", "attributes": { "request": { "body": "{\"data\":{\"type\":\"webhook-events\",\"id\":\"011308c1-861c-4d04-ba85-f867eadf202d\",...}}" }, "response": { "statusCode": 200, "body": "{\"ok\":true}" }, "deliveryStatus": "DELIVERED", "createdAt": "2024-08-05T12:20:07+10:00" } } ] } ``` -------------------------------- ### List Transactions - Retrieve All Transactions (Bash) Source: https://context7.com/up-banking/api/llms.txt Retrieves a paginated list of all transactions across all accounts using a GET request to the /transactions endpoint. Supports filtering by status (HELD, SETTLED), date range, category, and tag. Results are ordered newest first. Requires a bearer token for authentication. ```bash # List all transactions curl -X GET "https://api.up.com.au/api/v1/transactions?page[size]=30" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" # Filter by status and tag curl -X GET "https://api.up.com.au/api/v1/transactions?filter[status]=SETTLED&filter[tag]=Pizza%20Night" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### GET /api/v1/categories Source: https://context7.com/up-banking/api/llms.txt Retrieves all categories and their hierarchy. Categories are pre-defined by Up and automatically assigned to transactions. ```APIDOC ## GET /api/v1/categories ### Description Retrieves all categories and their hierarchy. Categories are pre-defined by Up and automatically assigned to transactions. Parent categories cannot be directly assigned to transactions. ### Method GET ### Endpoint /api/v1/categories ### Parameters No parameters for this endpoint. ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/categories" -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (array) - An array of category objects. #### Response Example (Example response not provided in the input text) ``` -------------------------------- ### GET /attachments/{id} Source: https://context7.com/up-banking/api/llms.txt Retrieves a specific attachment by its unique identifier, providing a temporary download URL. ```APIDOC ## GET /attachments/{id} ### Description Retrieves a specific attachment by ID with a fresh temporary download URL. ### Method GET ### Endpoint https://api.up.com.au/api/v1/attachments/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the attachment. ### Request Example curl -X GET "https://api.up.com.au/api/v1/attachments/4fcb7c00-5332-41bb-ae5a-26b66dda316b" \ -H "Authorization: Bearer YOUR_API_TOKEN" ### Response #### Success Response (200) - **data** (object) - The attachment resource object. #### Response Example { "data": { "type": "attachments", "id": "4fcb7c00-5332-41bb-ae5a-26b66dda316b", "attributes": { "createdAt": "2024-08-06T12:18:33+10:00", "fileURL": "https://...", "fileURLExpiresAt": "2024-08-06T12:33:33+10:00", "fileExtension": "jpg", "fileContentType": "image/jpeg" } } } ``` -------------------------------- ### GET /api/v1/transactions Source: https://context7.com/up-banking/api/llms.txt Retrieves a list of transactions. Supports filtering by date range, category, and status. ```APIDOC ## GET /api/v1/transactions ### Description Retrieves a list of transactions. Supports filtering by date range, category, and status. ### Method GET ### Endpoint /api/v1/transactions ### Parameters #### Query Parameters - **filter[since]** (string) - Optional - Filter transactions since a specific date and time. - **filter[until]** (string) - Optional - Filter transactions until a specific date and time. - **filter[category]** (string) - Optional - Filter transactions by category ID. - **filter[status]** (string) - Optional - Filter transactions by status (e.g., HELD, SETTLED). ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/transactions?filter[since]=2024-01-01T00:00:00+10:00&filter[until]=2024-02-01T00:00:00+10:00" -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (array) - An array of transaction objects. - **links** (object) - Links for pagination. #### Response Example ```json { "data": [ { "type": "transactions", "id": "e38f484c-276e-4e87-9031-224564067d83", "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": "2024-08-05T05:16:50+10:00", "createdAt": "2024-08-05T05:16:50+10:00", "transactionType": null, "note": null, "performingCustomer": { "displayName": "Bobby" } }, "relationships": { "account": { "data": { "type": "accounts", "id": "b47aa85f-0b67-46b2-a8d4-902f8e8b9d97" } }, "category": { "data": null }, "tags": { "data": [{ "type": "tags", "id": "Pizza Night" }] } }, "links": { "self": "https://api.up.com.au/api/v1/transactions/e38f484c-276e-4e87-9031-224564067d83" } } ], "links": { "prev": null, "next": null } } ``` ``` -------------------------------- ### GET /api/v1/transactions/{transactionId} Source: https://context7.com/up-banking/api/llms.txt Retrieves a specific transaction by its ID. ```APIDOC ## GET /api/v1/transactions/{transactionId} ### Description Retrieves a specific transaction by its ID with complete details including foreign currency amounts, round-up information, and card purchase method. ### Method GET ### Endpoint /api/v1/transactions/{transactionId} ### Parameters #### Path Parameters - **transactionId** (string) - Required - The ID of the transaction. ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/transactions/20f1a541-356b-4363-aeba-18e21661b8e5" -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (object) - The transaction object. #### Response Example ```json { "data": { "type": "transactions", "id": "20f1a541-356b-4363-aeba-18e21661b8e5", "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 }, "amount": { "currencyCode": "AUD", "value": "-107.92", "valueInBaseUnits": -10792 }, "foreignAmount": { "currencyCode": "IDR", "value": "-1053698.77", "valueInBaseUnits": -105369877 }, "cardPurchaseMethod": { "method": "CARD_ON_FILE", "cardNumberSuffix": "0001" }, "settledAt": "2024-08-03T04:00:00+10:00", "createdAt": "2024-08-03T04:00:00+10:00" } } } ``` ``` -------------------------------- ### GET /api/v1/accounts/{accountId}/transactions Source: https://context7.com/up-banking/api/llms.txt Retrieves transactions for a specific account. Supports filtering by category and status, and pagination. ```APIDOC ## GET /api/v1/accounts/{accountId}/transactions ### Description Retrieves transactions for a specific account. Supports filtering by category and status, and pagination. ### Method GET ### Endpoint /api/v1/accounts/{accountId}/transactions ### Parameters #### Path Parameters - **accountId** (string) - Required - The ID of the account. #### Query Parameters - **page[size]** (integer) - Optional - The number of transactions per page. - **filter[status]** (string) - Optional - Filter transactions by status (e.g., HELD, SETTLED). - **filter[category]** (string) - Optional - Filter transactions by category ID. ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/accounts/bccfbe8a-8d06-415d-b6fb-9f4e4507a3c2/transactions?page[size]=30&filter[status]=HELD&filter[category]=good-life" -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (array) - An array of transaction objects. - **links** (object) - Links for pagination. #### Response Example ```json { "data": [ { "type": "transactions", "id": "08e78dd1-539c-40cc-a124-2af02e078d20", "attributes": { "status": "HELD", "rawText": "Spotify 0123456789", "description": "Spotify", "message": null, "isCategorizable": true, "holdInfo": { "amount": { "currencyCode": "AUD", "value": "-11.95", "valueInBaseUnits": -1195 }, "foreignAmount": null }, "amount": { "currencyCode": "AUD", "value": "-11.95", "valueInBaseUnits": -1195 }, "settledAt": null, "createdAt": "2024-08-03T08:09:59+10:00" }, "relationships": { "account": { "data": { "type": "accounts", "id": "bccfbe8a-8d06-415d-b6fb-9f4e4507a3c2" } }, "category": { "data": { "type": "categories", "id": "tv-and-music" } }, "parentCategory": { "data": { "type": "categories", "id": "good-life" } } } } ], "links": { "prev": null, "next": null } } ``` ``` -------------------------------- ### POST /webhook (Handling Events) Source: https://context7.com/up-banking/api/llms.txt Guidelines for receiving and verifying incoming webhook events using HMAC SHA-256 signature verification. ```APIDOC ## POST /webhook ### Description Webhook events are delivered as POST requests to your configured URL. You must verify authenticity using the `X-Up-Authenticity-Signature` header with SHA-256 HMAC signature verification. ### Method POST ### Endpoint [Your configured webhook URL] ### Parameters #### Request Headers - **X-Up-Authenticity-Signature** (string) - Required - The HMAC SHA-256 signature of the request body. ### Request Example { "data": { "type": "webhook-events", "id": "32e730bd-752d-4ae8-a8e2-bab115c72b6d", "attributes": { "eventType": "TRANSACTION_CREATED", "createdAt": "2024-08-06T12:19:02+10:00" } } } ### Response #### Success Response (200) - **ok** (boolean) - Indicates successful receipt of the event. #### Response Example { "ok": true } ``` -------------------------------- ### Create Webhook Source: https://context7.com/up-banking/api/llms.txt Creates a new webhook subscription. Upon successful creation, the response includes a `secretKey` which is essential for verifying the authenticity of incoming webhook events. This key is only provided at the time of creation. ```bash curl -X POST "https://api.up.com.au/api/v1/webhooks" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "data": { "attributes": { "url": "https://example.com/webhook", "description": "Example webhook" } } }' ``` -------------------------------- ### List Webhooks Source: https://context7.com/up-banking/api/llms.txt Retrieves a list of all configured webhooks for the account. Up limits accounts to a maximum of 10 webhooks. This endpoint is useful for monitoring existing webhook subscriptions and their configurations. ```bash curl -X GET "https://api.up.com.au/api/v1/webhooks?page[size]=30" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### List All Tags Source: https://context7.com/up-banking/api/llms.txt Retrieves a list of all tags currently in use, ordered alphabetically. Tags are custom labels for transactions, with a maximum of 6 tags per transaction. Requires an API token for authentication. ```bash curl -X GET "https://api.up.com.au/api/v1/tags?page[size]=50" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### List All Attachments Source: https://context7.com/up-banking/api/llms.txt Retrieves a list of all attachments, such as receipts, associated with transactions. Note that the URLs for these attachments are temporary and will expire. Requires an API token for authentication. ```bash curl -X GET "https://api.up.com.au/api/v1/attachments" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### Retrieve Webhook by ID Source: https://context7.com/up-banking/api/llms.txt Fetches the details of a specific webhook using its unique identifier. This endpoint allows you to view the configuration of an existing webhook, including its URL, description, and creation timestamp. ```bash curl -X GET "https://api.up.com.au/api/v1/webhooks/362f41e4-c750-40ed-8bec-73ecca1e65e1" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### List Tags Source: https://context7.com/up-banking/api/llms.txt Retrieves all tags currently in use, ordered lexicographically. Tags are custom labels that can be associated with transactions. ```APIDOC ## GET /api/v1/tags ### Description Retrieves all tags currently in use, ordered lexicographically. Tags are custom labels that can be associated with transactions (up to 6 per transaction). ### Method GET ### Endpoint /api/v1/tags #### Query Parameters - **page[size]** (integer) - Optional - The number of tags to return per page. Defaults to a reasonable number. - **page[after]** (string) - Optional - Used for pagination to fetch the next set of tags. ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/tags?page[size]=50" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (array) - An array of tag objects. - **type** (string) - The resource type, always 'tags'. - **id** (string) - The unique identifier for the tag. - **relationships** (object) - Contains links related to the tag. - **transactions** (object) - Link to transactions associated with this tag. - **links** (object) - Pagination links. - **prev** (string or null) - URL for the previous page of results. - **next** (string or null) - URL for the next page of results. #### Response Example ```json { "data": [ { "type": "tags", "id": "Holiday", "relationships": { "transactions": { "links": { "related": "https://api.up.com.au/api/v1/transactions?filter%5Btag%5D=Holiday" } } } } ], "links": { "prev": null, "next": "https://api.up.com.au/api/v1/tags?page%5Bafter%5D=..." } } ``` ``` -------------------------------- ### List All Categories using cURL Source: https://context7.com/up-banking/api/llms.txt Retrieves a list of all available categories, including their hierarchy. Categories are pre-defined by Up and used for transaction classification. An API token is required to access this endpoint. ```bash # List all categories curl -X GET "https://api.up.com.au/api/v1/categories" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### Webhook Management API Source: https://context7.com/up-banking/api/llms.txt Endpoints for managing webhooks, including listing, creating, retrieving, deleting, and testing webhooks. ```APIDOC ## GET /webhooks ### Description Retrieves all configured webhooks for the account (max 10). ### Method GET ### Endpoint https://api.up.com.au/api/v1/webhooks ### Parameters #### Query Parameters - **page[size]** (integer) - Optional - Number of records to return. --- ## POST /webhooks ### Description Creates a new webhook. Returns a `secretKey` for signature verification. ### Method POST ### Endpoint https://api.up.com.au/api/v1/webhooks ### Request Body - **url** (string) - Required - The destination URL for events. - **description** (string) - Optional - A label for the webhook. --- ## DELETE /webhooks/{id} ### Description Deletes a specific webhook by ID. ### Method DELETE ### Endpoint https://api.up.com.au/api/v1/webhooks/{id} --- ## POST /webhooks/{id}/ping ### Description Sends a PING event to the specified webhook for testing purposes. ### Method POST ### Endpoint https://api.up.com.au/api/v1/webhooks/{id}/ping ``` -------------------------------- ### Utility Endpoints - Ping Source: https://context7.com/up-banking/api/llms.txt Tests API connectivity and verifies authentication by returning the authenticated customer's ID and a status emoji. ```APIDOC ## GET /api/v1/util/ping ### Description Tests API connectivity and verifies that authentication is working correctly. Returns the authenticated customer's ID and a status emoji on success. ### Method GET ### Endpoint /api/v1/util/ping ### Parameters #### Query Parameters None #### Request Body None ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/util/ping" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **meta** (object) - Contains metadata about the request. - **id** (string) - The authenticated customer's ID. - **statusEmoji** (string) - A status emoji. #### Error Response (401) - **errors** (array) - An array of error objects. - **status** (string) - The HTTP status code of the error. - **title** (string) - A short, human-readable summary of the error. - **detail** (string) - A more detailed explanation of the error. #### Response Example (200 OK) ```json { "meta": { "id": "f8178615-7fd7-47a6-9a6e-cf62b3313848", "statusEmoji": "⚡️" } } ``` #### Response Example (401 Unauthorized) ```json { "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." } ] } ``` ``` -------------------------------- ### Implement Secure Webhook Handler in Python Source: https://context7.com/up-banking/api/llms.txt A Flask-based implementation for receiving and verifying Up Banking webhook events. It validates the authenticity of incoming POST requests using HMAC SHA-256 signatures before processing transaction-related events. ```python import hmac import hashlib from flask import Flask, request, jsonify app = Flask(__name__) SECRET_KEY = b"your_webhook_secret_key" @app.route("/webhook", methods=["POST"]) def handle_webhook(): # Verify signature received_signature = request.headers.get("X-Up-Authenticity-Signature", "") computed_signature = hmac.new( SECRET_KEY, request.get_data(), hashlib.sha256 ).hexdigest() if not hmac.compare_digest(received_signature, computed_signature): return jsonify({"error": "Invalid signature"}), 401 # Process event event = request.json event_type = event["data"]["attributes"]["eventType"] if event_type == "TRANSACTION_CREATED": transaction_id = event["data"]["relationships"]["transaction"]["data"]["id"] print(f"New transaction: {transaction_id}") elif event_type == "TRANSACTION_SETTLED": transaction_id = event["data"]["relationships"]["transaction"]["data"]["id"] print(f"Transaction settled: {transaction_id}") elif event_type == "TRANSACTION_DELETED": transaction_id = event["data"]["relationships"]["transaction"]["data"]["id"] print(f"Transaction deleted: {transaction_id}") elif event_type == "PING": print("Received ping") return jsonify({"ok": True}), 200 ``` -------------------------------- ### List Children of a Parent Category Source: https://context7.com/up-banking/api/llms.txt Retrieves a list of child categories under a specified parent category. Requires an API token for authentication. Returns a JSON object containing category data. ```bash curl -X GET "https://api.up.com.au/api/v1/categories?filter[parent]=good-life" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### Retrieve Webhook Delivery Logs via cURL Source: https://context7.com/up-banking/api/llms.txt Fetches a paginated list of delivery logs for a specific webhook. This is useful for debugging failed deliveries by inspecting request/response payloads and status codes. ```bash curl -X GET "https://api.up.com.au/api/v1/webhooks/cce901e8-e10b-4d4d-a615-f1902e4736d4/logs?page[size]=30" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### Accounts API Source: https://context7.com/up-banking/api/llms.txt Endpoints for managing and retrieving information about user accounts. ```APIDOC ## GET /api/v1/accounts ### Description Retrieves a paginated list of all accounts for the authenticated user. Supports filtering by account type (SAVER, TRANSACTIONAL, HOME_LOAN) and ownership type (INDIVIDUAL, JOINT). ### Method GET ### Endpoint /api/v1/accounts ### Parameters #### Query Parameters - **page[size]** (integer) - Optional - The number of accounts to return per page. - **filter[accountType]** (string) - Optional - Filters accounts by type. Allowed values: SAVER, TRANSACTIONAL, HOME_LOAN. - **filter[ownershipType]** (string) - Optional - Filters accounts by ownership. Allowed values: INDIVIDUAL, JOINT. #### Request Body None ### Request Example ```bash # List all accounts with pagination curl -X GET "https://api.up.com.au/api/v1/accounts?page[size]=30" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" # Filter by account type (only savers) curl -X GET "https://api.up.com.au/api/v1/accounts?filter[accountType]=SAVER" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" # Filter by ownership type (only individual accounts) curl -X GET "https://api.up.com.au/api/v1/accounts?filter[ownershipType]=INDIVIDUAL" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (array) - An array of account objects. - **type** (string) - The resource type (always "accounts"). - **id** (string) - The unique identifier for the account. - **attributes** (object) - Contains the account's attributes. - **displayName** (string) - A user-friendly name for the account. - **accountType** (string) - The type of the account (SAVER, TRANSACTIONAL, HOME_LOAN). - **ownershipType** (string) - The ownership type of the account (INDIVIDUAL, JOINT). - **balance** (object) - The current balance of the account. - **currencyCode** (string) - The ISO 4217 currency code (e.g., "AUD"). - **value** (string) - The balance amount as a string. - **valueInBaseUnits** (integer) - The balance amount in the smallest currency unit. - **createdAt** (string) - The date and time the account was created. - **relationships** (object) - Links to related resources. - **transactions** (object) - Link to the account's transactions. - **links** (object) - **related** (string) - URL to fetch transactions for this account. - **links** (object) - Links related to the account resource. - **self** (string) - URL to fetch this account resource. - **links** (object) - Pagination links. - **prev** (string|null) - URL to the previous page of results. - **next** (string|null) - URL to the next page of results. #### Response Example ```json { "data": [ { "type": "accounts", "id": "5b54e6ef-ecf1-4c49-aa03-2104a490c849", "attributes": { "displayName": "Spending", "accountType": "TRANSACTIONAL", "ownershipType": "INDIVIDUAL", "balance": { "currencyCode": "AUD", "value": "1.00", "valueInBaseUnits": 100 }, "createdAt": "2024-08-06T12:18:29+10:00" }, "relationships": { "transactions": { "links": { "related": "https://api.up.com.au/api/v1/accounts/5b54e6ef-ecf1-4c49-aa03-2104a490c849/transactions" } } }, "links": { "self": "https://api.up.com.au/api/v1/accounts/5b54e6ef-ecf1-4c49-aa03-2104a490c849" } } ], "links": { "prev": null, "next": "https://api.up.com.au/api/v1/accounts?page%5Bafter%5D=..." } } ``` ## GET /api/v1/accounts/{accountId} ### Description Retrieves a specific account by its unique identifier, including balance, account type, and ownership information. ### Method GET ### Endpoint /api/v1/accounts/{accountId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier of the account. #### Query Parameters None #### Request Body None ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/accounts/e647dd54-4d10-41d0-8071-21eb0a3f6214" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (object) - The account object. - **type** (string) - The resource type (always "accounts"). - **id** (string) - The unique identifier for the account. - **attributes** (object) - Contains the account's attributes. - **displayName** (string) - A user-friendly name for the account. - **accountType** (string) - The type of the account (SAVER, TRANSACTIONAL, HOME_LOAN). - **ownershipType** (string) - The ownership type of the account (INDIVIDUAL, JOINT). - **balance** (object) - The current balance of the account. - **currencyCode** (string) - The ISO 4217 currency code (e.g., "AUD"). - **value** (string) - The balance amount as a string. - **valueInBaseUnits** (integer) - The balance amount in the smallest currency unit. - **createdAt** (string) - The date and time the account was created. - **relationships** (object) - Links to related resources. - **transactions** (object) - Link to the account's transactions. - **links** (object) - **related** (string) - URL to fetch transactions for this account. - **links** (object) - Links related to the account resource. - **self** (string) - URL to fetch this account resource. #### Response Example ```json { "data": { "type": "accounts", "id": "e647dd54-4d10-41d0-8071-21eb0a3f6214", "attributes": { "displayName": "Savings", "accountType": "SAVER", "ownershipType": "INDIVIDUAL", "balance": { "currencyCode": "AUD", "value": "125.36", "valueInBaseUnits": 12536 }, "createdAt": "2024-08-06T12:18:30+10:00" }, "relationships": { "transactions": { "links": { "related": "https://api.up.com.au/api/v1/accounts/e647dd54-4d10-41d0-8071-21eb0a3f6214/transactions" } } }, "links": { "self": "https://api.up.com.au/api/v1/accounts/e647dd54-4d10-41d0-8071-21eb0a3f6214" } } } ``` ``` -------------------------------- ### Filter Transactions by Date Range using cURL Source: https://context7.com/up-banking/api/llms.txt Retrieves transactions within a specified date range using the 'since' and 'until' query parameters. Requires an API token for authorization. The response includes a list of transactions matching the criteria. ```bash curl -X GET "https://api.up.com.au/api/v1/transactions?filter[since]=2024-01-01T00:00:00+10:00&filter[until]=2024-02-01T00:00:00+10:00" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### Retrieve a Specific Category Source: https://context7.com/up-banking/api/llms.txt Fetches details for a single category, including its parent and children relationships. Authentication with an API token is necessary. The response includes the category's type, ID, attributes, and related links. ```bash curl -X GET "https://api.up.com.au/api/v1/categories/home" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### List Attachments Source: https://context7.com/up-banking/api/llms.txt Retrieves all attachments (typically receipts) uploaded to transactions. File URLs are temporary and expire. ```APIDOC ## GET /api/v1/attachments ### Description Retrieves all attachments (typically receipts) uploaded to transactions. File URLs are temporary and expire. ### Method GET ### Endpoint /api/v1/attachments #### Query Parameters - **filter[transaction]** (string) - Optional - Filter attachments by a specific transaction ID. - **page[size]** (integer) - Optional - The number of attachments to return per page. - **page[after]** (string) - Optional - Used for pagination to fetch the next set of attachments. ### Request Example ```bash curl -X GET "https://api.up.com.au/api/v1/attachments" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` ### Response #### Success Response (200) - **data** (array) - An array of attachment objects. - **type** (string) - The resource type, always 'attachments'. - **id** (string) - The unique identifier for the attachment. - **attributes** (object) - Contains details about the attachment. - **fileName** (string) - The name of the attached file. - **mimeType** (string) - The MIME type of the file. - **size** (integer) - The size of the file in bytes. - **createdAt** (string) - The timestamp when the attachment was created. - **status** (string) - The status of the attachment (e.g., 'processed'). - **fileURL** (string) - A temporary URL to download the attachment. - **relationships** (object) - Contains links to related resources. - **transaction** (object) - Information about the transaction the attachment belongs to. - **links** (object) - Links related to the attachment. - **self** (string) - The URL for the attachment resource. - **links** (object) - Pagination links. - **prev** (string or null) - URL for the previous page of results. - **next** (string or null) - URL for the next page of results. #### Response Example (Response structure for attachments can be complex and may vary. A simplified example is provided.) ```json { "data": [ { "type": "attachments", "id": "att_abc123", "attributes": { "fileName": "receipt.pdf", "mimeType": "application/pdf", "size": 102400, "createdAt": "2023-10-27T10:00:00Z", "status": "processed", "fileURL": "https://api.up.com.au/download/att_abc123?expires=..." }, "relationships": { "transaction": { "data": { "type": "transactions", "id": "txn_xyz789" } } }, "links": { "self": "https://api.up.com.au/api/v1/attachments/att_abc123" } } ], "links": { "prev": null, "next": "https://api.up.com.au/api/v1/attachments?page%5Bafter%5D=..." } } ``` ``` -------------------------------- ### List Transactions by Account using cURL Source: https://context7.com/up-banking/api/llms.txt Retrieves transactions for a specific account, allowing filtering by status and category. This endpoint requires the account ID and an API token. The response includes transaction details for the specified account. ```bash curl -X GET "https://api.up.com.au/api/v1/accounts/bccfbe8a-8d06-415d-b6fb-9f4e4507a3c2/transactions?page[size]=30&filter[status]=HELD&filter[category]=good-life" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### Ping Webhook Source: https://context7.com/up-banking/api/llms.txt Sends a PING event to a specified webhook. This is a diagnostic tool to verify that the webhook is correctly configured and reachable, ensuring that events can be successfully delivered. ```bash curl -X POST "https://api.up.com.au/api/v1/webhooks/2649c1f0-b03b-4c21-bb85-331d53644305/ping" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" \ -H "Content-Type: application/json" ``` -------------------------------- ### Add Tags to a Transaction Source: https://context7.com/up-banking/api/llms.txt Associates one or more tags with a specific transaction. A transaction can have a maximum of 6 tags. Duplicate tags are ignored. Requires an API token and Content-Type header. ```bash curl -X POST "https://api.up.com.au/api/v1/transactions/667fd9d3-05d7-4eb4-b496-a406ca7da08d/relationships/tags" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "type": "tags", "id": "Holiday" }, { "type": "tags", "id": "Queensland" } ] }' ``` -------------------------------- ### Retrieve Attachment by ID Source: https://context7.com/up-banking/api/llms.txt Fetches details of a specific attachment using its ID. The response includes a temporary download URL for the file, along with metadata like creation date, file type, and associated transaction. This endpoint is useful for accessing user-uploaded documents or receipts. ```bash curl -X GET "https://api.up.com.au/api/v1/attachments/4fcb7c00-5332-41bb-ae5a-26b66dda316b" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ``` -------------------------------- ### Retrieve a Specific Transaction by ID using cURL Source: https://context7.com/up-banking/api/llms.txt Fetches detailed information for a single transaction identified by its unique ID. This includes details like foreign currency amounts and round-up information. An API token is necessary for access. ```bash curl -X GET "https://api.up.com.au/api/v1/transactions/20f1a541-356b-4363-aeba-18e21661b8e5" \ -H "Authorization: Bearer up:yeah:YOUR_API_TOKEN" ```