Bud Financial Limited Client Secrets API

Create, list, and revoke Client Secrets used, alongside the `client_id`, to authenticate to the Bud platform via OAuth2.

Operations 3

GET /v1/client-secrets List Client Secrets #
POST /v1/client-secrets Create Client Secret #
DELETE /v1/client-secrets/{secret_id} Revoke Client Secret #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thisisbud:thisisbud-client-secrets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thisisbud-client-secrets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Thisisbud Client Secrets API
  x-logo:
    url: data:image/png;base64,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
  version: '1.0'
  description: 'Operations tagged Client Secrets across 2 of this provider''s published API definitions: thisisbud-openapi-openapi.yml, thisisbud-openapi-us-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-sandbox.thisisbud.com
- url: https://api-sandbox-us.thisisbud.com
tags:
- name: Client Secrets
  x-displayName: Client Secrets
  description: Create, list, and revoke Client Secrets used, alongside the `client_id`, to authenticate to the Bud platform via OAuth2.
paths:
  /v1/client-secrets:
    get:
      security:
      - OAuth2: []
      tags:
      - Client Secrets
      summary: List Client Secrets
      description: 'This endpoint is used to retrieve the list of Client Secrets associated with a given set of API Credentials.


        Note that the `client_secret` value itself is never returned by this endpoint - it is only available in the response to the __Create Client Secret__ request at the time it is created.'
      operationId: v1_client_secrets_get
      parameters:
      - $ref: '#/components/parameters/ClientId'
      - in: query
        name: page
        required: false
        schema:
          type: integer
          default: 0
        description: Page number (zero based) to be retrieved.
      - in: query
        name: page_size
        required: false
        schema:
          type: integer
          default: 50
          maximum: 50
        description: Number of elements per page to be retrieved. Maximum 50.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListClientSecretsResponse'
              example:
                operation_id: v1_client_secrets_get
                data:
                - client_secret_id: 58d1a10d-840d-48b8-bb87-c2bf6a30be92
                  label: Production 1 secret
                  created_at: 2023-01-21T06:11:57+0000
                - client_secret_id: fd3ca55e-0b17-482d-8866-6505cb2c5faf
                  label: Production 2 secret
                  created_at: 2023-01-24T08:12:57+0000
                metadata:
                  page: 0
                  page_size: 50
                  results: 2
        '401':
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
              example:
                operation_id: v1_client_secrets_get
                code_id: unauthorised
                message: Unauthorised.
        '405':
          description: The request uses an unexpected HTTP method.
        5XX:
          description: An unexpected error occurred on the server side.
    post:
      security:
      - OAuth2: []
      tags:
      - Client Secrets
      summary: Create Client Secret
      description: 'This endpoint is used to create a new Client Secret for a given set of API Credentials.


        The `client_secret` value is only ever returned in the response to this request. Make sure to store it securely, as it cannot be retrieved again - if it is lost, a new Client Secret must be created.


        The returned `client_secret`, together with the existing `client_id` (`X-Client-Id`), can be used to authenticate via the `/v1/oauth/token` endpoint.


        A single `client_id` can have multiple active Client Secrets at once, allowing clients to rotate secrets without downtime. The `client_secret_id` returned alongside the `client_secret` is used only to manage (list or revoke) that specific secret - it is not itself used to authenticate.


        > 📘 Note:


        > For guidance on rotating Client Secrets, please refer to our guide.'
      operationId: v1_client_secrets_post
      parameters:
      - $ref: '#/components/parameters/ClientId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateClientSecretRequest'
            example:
              label: Secret 1
      responses:
        '201':
          description: The resource has been successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateClientSecretResponse'
              example:
                operation_id: v1_client_secrets_post
                data:
                  client_secret_id: 1e7c54d0-b996-4dff-9e46-f579de3018cb
                  client_secret: 04291d4aa16a455ca74b4ad492b3b52e
        '400':
          description: The request contains an invalid payload, or is missing/invalid required headers such as `client_id`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
              example:
                operation_id: v1_client_secrets_post
                code_id: failed_validation
                message: Failed validation.
                errors:
                  client_id: client_id is a required field
        '401':
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
              example:
                operation_id: v1_client_secrets_post
                code_id: unauthorised
                message: Unauthorised.
        '404':
          description: The request contains a `client_id` which could not be found.
        '405':
          description: The request uses an unexpected HTTP method.
        5XX:
          description: An unexpected error occurred on the server side.
    servers:
    - url: https://api-sandbox.thisisbud.com
  /v1/client-secrets/{secret_id}:
    delete:
      security:
      - OAuth2: []
      tags:
      - Client Secrets
      summary: Revoke Client Secret
      description: 'This endpoint is used to revoke a single Client Secret associated with a given set of API Credentials.


        Once revoked, the `client_secret` can no longer be used to authenticate via the `/v1/oauth/token` endpoint.


        > 📘 Note:


        > For guidance on rotating Client Secrets, please refer to our guide.'
      operationId: v1_client_secret_revoke
      parameters:
      - in: path
        name: secret_id
        required: true
        schema:
          type: string
          format: uuid
        description: The `client_secret_id` of the Client Secret to revoke, as returned by the __List Client Secrets__ and __Create Client Secret__ endpoints.
      - $ref: '#/components/parameters/ClientId'
      responses:
        '204':
          description: The request was successfully processed and no content is returned.
        '400':
          description: The request contains an invalid `secret_id`, or is missing/invalid required headers such as `client_id`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
              example:
                operation_id: v1_client_secret_revoke
                code_id: failed_validation
                message: Failed validation.
                errors:
                  client_id: Invalid client secret Id, must be UUID.
        '401':
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
              example:
                operation_id: v1_client_secret_revoke
                code_id: unauthorised
                message: Unauthorised.
        '404':
          description: The resource was not found.
        '405':
          description: The request uses an unexpected HTTP method.
        5XX:
          description: An unexpected error occurred on the server side.
    servers:
    - url: https://api-sandbox.thisisbud.com
components:
  schemas:
    ServerErrorResponse:
      title: Server Error Response
      type: object
      required:
      - operation_id
      - code_id
      - message
      properties:
        operation_id:
          $ref: '#/components/schemas/OperationId'
        code_id:
          type: string
          description: A descriptive enough string that is linked to the reason for the error.
        message:
          type: string
          description: An actual user friendly error message.
        errors:
          anyOf:
          - $ref: '#/components/schemas/Error'
          - $ref: '#/components/schemas/Errors'
    OperationId:
      title: Operation Id Field
      type: string
      description: A unique identifier/reference associated with a given endpoint/operation
    Errors:
      title: Array of Error Object
      description: Contains a list of error messages
      type: object
      additionalProperties:
        type: array
        items:
          type: string
    ClientSecretListItem:
      title: Client Secret List Item
      type: object
      required:
      - client_secret_id
      - label
      - created_at
      properties:
        client_secret_id:
          type: string
          format: uuid
          description: The unique identifier of the Client Secret.
        label:
          type: string
          description: Descriptive label used to recognise the Client Secret.
        created_at:
          type: string
          description: Date and time at which the Client Secret was created (ISO 8601).
    Error:
      title: Error Object
      type:
      - object
      - 'null'
      description: Contains a field specific error message
      additionalProperties:
        type: string
    CreateClientSecretRequest:
      title: Create Client Secret Request
      type: object
      required:
      - label
      properties:
        label:
          type: string
          description: Descriptive label used to recognise the Client Secret.
    CreateClientSecretResponse:
      title: Create Client Secret Response
      type: object
      required:
      - operation_id
      - data
      properties:
        operation_id:
          type: string
          enum:
          - v1_client_secrets_post
        data:
          type: object
          properties:
            client_secret_id:
              type: string
              format: uuid
              description: The unique identifier of the Client Secret.
            client_secret:
              type: string
              description: The Client Secret value. This is only ever returned once, at the time of creation.
    ListClientSecretsResponse:
      title: List Client Secrets Response
      type: object
      required:
      - operation_id
      - data
      properties:
        operation_id:
          type: string
          enum:
          - v1_client_secrets_get
        data:
          type: array
          items:
            $ref: '#/components/schemas/ClientSecretListItem'
        metadata:
          type: object
          required:
          - page
          - page_size
          - results
          properties:
            page:
              type: integer
              description: Requested page number (zero based).
            page_size:
              type: integer
              description: Requested number of elements per page.
            results:
              type: integer
              description: Total number of results returned in this page.
    BadRequestResponse:
      title: Bad Request Response
      type: object
      description: Expected response structure
      required:
      - operation_id
      - code_id
      - message
      - errors
      properties:
        operation_id:
          $ref: '#/components/schemas/OperationId'
        code_id:
          type: string
          description: A descriptive enough string that is linked to the reason for the error.
        message:
          type: string
        errors:
          anyOf:
          - $ref: '#/components/schemas/Error'
          - $ref: '#/components/schemas/Errors'
  parameters:
    ClientId:
      in: header
      name: X-Client-Id
      schema:
        type: string
      required: true
      description: The API Client Identifier (Service Application Identifier).
      example: 8711bbef-b357-4c2d-97ca-0d9df4206e9a
  securitySchemes:
    Basic:
      type: http
      scheme: basic
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /v1/oauth/token
          scopes: {}
      description: "\nAuthentication flow:\n\n1. Perform OAuth2 Client Credentials authentication using API Credentials (`client_id`,`client_secret`) to obtain an `access_token` against `/v1/oauth/token` endpoint,\n2. Use `access_token` as Bearer Authorisation for every other API request,\n3. Include `X-Client-Id` (=client_id) within the header of every API request,\n4. Note that some of the requests may also require `X-Customer-Id` to be provided within the request header.\n\n### Examples\nObtain OAuth2 `access_token` and `refresh_token` using `grant_type=client_credentials` and HTTP Basic auth header\n\n```\ncurl --basic --user {{client_id}}:{{client_secret}} \\\n  -X POST https://api-sandbox.thisisbud.com/v1/oauth/token \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d grant_type=client_credentials\n```\n\nSuccessful response:\n```\n{\n  \"operation_id\": \"oauth_token_post\",\n  \"data\": {\n    \"access_token\": \"dd0c17e3fd6d2ce94aa091257a3ea393b4f9b5cf3d3e998f07dc9826da86ff15\",\n    \"token_type\": \"bearer\",\n    \"expires_in\": 3600,\n    \"refresh_token\": \"fac32cca7559d9f6e8f1dfe9a99c71fa1dcfeb482bedf287d7934d2667ae54b3\"\n  }\n}\n```\n\nRefresh `access_token` token using `refresh_token` against `/v1/oauth/token` endpoint with `grant_type=refresh_token`\n\n```\ncurl -X POST \\\n  https://api-sandbox.thisisbud.com/v1/oauth/token \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -H 'X-Client-Id: {{client_id}}' \\\n  -d 'grant_type=refresh_token&refresh_token={{refresh_token}}'\n```\n\nSuccessful response:\n```\n{\n    \"operation_id\": \"oauth_token_post\",\n    \"data\": {\n        \"access_token\": \"cc0c17e3fd6d2ce94aa091257a3ea393b4f9b5cf3d3e998f07dc9826da86ff94\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 3600,\n        \"refresh_token\": \"ffc30cca7559d9f6e8f1dfe9a99c71fa1dcfeb482bedf287d7934d2667ae54b3\"\n    }\n}\n```\n"
x-refined-from:
- thisisbud-openapi-openapi.yml
- thisisbud-openapi-us-openapi.yml
x-tagGroups:
- name: ''
  tags:
  - OAuth2
  - Client Secrets
  - Authentication
- name: ''
  tags:
  - Create a Connection
  - Manage a Connection
  - Ingest First Party Data
  - Connect API
- name: ''
  tags:
  - Manage Customers
  - Customers API
- name: ''
  tags:
  - Enrichment Resources
  - Enrichment Totals
  - Enrichment API
- name: ''
  tags:
  - Retrieve Financial Data
  - Manage Financial Data
  - Manage Transaction Labels
  - Correct Financial Data
  - Financial Data API
- name: ''
  tags:
  - Spending Budgets
  - Savings Goals V2
  - Goals API
- name: ''
  tags:
  - Regular Payments Finder
  - Income Finder
  - Loan Finder
  - Debt Collection Finder
  - Product Finder
  - Subscription Finder
  - Smart Finders API
- name: ''
  tags:
  - Transaction Search
  - Intelligent Search API
- name: ''
  tags:
  - Customer Applications
  - Customer Application Links
  - Aggregation Buckets
  - Retrieve Affordability Report V2
  - Retrieve Affordability Report
  - Retrieve Affordability Risk Insights
  - Assess API
- name: ''
  tags:
  - Initiate Payment - Bud license
  - Initiate Payment - Client license
  - Manage Payments
  - Payments API
- name: ''
  tags:
  - Retrieve Customer Characteristics
  - Characteristics API
- name: ''
  tags:
  - Retrieve Actionable Insights
  - Custom Insights
  - Frontend Widgets
  - Insights API