Bud Financial
Bud Financial (formerly Bud, thisisbud.com) is a UK-based fintech infrastructure company providing AI-driven Open Banking aggregation, transaction enrichment, categorization, affordability assessment, and payment initiation APIs. The Bud platform unifies Open Banking connections to UK and EU ASPSPs behind a single REST API and layers AI/ML-powered enrichment, categorization, merchant identification, affordability scoring, income/expenditure analysis, and actionable financial insights on top of raw transaction data. Banks, lenders, and consumer fintechs use Bud for KYC/AML checks, lending decisions, money management, and embedded payments.
APIs
Bud Connect API
Open Banking aggregation API providing unified access to UK and EU ASPSP connections. Initiate consents through Bud's hosted Bud Connect gateway or build a native flow with the ...
Bud First-Party Ingestion API
Push your own first-party account and transaction data into the Bud platform for enrichment, categorization, and insights without requiring an Open Banking consent. Supports syn...
Bud Customers Platform API
Create, retrieve, batch-create, and manage end-user customer records on the Bud platform. Supports V1, V2, and V3 customer endpoints, idempotent identifiers, customer context co...
Bud Financial Data API
Retrieve enriched accounts, transactions, balances, and authorised payments. Bud's AI/ML enrichment engine attaches category, merchant, geolocation, and recurrence metadata to e...
Bud Enrichment API
Access Bud's enrichment resources: category models, category and merchant taxonomies, aggregated category and merchant totals, essential-spending statistics, and correction endp...
Bud Financial Insights API
Generate deep insights from transaction data: actionable balance, income, and spending insights; custom insight management; subscription and recurring-transaction detection; inc...
Bud Intelligent Search API
Beta intelligent search across transactions with AI-generated insights. Submit a natural language query, retrieve matching transactions and a derived narrative insight referenci...
Bud Affordability and Assess API
Pre-fill affordability forms and power lending decisions with structured income and expenditure breakdowns. Generate affordability reports (V1 and V2), drill into affordability ...
Bud Customer Characteristics API
Retrieve derived behavioural characteristics for a customer across credit card, loan, overdraft, and saver lenses. Designed to feed lending models and risk decisioning with expl...
Bud Goals and Budgets API
Manage savings goals (V2) and spending budgets (V1) for end customers. Create, retrieve, list, and delete goals, attach contributing transactions to a budget, and track progress...
Bud Payments API
Initiate authorised single payments, scheduled payments, and standing orders directly from a customer's bank account using Bud's PISP service. Either redirect users to a Bud-hos...
Bud Embedded Widgets API
Request signed URLs for Bud's embeddable frontend widgets - accounts, balances over time, financial calendar, insight summary, intelligent search, recurring and forecasted trans...
Collections
Pricing Plans
Rate Limits
FinOps
Bud Co Finops
FINOPSSemantic Vocabularies
API Governance Rules
Example Payloads
Resources
Sources
opencollection: 1.0.0
info:
name: 'Bud API Services: Documentation'
version: 2.10.10
items:
- info:
name: OAuth2
type: folder
items:
- info:
name: OAuth2
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v1/oauth/token
headers:
- name: Content-Type
value: ''
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: authorization
value: ''
body:
type: form-urlencoded
data: []
auth:
type: basic
username: '{{username}}'
password: '{{password}}'
docs: "This endpoint is used to create access and refresh tokens. \n\nThe access token is used as a bearer token to authenticate\
\ requests to Bud endpoints; \nthe refresh token is used to generate a new access token without the need to supply your\
\ client credentials again.\n\nThe access token usually expires after the `expires_in` time (in seconds) has elapsed.\
\ \nHowever this is not guaranteed, so it is recomended to integrate such as to handle the `401` response code and refresh\
\ the token when it this respon"
- info:
name: Create a Connection
type: folder
items:
- info:
name: Retrieve OB Providers
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/v1/open-banking/providers
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
params:
- name: types
value: ''
type: query
description: A comma separated list of Bud support provider types to be shown. If no filter is applied, all the providers
are returned.
- name: region
value: ''
type: query
description: A comma separated list of Bud regions to be shown. If no filter is applied, all the providers are returned.
- name: scopes
value: ''
type: query
description: A comma separated list of Bud ob scopes to be shown. If no filter is applied, all the providers are returned.
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'List the available account providers with their name, icon and maintenance status.
'
- info:
name: Retrieve Authorisation Gateway URL (v2)
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v2/open-banking/authorisation-gateway-url
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
- name: X-Customer-Secret
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Allow customers to authorise with, and connect to, a provider, using Bud’s __Bud Connect__. Bud Connect is a UI
component hosted by Bud that can be integrated into any mobile or web experience, and
allows your customers to connect to and authorise with their chosen provider, allowing Bud to pull their account information
using Bud''s AISP license.
Using the different configuration options that can be set through the request body you can personalize the experience
for your Customer. Please, refer'
- info:
name: Initiate Provider Authorisation
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v1/open-banking/authorisation-url
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
- name: X-Customer-Secret
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Request a new Open Banking authorisation url for a specific Customer and provider. This endpoint should be used
when using Bud as a Technical Service Provider(TSP). This means that Bud will be using your license (as a registered
Account Information Service Provider (AISP)). This will allow you to use your own interface to connect new account(s).
A generated consent has a 90 day expiry, to allow for re-authentication to extend this expiry the id of the customers
previous consent can be included '
- info:
name: Retrieve Authorisation URL
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/v1/open-banking/authorisation-url/:task_id
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
params:
- name: task_id
value: ''
type: path
description: Bud Task identifier returned from an async task for the requested action
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Check the status and get the result of an Initiate Provider Authorisation URL task. If the task is not yet completed,
the data element will be null.
Once the customer has successfully authorised with the ASPSP, Bud will create a task to fetch the relevant data from
the ASPSP. The task id created will be passed back within the supplied re-direct url. Please refer to the Check Connection
Status endpoint for updates on this fetching process using the task id provided in the redirect URL.
'
- info:
name: Submit Authorisation Codes
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v1/open-banking/authorisation-codes
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'When using Bud as a TSP (Technical Service Provider) and doing full app-to-app authorisation, the customer is returned
from the provider directly back to your app. Your app will then need to send all the query and hash fragment parameters
to Bud so that we can complete the connection.
Query and fragment parameters should be merged with query taking precedence. If you receive a request `/path?a=1#a=2&b=3`
then you should perform this request with `{"a":"1","b":"3"}`. Given the nature of the frag'
- info:
name: Submit Authorisation Codes V2
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v2/open-banking/authorisation-codes
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'When using Bud as a TSP (Technical Service Provider) and doing full app-to-app authorisation, the customer is returned
from the provider directly back to your app. Your app will then need to send all the query and hash fragment parameters
to Bud so that we can complete the connection.
Query and fragment parameters should be merged with query taking precedence. If you receive a request `/path?a=1#a=2&b=3`
then you should perform this request with `{"a":"1","b":"3"}`. Given the nature of the frag'
- info:
name: Retrieve Connection Status
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/v1/open-banking/connect/:connection_task_id
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
params:
- name: connection_task_id
value: ''
type: path
description: Unique identifier related to a specific connection task
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Check the status of an account connection task. If the task is not yet completed, the status will be shown as pending.
If the status is completed, then the data is ready to be ingested.
The __connection_task_id__ is provided as a parameter in the redirect url after the Customer has undergone a successful
authorisation with a relevant Open Banking provider.
'
- info:
name: Manage a Connection
type: folder
items:
- info:
name: Initiate Refresh
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v1/open-banking/refresh
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
- name: X-Customer-Secret
value: ''
- name: X-Customer-Ip-Address
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Instruct Bud to retrieve the latest account information for a customer. Refresh the accounts from a single provider
with an existing connection.
By default this task will retrieve transactions since the last pull of transactions less seven days. This can be overridden
using the `from` body parameter to a maximum of 90 days previously.
After initiating this long running process, make sure to check the status of the it till completion before trying to
access the Customer''s data or initiating ano'
- info:
name: Retrieve Refresh Status
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/v1/open-banking/refresh/:task_id
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
params:
- name: task_id
value: ''
type: path
description: Bud Task identifier returned from an async task for the requested action
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Check the status of an account information refresh task. If the task is not yet completed, the status will be shown
as pending.
If the status is completed, then the data is ready to be collected via the [Retrieve Financial Data](/reference/retrieve-financial-data)
endpoints.
Successful requests will include `step` (1-4) and associated `text` values to indicate the current progress of the refresh
task.
Make sure to check the status of the task till completion before trying to access the Customer'
- info:
name: Initiate Refresh V2
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/open-banking/v2/refresh
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
- name: X-Customer-Secret
value: ''
- name: X-Customer-Ip-Address
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Instruct Bud to retrieve the latest account information for a customer. Refresh the accounts from all providers
with an existing connection.
By default this task will retrieve transactions since the last pull of transactions less seven days. This can be overridden
using the `from` body parameter to a maximum of 90 days previously.
On completion of this task Bud will send a webhook to your configured endpoint including details of the refresh completed
and the status of the refresh for each provi'
- info:
name: Retrieve Refresh Status V2
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/open-banking/v2/refresh/:task_id
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
params:
- name: task_id
value: ''
type: path
description: Bud Task identifier returned from an async task for the requested action
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: "Check the status of an account information refresh task. If the task is not yet completed, the status will be shown\
\ as pending. \nIf the status is completed, then the data is ready to be collected via the [Retrieve Financial Data](/reference/retrieve-financial-data)\
\ endpoints. \n\nTo monitor the status of a refresh task we provide two methods. The preferred approach is to utilise\
\ the webhook functionality within the Bud platform where Bud will send a webhook to your configured endpoint when the\
\ tas"
- info:
name: Retrieve Customer Consents
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/v1/open-banking/account-access-consents
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
- name: X-Customer-Secret
value: ''
params:
- name: status
value: ''
type: query
description: By default this endpoint only returns `active` Authorised connections. To retrieve `all` consents, add
this query param with the value of `all`. To retrieve consents where reconfirmation is required add this query param
with the value of `reconfirm_due`.
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Retrieve the list of all available Open Banking consents granted by the customer.
> 📘 Note:
>
> For more information about Consents, please refer to our [guide](https://docs.thisisbud.com/docs/consents).
'
- info:
name: Initiate Revoke Consent
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v1/open-banking/account-access-consent/revoke
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Start a task to remove consent and remove Bud’s ability to download further information for a specified customer
account.
This will revoke `all` the consents for the specified provider associated to the customer.
To check the status of this task, use the `Retrieve Revoke Consent Status` using the returned `task_id`.
Alternatively, there is a `Open Banking Consent Revoked` webhook that will trigger per consent successfully revoked.
As such this task could generate multiple of these.
'
- info:
name: Retrieve Revoke Consent Status
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/v1/open-banking/account-access-consent/revoke/:task_id
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
params:
- name: task_id
value: ''
type: path
description: Bud Task identifier returned from an async task for the requested action
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Check the status and result of a Revoke Consent task.
Use the `task_id` taken from a successful `Initiate Revoke Consent` request.
'
- info:
name: Reconfirm Consent
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v1/open-banking/account-access-consents/:consent_id/reconfirm
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: X-Customer-Id
value: c3339af9-2426-44d4-9c4d-ddb8fd281e23
- name: X-Customer-Idempotent-Identifier
value: ''
- name: X-Customer-Secret
value: ''
- name: X-Customer-Ip-Address
value: ''
params:
- name: consent_id
value: ''
type: path
description: Bud Consent identifier
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Reconfirm a customer''s consent to extend the expiration date by 90 days. If the provider requires SCA authentication
or the consent status is not showing "Authorised" or the consent is expired, the `reconnect_required` flag will show
as true.
If true, you should make a call to the Retrieve Authoirsation Gateway URL endpoint with the `reconfirm_consent` flag
set to true to direct your customer to the reconfirm consent journey.
If false, the consent has been extended.
> 📘 Note:
>
> This endpoint'
- info:
name: Ingest First Party Data
type: folder
items:
- info:
name: Ingest Accounts
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v2/ingest/accounts
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: Content-Type
value: ''
- name: X-Disable-Synchronous
value: ''
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint is for pushing customer(s) account(s) and balance(s) through the Bud architecture.
It can ingest data for multiple customers per request.
By default, this is synchronous and will report any issue with the data in the response.
If a ''X-Disable-Synchronous'' header is present and set to true, the process will create a task in the background and
be entirely ''non-blocking''.
In this scenario, the response metadata will contain a Task ID and the next URL which would then be used for findi'
- info:
name: Close Accounts
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/ingestion/v3/accounts/close
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Close one or more accounts for a given customer. This will set the account status to closed and set the `closed_at`
field on the __Retrieve Accounts V3__ response.
If an account is already closed, then the request will be ignored, and the `closed_at` field will remain unchanged.
If a 400 response is returned, any accountIDs or customerIDs __not__ defailted in the error response will have been
closed succesfully.
'
- info:
name: Reopen Accounts
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/ingestion/v3/accounts/reopen
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Reopen one or more accounts for a given customer. This will remove the account status and `closed_at` fields on
the __Retrieve Accounts V3__ response.
If an account is already open, then the request will be ignored and the account is unchanged.
If a 400 response is returned, any accountIDs or customerIDs __not__ defailted in the error response will have been
reopened succesfully.
'
- info:
name: Ingest Transactions
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/v2/ingest/transactions
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
- name: Content-Type
value: ''
- name: X-Disable-Synchronous
value: ''
- name: X-Generate-Transaction-IDs
value: 'true'
- name: X-Bud-Categorisation-Model
value: ''
- name: X-No-Customer
value: 'true'
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint should be used to ingest customer transactions into the Bud Platform.
By default, this endpoint is synchronous but can be easily switched to asynchronous using the ''X-Disable-Synchronous''
header.
Please refer to the following [guide](https://docs.thisisbud.com/docs/setup_data_enrichment) to ensure you set up First
Party Ingestion
correctly for your organisation based on your use case.
We accept a maximum of 1.000 transactions. If this threshold is not respected, a 400 error is re'
- info:
name: Book Transactions
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/ingestion/v3/transactions/book
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'The Book Transactions endpoint, allows transactions ingested with a `status` of `pending` to set their status to
`booked`.
The date_time field indicates the timestamp when the transaction booked. This is reflected in the `date_time` of __Retrieve
Transactions V2__.
'
- info:
name: Decline Transactions
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/ingestion/v3/transactions/decline
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'The Decline Transactions endpoint, allows transactions ingested with a `status` of `pending` to set their status
to `declined`.
The date_time field indicates the timestamp when the transaction declined. This is reflected in the `date_time` of __Retrieve
Transactions V2__.
'
- info:
name: Retrieve Ingestion Task Status
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/ingestion/v3/tasks/:task_id
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
params:
- name: task_id
value: ''
type: path
description: Bud Task identifier returned from an async task for the requested action
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Check the status of an ingest request. Please note that this works for both the Ingest Transactions endpoints And
Ingest Accounts endpoints.
Reports status of the ingestion task, with details for each subtask (1 per customer).
'
- info:
name: Manage Customers
type: folder
items:
- info:
name: Retrieve Customers V3
type: http
http:
method: GET
url: https://api-sandbox.thisisbud.com/platform/v3/customers
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
params:
- name: date_from
value: '2022-05-28T00:00:00Z'
type: query
description: 'Date (RFC3339) to filter customers created on or after which. To maintain backwards compatibility, dates
in the format (YYYY-MM-DD) can also be used and will be assumed to be UTC.
'
- name: date_to
value: '2022-05-29T00:00:00Z'
type: query
description: 'Date (RFC3339) to filter customers created on or before which. To maintain backwards compatibility,
dates in the format (YYYY-MM-DD) can also be used and will be assumed to be UTC. Uses the current date by default.
'
- name: page_size
value: ''
type: query
description: The number of results to return per page. Defaults to 200.
- name: page_token
value: ''
type: query
description: 'The token required to fetch a specific page of results. Provided by the next_page_token field in the
previous request.
'
- name: idempotent_identifier
value: ''
type: query
description: 'Filter by the internal client identifier provided in the `client_metadata` object when creating the
customer in __Create Customer V3__. Only one customer will be returned if one is found with the given identifier.
'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint is used to list customers associated with the current project.
Customers are listed ordered by their ID. Deleted customers will not be included in the list.
The list of customers can be filtered by creation date with the `date_from` and `date_to` query parameters, which expect
dates in the RFC3339 format.
If more results pages are available, the response metadata object will contain a `next_page_token` field which can
be used to fetch the next page of results. The token should '
- info:
name: Create Customer V3
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/platform/v3/customers
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint is used to create a new Customer in order for them to consume the Bud services.
When we refer to a Customer, we''re talking about the end-user of yours and Bud''s technology. Customer entities in
Bud have unique identifiers and this is used to store the customer data on the Bud platform.
For more information on how to manage your Bud Customers, please, refer to the following [guide](https://docs.thisisbud.com/docs/setup-customers)
> 📘 Note:
>
> By specifying a `client_metadata.id'
- info:
name: Create Customers V3 (Batch)
type: http
http:
method: POST
url: https://api-sandbox.thisisbud.com/platform/v3/customers/batch
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint is used to create a batch of new Customers in order for them to consume the Bud services.
For more information on Customers in the Bud platform, please refer to our handy [guide](https://docs.thisisbud.com/docs/setup-customers).
'
- info:
name: Remove Customer V3
type: http
http:
method: DELETE
url: https://api-sandbox.thisisbud.com/platform/v3/customers/:customer_id
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
params:
- name: customer_id
value: ''
type: path
description: The customer identifier.
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: /v1/oauth/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: This endpoint is used to delete an existing Customer. Calling this endpoint initiates deleting all data relating
to a customer returning a task id that can be used to check the status of the delete task.
- info:
name: Remove Customer By Idempotent Identifier V3
type: http
http:
method: DELETE
url: https://api-sandbox.thisisbud.com/platform/v3/customers/idempotent-identifier/:customer_idempotent_identifier
headers:
- name: X-Client-Id
value: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
params:
- name: customer_idempotent_identifier
value: ''
type: path
description: The internal client identifier, provided in the client_metadata object when creating the customer in
Create Customer V3.
# --- truncated at 32 KB (203 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bud-co/refs/heads/main/apis.yml