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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/karrio-auth-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
openapi: 3.2.0
info:
description: Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services.
title: Karrio Auth API
version: 2026.1.32
tags:
- name: Auth
description: API authentication resources.
paths:
/api/logout:
post:
operationId: '&&logout'
description: Clear authentication cookies and logout the user. Accessible without authentication.
summary: Logout
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenVerify'
required: true
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
/api/token:
post:
operationId: '&&authenticate'
description: Authenticate the user and return a token pair. Tokens are stored in HTTP-only cookies.
summary: Obtain auth token pair
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenObtainPair'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenPair'
description: ''
/api/token/refresh:
post:
operationId: '&&refresh_token'
description: Refresh the authentication token. Tokens are stored in HTTP-only cookies.
summary: Refresh auth token
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRefresh'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenPair'
description: ''
/api/token/verified:
post:
operationId: '&&get_verified_token'
description: Get a verified JWT token pair by submitting a Two-Factor authentication code. Tokens are stored in HTTP-only cookies.
summary: Get verified JWT token
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifiedTokenObtainPair'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenPair'
description: ''
/api/token/verify:
post:
operationId: '&&verify_token'
description: Verify an existent authentication token
summary: Verify token
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenVerify'
required: true
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
/api/tokens:
post:
operationId: '&&generate_resource_token'
description: 'Generate a short-lived JWT token for accessing specific resources.
This endpoint is used to create secure, time-limited access tokens for
resources like shipment labels, manifests, and document templates.
**Use cases:**
- Generate a token to allow document preview in a new browser window
- Create shareable links for documents with automatic expiration
- Enable secure document downloads without exposing API keys
**Token lifetime:** Default 5 minutes, configurable up to 1 hour.'
summary: Generate resource access token
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceTokenRequest'
required: true
security:
- TokenBasic: []
- Token: []
- OAuth2: []
- JWT: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceTokenResponse'
description: ''
'400':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
'401':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
components:
schemas:
TokenObtainPair:
type: object
properties:
email:
type: string
writeOnly: true
password:
type: string
writeOnly: true
required:
- email
- password
ResourceTokenRequest:
type: object
properties:
resource_type:
enum:
- shipment
- manifest
- order
- template
- document
type: string
x-spec-enum-id: 5fdf96337fe1e4d4
description: The type of resource to grant access to.
resource_ids:
type: array
items:
type: string
description: List of resource IDs to grant access to.
minItems: 1
access:
type: array
items:
enum:
- label
- invoice
- manifest
- render
- batch_labels
- batch_invoices
- batch_manifests
type: string
x-spec-enum-id: a1a77b3fd6daff18
description: List of access permissions to grant.
minItems: 1
format:
enum:
- pdf
- png
- zpl
- gif
- null
type:
- string
- 'null'
x-spec-enum-id: 198a9c60a4805fd0
description: Document format (optional).
expires_in:
type: integer
maximum: 3600
minimum: 60
default: 300
description: 'Token expiration time in seconds (60-3600, default: 300).'
required:
- access
- resource_ids
- resource_type
TokenPair:
type: object
properties:
access:
type: string
refresh:
type: string
required:
- access
- refresh
TokenRefresh:
type: object
properties:
refresh:
type: string
access:
type: string
readOnly: true
required:
- access
- refresh
VerifiedTokenObtainPair:
type: object
properties:
refresh:
type: string
access:
type: string
readOnly: true
otp_token:
type: string
description: "The OTP (One Time Password) token received by the user from the\n configured Two Factor Authentication method.\n "
required:
- access
- otp_token
- refresh
ResourceTokenResponse:
type: object
properties:
token:
type: string
description: The JWT access token.
expires_at:
type: string
format: date-time
description: Token expiration timestamp.
resource_urls:
type: object
additionalProperties:
type: string
description: Map of resource IDs to their access URLs with token.
required:
- expires_at
- resource_urls
- token
TokenVerify:
type: object
properties:
token:
type: string
writeOnly: true
required:
- token
securitySchemes:
JWT:
in: header
type: apiKey
scheme: bearer
bearerFormat: JWT
name: Authorization
description: 'Authorization: Bearer xxx.xxx.xxx'
OAuth2:
type: oauth2
in: header
name: Authorization
flows:
authorizationCode:
authorizationUrl: /oauth/authorize/
tokenUrl: /oauth/token/
scopes:
read: Read access to Karrio data
write: Write access to Karrio data
openid: OpenID connect
description: 'Authorization: Bearer xxxxxxxx'
Token:
type: apiKey
in: header
name: Authorization
description: 'Authorization: Token key_xxxxxxxx'
TokenBasic:
type: http
scheme: basic
name: Authorization
description: '-u key_xxxxxxxx:'