C. Hoare & Co. Offers API

The Offers API from C. Hoare & Co. — 2 operation(s) for offers.

Operations 2

GET /accounts/{AccountId}/offers Get Offers #
GET /offers Get Offers #

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/c-hoare-and-co-offers-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

c-hoare-and-co-offers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Account and Transaction API Specification Offers API
  description: OpenAPI for Account and Transaction API Specification
  termsOfService: https://www.openbanking.org.uk/terms
  contact:
    name: Service Desk
    email: ServiceDesk@openbanking.org.uk
  license:
    name: open-licence
    url: https://www.openbanking.org.uk/open-licence
  version: v3.1.0
servers:
- url: https://api.hoaresbank.co.uk/open-banking/v3.1/aisp
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Offers
paths:
  /accounts/{AccountId}/offers:
    get:
      tags:
      - Offers
      summary: Get Offers
      operationId: GetAccountsAccountIdOffers
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdOffersRead'
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '404':
          $ref: '#/components/responses/404ErrorResponse'
        '405':
          $ref: '#/components/responses/405ErrorResponse'
        '406':
          $ref: '#/components/responses/406ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - PSUOAuth2Security:
        - accounts
  /offers:
    get:
      tags:
      - Offers
      summary: Get Offers
      operationId: GetOffers
      parameters:
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/components/responses/200OffersRead'
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '404':
          $ref: '#/components/responses/404ErrorResponse'
        '405':
          $ref: '#/components/responses/405ErrorResponse'
        '406':
          $ref: '#/components/responses/406ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - PSUOAuth2Security:
        - accounts
components:
  schemas:
    AccountId:
      description: A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.
      type: string
      minLength: 1
      maxLength: 40
    Links:
      type: object
      description: Links relevant to the payload
      properties:
        Self:
          type: string
          format: uri
        First:
          type: string
          format: uri
        Prev:
          type: string
          format: uri
        Next:
          type: string
          format: uri
        Last:
          type: string
          format: uri
      additionalProperties: false
      required:
      - Self
    Meta:
      title: MetaData
      type: object
      description: Meta Data relevant to the payload
      properties:
        TotalPages:
          type: integer
          format: int32
        FirstAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
        LastAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
      additionalProperties: false
    OBError1:
      type: object
      properties:
        ErrorCode:
          description: Low level textual error code, e.g., UK.OBIE.Field.Missing
          type: string
          minLength: 1
          maxLength: 128
        Message:
          description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future''

            OBIE doesn''t standardise this field'
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
          type: string
      required:
      - ErrorCode
      - Message
      additionalProperties: false
      minProperties: 1
    OBExternalOfferType1Code:
      description: Offer type, in a coded form.
      type: string
      enum:
      - BalanceTransfer
      - LimitIncrease
      - MoneyTransfer
      - Other
      - PromotionalRate
    OBErrorResponse1:
      description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
      type: object
      properties:
        Code:
          description: High level textual error code, to help categorize the errors.
          type: string
          minLength: 1
          maxLength: 40
        Id:
          description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.
          type: string
          minLength: 1
          maxLength: 40
        Message:
          description: Brief Error message, e.g., 'There is something wrong with the request parameters provided'
          type: string
          minLength: 1
          maxLength: 500
        Errors:
          items:
            $ref: '#/components/schemas/OBError1'
          type: array
          minItems: 1
      required:
      - Code
      - Message
      - Errors
      additionalProperties: false
    OBActiveOrHistoricCurrencyAndAmount:
      description: Amount of money of the cash balance after a transaction entry is applied to the account..
      type: object
      properties:
        Amount:
          $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
        Currency:
          description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
          type: string
          pattern: ^[A-Z]{3,3}$
      required:
      - Amount
      - Currency
      additionalProperties: false
    ISODateTime:
      description: "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
      type: string
      format: date-time
    OBActiveCurrencyAndAmount_SimpleType:
      description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
      type: string
      pattern: ^\d{1,13}\.\d{1,5}$
    OBOffer1:
      type: object
      properties:
        AccountId:
          $ref: '#/components/schemas/AccountId'
        OfferId:
          description: A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner.
          type: string
          minLength: 1
          maxLength: 40
        OfferType:
          $ref: '#/components/schemas/OBExternalOfferType1Code'
        Description:
          description: Further details of the offer.
          type: string
          minLength: 1
          maxLength: 500
        StartDateTime:
          description: "Date and time at which the offer starts.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        EndDateTime:
          description: "Date and time at which the offer ends.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        Rate:
          description: Rate associated with the offer type.
          type: string
          minLength: 1
          maxLength: 10
          pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$
        Value:
          description: Value associated with the offer type.
          type: integer
          format: int32
        Term:
          description: Further details of the term of the offer.
          type: string
          minLength: 1
          maxLength: 500
        URL:
          description: URL (Uniform Resource Locator) where documentation on the offer can be found
          type: string
          minLength: 1
          maxLength: 256
        Amount:
          $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
        Fee:
          $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
      required:
      - AccountId
      additionalProperties: false
    OBReadOffer1:
      type: object
      properties:
        Data:
          type: object
          properties:
            Offer:
              items:
                $ref: '#/components/schemas/OBOffer1'
              type: array
          additionalProperties: false
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
      required:
      - Data
      - Links
      - Meta
      additionalProperties: false
  responses:
    401ErrorResponse:
      description: Unauthorized
    200AccountsAccountIdOffersRead:
      description: Offers Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBReadOffer1'
    429ErrorResponse:
      description: Too Many Requests
      headers:
        Retry-After:
          description: Number in seconds to wait
          schema:
            type: integer
    500ErrorResponse:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    405ErrorResponse:
      description: Method Not Allowed
    400ErrorResponse:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    200OffersRead:
      description: Offers Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBReadOffer1'
    406ErrorResponse:
      description: Not Acceptable
    404ErrorResponse:
      description: Not found
    403ErrorResponse:
      description: Forbidden
  parameters:
    x-fapi-customer-ip-address-Param:
      in: header
      name: x-fapi-customer-ip-address
      required: false
      description: The PSU's IP address if the PSU is currently logged in with the TPP.
      schema:
        type: string
    AccountId:
      name: AccountId
      in: path
      description: AccountId
      required: true
      schema:
        type: string
    x-fapi-interaction-id-Param:
      in: header
      name: x-fapi-interaction-id
      required: false
      description: An RFC4122 UID used as a correlation id.
      schema:
        type: string
    x-fapi-financial-id-Param:
      in: header
      name: x-fapi-financial-id
      required: true
      description: The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.
      schema:
        type: string
    AuthorizationParam:
      in: header
      name: Authorization
      required: true
      description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    x-fapi-customer-last-logged-time-Param:
      in: header
      name: x-fapi-customer-last-logged-time
      required: false
      description: "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC"
      schema:
        type: string
        pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-customer-user-agent-Param:
      in: header
      name: x-customer-user-agent
      description: Indicates the user-agent that the PSU is using.
      required: false
      schema:
        type: string
  securitySchemes:
    PSUOAuth2Security:
      type: oauth2
      description: OAuth flow, it is required when the PSU needs to perform SCA with the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU
      flows:
        authorizationCode:
          authorizationUrl: https://authserver.example/authorization
          tokenUrl: https://authserver.example/token
          scopes:
            accounts: Ability to read Accounts information
    TPPOAuth2Security:
      type: oauth2
      description: TPP client credential authorisation flow with the ASPSP
      flows:
        clientCredentials:
          tokenUrl: https://authserver.example/token
          scopes:
            accounts: Ability to read Accounts information