Triodos Bank UK Token Endpoint API

The Token Endpoint provides and revokes access tokens and refresh tokens.

Operations 2

POST /{tenant}/v1/token Get token #
POST /{tenant}/v1/token/revoke Revoke token #

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/triodos-bank-uk-token-endpoint-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

triodos-bank-uk-token-endpoint-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Triodos Auth service Token Endpoint API
  description: Triodos Auth service
  termsOfService: https://www.triodos.com
  contact:
    name: Triodos Support
    url: https://www.triodos.com
    email: info@triodos.com
  license:
    name: Creative Commons Attribution 4.0 International Public License
    url: https://creativecommons.org/licenses/by/4.0/
  version: '1.0'
servers:
- url: https://xs2a-sandbox.triodos.com/auth
  description: Triodos Auth Sandbox
tags:
- name: Token Endpoint
  description: The Token Endpoint provides and revokes access tokens and refresh tokens.
  externalDocs:
    description: OpenID Connect Core 1.0 - Chapter 3.1.3 Token Endpoint
    url: https://openid.net/specs/openid-connect-core-1_0.html
paths:
  /{tenant}/v1/token:
    post:
      tags:
      - Token Endpoint
      summary: Get token
      description: To obtain an Access Token and a Refresh Token, the RP (Client) sends a Token Request to the Token Endpoint to obtain a Token Response, as described in Section 3.2 of OAuth 2.0.
      operationId: token
      parameters:
      - name: Authorization
        in: header
        description: Client secret basic authentication.
        required: true
        schema:
          type: string
      - name: tenant
        in: path
        description: Branch of the request.
        required: true
        schema:
          type: string
          enum:
          - uk
          - nl
          - be_fr
          - be_nl
      requestBody:
        content:
          '*/*':
            schema:
              required:
              - grant_type
              type: object
              properties:
                redirect_uri:
                  type: string
                  description: Must be identical to the "redirect_uri" parameter that was included in the authorization request. Not needed when requesting a refresh token.
                code:
                  type: string
                  description: The authorization code received from the authorization server. Not needed when requesting a refresh token.
                refresh_token:
                  type: string
                  description: The refresh token received from the authorization server. Not needed when using an authorization code.
                grant_type:
                  type: string
                  description: Specify "authorization_code" when an authorization code is provided or "refresh_token" when a refresh token is provided.
                  enum:
                  - IMPLICIT
                  - AUTHORIZATION_CODE
                  - REFRESH_TOKEN
                  - PASSWORD
                  - CLIENT_CREDENTIALS
                  - JWT_BEARER
                code_verifier:
                  type: string
                  description: Client provided code verifier for additional challenge-response verification, see RFC7636 for more information. Not needed when requesting a refresh token.
      responses:
        '200':
          description: After receiving and validating a valid and authorized Token Request from the Client, the Authorization Server returns a successful response that includes an ID Token, an Access Token and a Refresh Token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OIDCClientInformation'
        '400':
          description: unsupported_grant_type, invalid_request, invalid_grant or unauthorized_client
  /{tenant}/v1/token/revoke:
    post:
      tags:
      - Token Endpoint
      summary: Revoke token
      description: The client requests the revocation of a particular token by making an HTTP POST request to the token revocation endpoint URL. See RFC7009 for more information.
      operationId: tokenRevocation
      parameters:
      - name: Authorization
        in: header
        description: Client secret basic authentication.
        required: true
        schema:
          type: string
      - name: tenant
        in: path
        description: Branch of the request.
        required: true
        schema:
          type: string
          enum:
          - uk
          - nl
          - be_fr
          - be_nl
      requestBody:
        content:
          '*/*':
            schema:
              required:
              - token
              type: object
              properties:
                token:
                  type: string
                  description: The token that the client wants to get revoked.
                token_type_hint:
                  type: string
                  description: A hint about the type of the token submitted for revocation.
      responses:
        '200':
          description: If the request is technically correct, regardless of the token was actually found or revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OIDCClientInformation'
        '400':
          description: unauthorized_client
        '401':
          description: access_denied
components:
  schemas:
    Secret:
      type: object
      properties:
        value:
          type: string
        expirationDate:
          type: string
          format: date-time
        sha256:
          type: string
          format: byte
        valueBytes:
          type: string
          format: byte
    SoftwareID:
      type: object
      properties:
        value:
          type: string
    TokenTypeURI:
      type: object
      properties:
        uri:
          type: string
          format: uri
    HashAlgorithm:
      type: object
      properties:
        value:
          type: string
    ClientRegistrationType:
      type: object
      properties:
        value:
          type: string
    JWEAlgorithm:
      type: object
      properties:
        name:
          type: string
        requirement:
          type: string
          enum:
          - REQUIRED
          - RECOMMENDED
          - OPTIONAL
    KeyType:
      type: object
      properties:
        value:
          type: string
        requirement:
          type: string
          enum:
          - REQUIRED
          - RECOMMENDED
          - OPTIONAL
    AuthorizationDetail:
      type: object
      properties:
        identifier:
          $ref: '#/components/schemas/Identifier'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Action'
        type:
          $ref: '#/components/schemas/AuthorizationType'
        locations:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        dataTypes:
          type: array
          items:
            $ref: '#/components/schemas/DataType'
        privileges:
          type: array
          items:
            $ref: '#/components/schemas/Privilege'
    ClientID:
      type: object
      properties:
        value:
          type: string
    Identifier:
      type: object
      properties:
        value:
          type: string
    ClientAuthenticationMethod:
      type: object
      properties:
        value:
          type: string
    Action:
      type: object
      properties:
        value:
          type: string
    JWTClaimsSet:
      type: object
      properties:
        claims:
          type: object
          additionalProperties:
            type: object
        expirationTime:
          type: string
          format: date-time
        issuer:
          type: string
        subject:
          type: string
        audience:
          type: array
          items:
            type: string
        notBeforeTime:
          type: string
          format: date-time
        issueTime:
          type: string
          format: date-time
        jwtid:
          type: string
    Location:
      type: object
      properties:
        value:
          type: string
        uri:
          type: string
          format: uri
    Value:
      type: object
      properties:
        value:
          type: string
    JWSHeader:
      type: object
      properties:
        customParams:
          type: object
          additionalProperties:
            type: object
        parsedBase64URL:
          $ref: '#/components/schemas/Base64URL'
        jwk:
          $ref: '#/components/schemas/JWK'
        algorithm:
          $ref: '#/components/schemas/JWSAlgorithm'
        base64URLEncodePayload:
          type: boolean
        includedParams:
          uniqueItems: true
          type: array
          items:
            type: string
        keyID:
          type: string
        jwkurl:
          type: string
          format: uri
        x509CertURL:
          type: string
          format: uri
        x509CertThumbprint:
          $ref: '#/components/schemas/Base64URL'
        x509CertSHA256Thumbprint:
          $ref: '#/components/schemas/Base64URL'
        x509CertChain:
          type: array
          items:
            $ref: '#/components/schemas/Base64'
        type:
          $ref: '#/components/schemas/JOSEObjectType'
        contentType:
          type: string
        criticalParams:
          uniqueItems: true
          type: array
          items:
            type: string
    GrantType:
      type: object
      properties:
        value:
          type: string
        shortName:
          type: string
        scopeRequirementInTokenRequest:
          type: string
          enum:
          - REQUIRED
          - OPTIONAL
          - NOT_ALLOWED
        requestParameterNames:
          uniqueItems: true
          type: array
          items:
            type: string
    JOSEObjectType:
      type: object
      properties:
        type:
          type: string
    Base64URL:
      type: object
    OIDCClientInformation:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/ClientID'
        metadata:
          $ref: '#/components/schemas/ClientMetadata'
        secret:
          $ref: '#/components/schemas/Secret'
        registrationURI:
          type: string
          format: uri
        oidcmetadata:
          $ref: '#/components/schemas/OIDCClientMetadata'
        registrationAccessToken:
          $ref: '#/components/schemas/BearerAccessToken'
        idissueDate:
          type: string
          format: date-time
    ClientMetadata:
      type: object
      properties:
        scope:
          type: array
          properties:
            first:
              $ref: '#/components/schemas/Value'
            last:
              $ref: '#/components/schemas/Value'
            empty:
              type: boolean
          items:
            $ref: '#/components/schemas/Value'
        responseTypes:
          uniqueItems: true
          type: array
          items:
            type: array
            properties:
              empty:
                type: boolean
            items:
              $ref: '#/components/schemas/Value'
        grantTypes:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/GrantType'
        nameEntries:
          type: object
          additionalProperties:
            type: string
        logoURIEntries:
          type: object
          additionalProperties:
            type: string
            format: uri
        policyURIEntries:
          type: object
          additionalProperties:
            type: string
            format: uri
        signedJWKSetURI:
          type: string
          format: uri
        requestObjectURIs:
          uniqueItems: true
          type: array
          items:
            type: string
            format: uri
        requestObjectJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        requestObjectJWEAlg:
          $ref: '#/components/schemas/JWEAlgorithm'
        requestObjectJWEEnc:
          $ref: '#/components/schemas/EncryptionMethod'
        softwareID:
          $ref: '#/components/schemas/SoftwareID'
        softwareVersion:
          $ref: '#/components/schemas/SoftwareVersion'
        softwareStatement:
          $ref: '#/components/schemas/SignedJWT'
        backChannelTokenDeliveryMode:
          $ref: '#/components/schemas/BackChannelTokenDeliveryMode'
        backChannelClientNotificationEndpoint:
          type: string
          format: uri
        backChannelAuthRequestJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        clientRegistrationTypes:
          type: array
          items:
            $ref: '#/components/schemas/ClientRegistrationType'
        organizationName:
          type: string
        customFields:
          type: object
          properties:
            empty:
              type: boolean
          additionalProperties:
            type: object
        name:
          type: string
        uri:
          type: string
          format: uri
        tlsclientCertificateBoundAccessTokens:
          type: boolean
        redirectionURIs:
          uniqueItems: true
          type: array
          items:
            type: string
            format: uri
        emailContacts:
          type: array
          items:
            type: string
        urientries:
          type: object
          additionalProperties:
            type: string
            format: uri
        tokenEndpointAuthJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        tlsclientAuthSubjectDN:
          type: string
        tlsclientAuthSanDNS:
          type: string
        tlsclientAuthSanURI:
          type: string
        tlsclientAuthSanIP:
          type: string
        tlsclientAuthSanEmail:
          type: string
        dpoPBoundAccessTokens:
          type: boolean
        authorizationJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        authorizationJWEAlg:
          $ref: '#/components/schemas/JWEAlgorithm'
        authorizationJWEEnc:
          $ref: '#/components/schemas/EncryptionMethod'
        authorizationDetailsTypes:
          type: array
          items:
            $ref: '#/components/schemas/AuthorizationType'
        logoURI:
          type: string
          format: uri
        policyURI:
          type: string
          format: uri
        termsOfServiceURI:
          type: string
          format: uri
        termsOfServiceURIEntries:
          type: object
          additionalProperties:
            type: string
            format: uri
        jwkset:
          $ref: '#/components/schemas/JWKSet'
        tokenEndpointAuthMethod:
          $ref: '#/components/schemas/ClientAuthenticationMethod'
        jwksetURI:
          type: string
          format: uri
        supportsBackChannelUserCodeParam:
          type: boolean
          writeOnly: true
        redirectionURI:
          type: string
          format: uri
        redirectionURIStrings:
          uniqueItems: true
          type: array
          items:
            type: string
        mutualTLSSenderConstrainedAccessTokens:
          type: boolean
    KeyRevocation:
      type: object
      properties:
        reason:
          $ref: '#/components/schemas/Reason'
        revocationTime:
          type: string
          format: date-time
    Base64:
      type: object
    Privilege:
      type: object
      properties:
        value:
          type: string
    DataType:
      type: object
      properties:
        value:
          type: string
    JWSAlgorithm:
      type: object
      properties:
        name:
          type: string
        requirement:
          type: string
          enum:
          - REQUIRED
          - RECOMMENDED
          - OPTIONAL
    KeyUse:
      type: object
      properties:
        value:
          type: string
    OIDCClientMetadata:
      type: object
      properties:
        scope:
          type: array
          properties:
            first:
              $ref: '#/components/schemas/Value'
            last:
              $ref: '#/components/schemas/Value'
            empty:
              type: boolean
          items:
            $ref: '#/components/schemas/Value'
        responseTypes:
          uniqueItems: true
          type: array
          items:
            type: array
            properties:
              empty:
                type: boolean
            items:
              $ref: '#/components/schemas/Value'
        grantTypes:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/GrantType'
        nameEntries:
          type: object
          additionalProperties:
            type: string
        logoURIEntries:
          type: object
          additionalProperties:
            type: string
            format: uri
        policyURIEntries:
          type: object
          additionalProperties:
            type: string
            format: uri
        signedJWKSetURI:
          type: string
          format: uri
        requestObjectURIs:
          uniqueItems: true
          type: array
          items:
            type: string
            format: uri
        requestObjectJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        requestObjectJWEAlg:
          $ref: '#/components/schemas/JWEAlgorithm'
        requestObjectJWEEnc:
          $ref: '#/components/schemas/EncryptionMethod'
        softwareID:
          $ref: '#/components/schemas/SoftwareID'
        softwareVersion:
          $ref: '#/components/schemas/SoftwareVersion'
        softwareStatement:
          $ref: '#/components/schemas/SignedJWT'
        backChannelTokenDeliveryMode:
          $ref: '#/components/schemas/BackChannelTokenDeliveryMode'
        backChannelClientNotificationEndpoint:
          type: string
          format: uri
        backChannelAuthRequestJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        clientRegistrationTypes:
          type: array
          items:
            $ref: '#/components/schemas/ClientRegistrationType'
        organizationName:
          type: string
        customFields:
          type: object
          properties:
            empty:
              type: boolean
          additionalProperties:
            type: object
        applicationType:
          type: string
          enum:
          - native
          - web
        subjectType:
          type: string
          enum:
          - pairwise
          - public
          - ephemeral
        sectorIDURI:
          type: string
          format: uri
        userInfoJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        userInfoJWEAlg:
          $ref: '#/components/schemas/JWEAlgorithm'
        userInfoJWEEnc:
          $ref: '#/components/schemas/EncryptionMethod'
        defaultMaxAge:
          type: integer
          format: int32
        defaultACRs:
          type: array
          items:
            $ref: '#/components/schemas/ACR'
        initiateLoginURI:
          type: string
          format: uri
        frontChannelLogoutURI:
          type: string
          format: uri
        backChannelLogoutURI:
          type: string
          format: uri
        attachmentDigestAlg:
          $ref: '#/components/schemas/HashAlgorithm'
        idtokenJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        idtokenJWEAlg:
          $ref: '#/components/schemas/JWEAlgorithm'
        idtokenJWEEnc:
          $ref: '#/components/schemas/EncryptionMethod'
        postLogoutRedirectionURIs:
          uniqueItems: true
          type: array
          items:
            type: string
            format: uri
        name:
          type: string
        uri:
          type: string
          format: uri
        tlsclientCertificateBoundAccessTokens:
          type: boolean
        redirectionURIs:
          uniqueItems: true
          type: array
          items:
            type: string
            format: uri
        emailContacts:
          type: array
          items:
            type: string
        urientries:
          type: object
          additionalProperties:
            type: string
            format: uri
        tokenEndpointAuthJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        tlsclientAuthSubjectDN:
          type: string
        tlsclientAuthSanDNS:
          type: string
        tlsclientAuthSanURI:
          type: string
        tlsclientAuthSanIP:
          type: string
        tlsclientAuthSanEmail:
          type: string
        dpoPBoundAccessTokens:
          type: boolean
        authorizationJWSAlg:
          $ref: '#/components/schemas/JWSAlgorithm'
        authorizationJWEAlg:
          $ref: '#/components/schemas/JWEAlgorithm'
        authorizationJWEEnc:
          $ref: '#/components/schemas/EncryptionMethod'
        authorizationDetailsTypes:
          type: array
          items:
            $ref: '#/components/schemas/AuthorizationType'
        logoURI:
          type: string
          format: uri
        policyURI:
          type: string
          format: uri
        termsOfServiceURI:
          type: string
          format: uri
        termsOfServiceURIEntries:
          type: object
          additionalProperties:
            type: string
            format: uri
        jwkset:
          $ref: '#/components/schemas/JWKSet'
        tokenEndpointAuthMethod:
          $ref: '#/components/schemas/ClientAuthenticationMethod'
        jwksetURI:
          type: string
          format: uri
        supportsBackChannelUserCodeParam:
          type: boolean
          writeOnly: true
        redirectionURI:
          type: string
          format: uri
        redirectionURIStrings:
          uniqueItems: true
          type: array
          items:
            type: string
        mutualTLSSenderConstrainedAccessTokens:
          type: boolean
    SignedJWT:
      type: object
      properties:
        payload:
          $ref: '#/components/schemas/Payload'
        parsedParts:
          type: array
          items:
            $ref: '#/components/schemas/Base64URL'
        header:
          $ref: '#/components/schemas/JWSHeader'
        signature:
          $ref: '#/components/schemas/Base64URL'
        state:
          type: string
          enum:
          - UNSIGNED
          - SIGNED
          - VERIFIED
        jwtclaimsSet:
          $ref: '#/components/schemas/JWTClaimsSet'
        parsedString:
          type: string
        signingInput:
          type: string
          format: byte
    JWKSet:
      type: object
      properties:
        keys:
          type: array
          items:
            $ref: '#/components/schemas/JWK'
        empty:
          type: boolean
        additionalMembers:
          type: object
          additionalProperties:
            type: object
    Algorithm:
      type: object
      properties:
        name:
          type: string
        requirement:
          type: string
          enum:
          - REQUIRED
          - RECOMMENDED
          - OPTIONAL
    EncryptionMethod:
      type: object
      properties:
        name:
          type: string
        requirement:
          type: string
          enum:
          - REQUIRED
          - RECOMMENDED
          - OPTIONAL
    Payload:
      type: object
      properties:
        origin:
          type: string
          enum:
          - JSON
          - STRING
          - BYTE_ARRAY
          - BASE64URL
          - JWS_OBJECT
          - SIGNED_JWT
    SoftwareVersion:
      type: object
      properties:
        value:
          type: string
    AccessTokenType:
      type: object
      properties:
        value:
          type: string
    BearerAccessToken:
      type: object
      properties:
        value:
          type: string
        type:
          $ref: '#/components/schemas/AccessTokenType'
        lifetime:
          type: integer
          format: int64
        scope:
          type: array
          properties:
            first:
              $ref: '#/components/schemas/Value'
            last:
              $ref: '#/components/schemas/Value'
            empty:
              type: boolean
          items:
            $ref: '#/components/schemas/Value'
        authorizationDetails:
          type: array
          items:
            $ref: '#/components/schemas/AuthorizationDetail'
        issuedTokenType:
          $ref: '#/components/schemas/TokenTypeURI'
        parameterNames:
          uniqueItems: true
          type: array
          items:
            type: string
        customParameters:
          type: object
          additionalProperties:
            type: object
    Reason:
      type: object
      properties:
        value:
          type: string
    AuthorizationType:
      type: object
      properties:
        value:
          type: string
        uri:
          type: string
          format: uri
    ACR:
      type: object
      properties:
        value:
          type: string
    JWK:
      type: object
      properties:
        keyStore:
          type: object
          properties:
            type:
              type: string
            provider:
              type: object
              additionalProperties:
                type: string
        expirationTime:
          type: string
          format: date-time
        private:
          type: boolean
        algorithm:
          $ref: '#/components/schemas/Algorithm'
        keyType:
          $ref: '#/components/schemas/KeyType'
        keyID:
          type: string
        x509CertURL:
          type: string
          format: uri
        x509CertThumbprint:
          $ref: '#/components/schemas/Base64URL'
        x509CertSHA256Thumbprint:
          $ref: '#/components/schemas/Base64URL'
        x509CertChain:
          type: array
          items:
            $ref: '#/components/schemas/Base64'
        notBeforeTime:
          type: string
          format: date-time
        issueTime:
          type: string
          format: date-time
        keyUse:
          $ref: '#/components/schemas/KeyUse'
        keyOperations:
          uniqueItems: true
          type: array
          items:
            type: string
            enum:
            - sign
            - verify
            - encrypt
            - decrypt
            - wrapKey
            - unwrapKey
            - deriveKey
            - deriveBits
        parsedX509CertChain:
          type: array
          items:
            type: object
            properties:
              subjectDN:
                type: object
                properties:
                  name:
                    type: string
              issuerDN:
                type: object
                properties:
                  name:
                    type: string
              tbscertificate:
                type: string
                format: byte
              sigAlgName:
                type: string
              sigAlgOID:
                type: string
              issuerUniqueID:
                type: array
                items:
                  type: boolean
              subjectUniqueID:
                type: array
                items:
                  type: boolean
              subjectAlternativeNames:
                type: array
                items:
                  type: array
                  items:
                    type: object
              issuerAlternativeNames:
                type: array
                items:
                  type: array
                  items:
                    type: object
              sigAlgParams:
                type: string
                format: byte
              notBefore:
                type: string
                format: date-time
              notAfter:
                type: string
                format: date-time
              extendedKeyUsage:
                type: array
                items:
                  type: string
              keyUsage:
                type: array
                items:
                  type: boolean
              signature:
                type: string
                format: byte
              basicConstraints:
                type: integer
                format: int32
              issuerX500Principal:
                type: object
                properties:
                  name:
                    type: string
                  encoded:
                    type: string
                    format: byte
              subjectX500Principal:
                type: object
                properties:
                  name:
                    type: string
                  encoded:
                    type: string
                    format: byte
              version:
                type: integer
                format: int32
              serialNumber:
                type: integer
              nonCriticalExtensionOIDs:
                uniqueItems: true
                type: array
                items:
                  type: string
              criticalExtensionOIDs:
                uniqueItems: true
                type: array
                items:
                  type: string
              type:
                type: string
              encoded:
                type: string
                format: byte
              publicKey:
                type: object
                properties:
                  encoded:
                    type: string
                    format: byte
                  format:
                    type: string
                  algorithm:
                    type: string
        keyRevocation:
          $ref: '#/components/schemas/KeyRevocation'
        requiredParams:
          type: object
          additionalProperties:
            type: object
    BackChannelTokenDeliveryMode:
      type: object
      properties:
        value:
          type: string
externalDocs:
  description: OpenID Connect 1.0 specifications
  url: https://openid.net/connect/