Cable authentication API
The authentication API from Cable — 2 operation(s) for authentication.
The authentication API from Cable — 2 operation(s) for authentication.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/cable-authentication-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Cable Authentication API
version: 1.0.0
description: 'Operations tagged authentication across 2 of this provider''s published API definitions: cable-api-reference-openapi-original.yml, cable-transaction-data-api-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.cable.tech
description: Production
- url: https://transaction-api.cable.tech
description: Production server
tags:
- name: authentication
paths:
/v2/auth/token:
post:
operationId: request-token
summary: Request a new access token
description: 'The Cable API uses API keys to authenticate requests. Make sure never to share your API keys - don’t put them in
repositories or leave them as human-readable in code, and always use HTTPS.
Request a new access token to authenticate requests to the API. The token will expire after the specified time.
To request an access token you must use the refresh / auth token provided to you by Cable.
You cannot request a new token with an existing access token.
'
tags:
- authentication
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
responses:
'200':
description: Token created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/NewAccessTokenResponse'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
'500':
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
requestBody:
description: Token request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/NewAccessTokenRequest'
servers:
- url: https://api.cable.tech
description: Production
/auth/token:
post:
operationId: request-token
summary: Request a new access token
description: Request a new access token to authenticate requests to the API. The token will expire after the specified time. To request an access token you must use the refresh / auth token provided to you by Cable. You cannot request a new token with an existing access token.
tags:
- authentication
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
responses:
'200':
description: Token created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/NewAccessTokenResponse'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
'500':
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
requestBody:
description: Token request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/NewAccessTokenRequest'
servers:
- url: https://transaction-api.cable.tech
description: Production server
components:
schemas:
NewAccessTokenRequest:
type: object
properties:
expiry_seconds:
type: integer
format: int64
description: The requested expiration time in seconds for the token. Must be between 300 (5 minutes) and 86400 (24 hours).
scopes:
$ref: '#/components/schemas/AccessTokenScope'
required:
- expiry_seconds
- scopes
title: NewAccessTokenRequest
GeneralError:
type: object
properties:
code:
type: integer
message:
type: string
errors:
type: array
items:
$ref: '#/components/schemas/GeneralErrorErrorsItems'
description: Detailed information about errors in specific fields.
required:
- code
- message
title: GeneralError
GeneralErrorErrorsItems:
type: object
properties:
field:
type: string
message:
type: string
title: GeneralErrorErrorsItems
NewAccessTokenResponse:
type: object
properties:
token:
type: string
expiry:
type: integer
format: int64
description: The expiration time in Unix time format.
organization_id:
type: string
description: The organization ID for which the token was requested.
organization_name:
type: string
description: The name of the organization for which the token was requested.
scopes:
$ref: '#/components/schemas/AccessTokenScope'
required:
- token
- expiry
- organization_id
- organization_name
title: NewAccessTokenResponse
AccessTokenScope:
type: object
properties:
organization_id:
type: string
description: The organization ID for which the token is requested. This is required.
scopes:
type: array
items:
type: string
description: The list of scopes that the token should have. For transaction data, the scope should be 'transactions:write'.
required:
- organization_id
- scopes
title: AccessTokenScope
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
BearerAuth:
type: http
scheme: bearer
x-refined-from:
- cable-api-reference-openapi-original.yml
- cable-transaction-data-api-openapi-original.yml