Pinwheel API Keys API
The API Keys API from Pinwheel — 3 operation(s) for api keys.
The API Keys API from Pinwheel — 3 operation(s) for api keys.
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/pinwheel:pinwheel-api-keys-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Pinwheel API Keys API
description: Pinwheel is the API for direct deposit switching, bill switching, and income & employment verification.
version: v2025-07-08
contact:
name: Support
email: support@getpinwheel.com
url: https://getpinwheel.com
servers:
- url: https://api.getpinwheel.com/v1
description: production
- url: https://sandbox.getpinwheel.com/v1
description: sandbox
- url: https://development.getpinwheel.com/v1
description: development
security:
- apiSecret: []
tags:
- name: API Keys
paths:
/admin/token:
post:
tags:
- API Keys
summary: Admin API Authentication
description: Authenticate against the Admin API.
operationId: auth_v1_admin_token_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAdminTokenRequest'
examples:
example:
value:
username: bob@example.com
password: '!pa55w0rd'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/CreateAdminTokenResponseData'
type: object
required:
- data
x-tags:
- Schemas
examples:
example:
value:
data:
token: 665ffb0f-3b65-483d-97be-2aeddfd54467
expiration: '2023-03-24 21:37:00.650846+00:00'
workspace_name: Acme, Inc.
mode: production
user_role: administrator
parameters:
- name: Pinwheel-Version
in: header
required: true
description: Version identifier specifying how the Pinwheel API should behave. See the Change Management page for more information.
schema:
enum:
- '2025-07-08'
- '2023-11-22'
- '2023-07-18'
- '2023-04-18'
- '2022-09-09'
- '2022-06-22'
- '2022-03-02'
default: '2025-07-08'
type: string
security: []
/admin/api_keys:
get:
tags:
- API Keys
summary: List API Keys
description: List all keys for this workspace.
operationId: list_keys_v1_admin_api_keys_get
parameters:
- description: Cursor for the page you want to retrieve.
required: false
schema:
type: string
description: Cursor for the page you want to retrieve.
name: cursor
in: query
- description: The maximum number of results to return.
required: false
schema:
type: integer
maximum: 100.0
minimum: 1.0
description: The maximum number of results to return.
default: 25
name: limit
in: query
- description: Admin API bearer token.
required: false
schema:
type: string
description: Admin API bearer token.
name: authorization
in: header
- name: Pinwheel-Version
in: header
required: true
description: Version identifier specifying how the Pinwheel API should behave. See the Change Management page for more information.
schema:
enum:
- '2025-07-08'
- '2023-11-22'
- '2023-07-18'
- '2023-04-18'
- '2022-09-09'
- '2022-06-22'
- '2022-03-02'
default: '2025-07-08'
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
properties:
meta:
$ref: '#/components/schemas/PaginationMeta'
data:
items:
$ref: '#/components/schemas/ListAPIKeyResponseData'
type: array
title: Data
type: object
required:
- meta
- data
x-tags:
- Schemas
examples:
example:
value:
data:
- mode: production
key: 412cb238ff82788ae1678fbdb3623a75b44059aa07a6e915c3d99a750e7953b2
expires_at: null
created_at: '2023-03-24 21:37:00.650846+00:00'
last_used_at: '2023-03-24'
is_active: true
revoked_at: null
meta:
count: 1
next_cursor: eyJuYW1lIjogImFtYXpvbiJ9
security:
- bearerAuth: []
post:
tags:
- API Keys
summary: Create an API Key
description: Creates an API Key.
operationId: create_key_v1_admin_api_keys_post
parameters:
- description: Admin API bearer token.
required: false
schema:
type: string
description: Admin API bearer token.
name: authorization
in: header
- name: Pinwheel-Version
in: header
required: true
description: Version identifier specifying how the Pinwheel API should behave. See the Change Management page for more information.
schema:
enum:
- '2025-07-08'
- '2023-11-22'
- '2023-07-18'
- '2023-04-18'
- '2022-09-09'
- '2022-06-22'
- '2022-03-02'
default: '2025-07-08'
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAPIKeyOptions'
examples:
example:
value:
expires_at: '2023-03-23 12:34:56'
responses:
'200':
description: OK
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/CreateAPIKeyResponseData'
type: object
required:
- data
x-tags:
- Schemas
examples:
example:
value:
data:
mode: production
key: 412cb238ff82788ae1678fbdb3623a75b44059aa07a6e915c3d99a750e7953b2
secret: 23252c3d516ec1cf92822d8db03b04f59c22ac4810fb20752b5511e43340e771
expires_at: null
created_at: '2023-03-24 21:37:00.650846+00:00'
security:
- bearerAuth: []
/admin/api_keys/{api_key}/revoke:
post:
tags:
- API Keys
summary: Revoke an API Key
description: Revokes an API Key.
operationId: revoke_key_v1_admin_api_keys__api_key__revoke_post
parameters:
- description: The public token that refers to your API key, as distinct from the API Secret.
required: true
schema:
type: string
description: The public token that refers to your API key, as distinct from the API Secret.
name: api_key
in: path
- description: Admin API bearer token.
required: false
schema:
type: string
description: Admin API bearer token.
name: authorization
in: header
- name: Pinwheel-Version
in: header
required: true
description: Version identifier specifying how the Pinwheel API should behave. See the Change Management page for more information.
schema:
enum:
- '2025-07-08'
- '2023-11-22'
- '2023-07-18'
- '2023-04-18'
- '2022-09-09'
- '2022-06-22'
- '2022-03-02'
default: '2025-07-08'
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/RevokeAPIKeyResponseData'
type: object
required:
- data
x-tags:
- Schemas
examples:
example:
value:
data:
mode: production
key: 412cb238ff82788ae1678fbdb3623a75b44059aa07a6e915c3d99a750e7953b2
expires_at: null
created_at: '2023-03-20 13:02:21.987347+00:00'
revoked_at: '2023-03-24 21:37:00.768426+00:00'
security:
- bearerAuth: []
components:
schemas:
CreateAPIKeyOptions:
properties:
expires_at:
type: string
format: date-time
title: expires_at
description: Timestamp used to set when this key automatically expires.
type: object
title: object
x-tags:
- Schemas
PaginationMeta:
properties:
count:
type: integer
title: count
description: Number of objects returned.
next_cursor:
type: string
title: next_cursor
description: Pointer to the next page of results.
type: object
title: PaginationMeta
x-tags:
- Schemas
RevokeAPIKeyResponseData:
properties:
mode:
allOf:
- type: string
enum:
- sandbox
- development
- production
description: The mode that the Admin API token is authorized for.
key:
type: string
title: key
description: The public token that refers to your API key, as distinct from the API Secret.
expires_at:
type: string
format: date-time
title: expires_at
description: Timestamp used to set when this key automatically expires.
created_at:
type: string
format: date-time
title: created_at
description: ISO 8601 timestamp of created time.
revoked_at:
type: string
format: date-time
title: revoked_at
description: Timestamp of when this key was revoked.
type: object
required:
- mode
- key
- created_at
- revoked_at
title: object
x-tags:
- Schemas
ListAPIKeyResponseData:
properties:
mode:
allOf:
- type: string
enum:
- sandbox
- development
- production
description: The mode that the Admin API token is authorized for.
key:
type: string
title: key
description: The public token that refers to your API key, as distinct from the API Secret.
expires_at:
type: string
format: date-time
title: expires_at
description: Timestamp used to set when this key automatically expires.
created_at:
type: string
format: date-time
title: created_at
description: ISO 8601 timestamp of created time.
last_used_at:
type: string
format: date
title: last_used_at
description: Date the API key was last used in a Pinwheel API request. Null if the key hasn't been used.
is_active:
type: boolean
title: is_active
description: If true, the API key can be used in Pinwheel API requests. Otherwise, the key is no longer useable.
revoked_at:
type: string
format: date-time
title: revoked_at
description: Timestamp of when this key was revoked.
type: object
required:
- mode
- key
- created_at
- is_active
title: object
x-tags:
- Schemas
CreateAdminTokenResponseData:
properties:
token:
type: string
format: uuid
title: token
description: Short-lived token that is used to authorize Admin API endpoints.
expiration:
type: string
format: date-time
title: expiration
description: Timestamp of when the Admin API token expires.
workspace_name:
type: string
title: workspace_name
description: Name of the workspace the Admin API token is authorized for.
mode:
allOf:
- type: string
enum:
- sandbox
- development
- production
description: The mode that the Admin API token is authorized for.
user_role:
allOf:
- type: string
enum:
- owner
- administrator
- developer
description: The role of the developer-dashboard user the Admin API token was authenticated with.
type: object
required:
- token
- expiration
- workspace_name
- mode
- user_role
title: object
x-tags:
- Schemas
CreateAPIKeyResponseData:
properties:
mode:
allOf:
- type: string
enum:
- sandbox
- development
- production
description: The mode that the Admin API token is authorized for.
key:
type: string
title: key
description: The public token that refers to your API key, as distinct from the API Secret.
expires_at:
type: string
format: date-time
title: expires_at
description: Timestamp used to set when this key automatically expires.
created_at:
type: string
format: date-time
title: created_at
description: ISO 8601 timestamp of created time.
secret:
type: string
title: secret
description: The secret token part of the API key used to authorize requests to the Pinwheel API.
type: object
required:
- mode
- key
- created_at
- secret
title: object
x-tags:
- Schemas
CreateAdminTokenRequest:
properties:
username:
type: string
title: username
description: Username or email of the Developer Dashboard user used to create an Admin API token.
password:
type: string
title: password
description: Password of the Developer Dashboard user used to create an Admin API token.
type: object
required:
- username
- password
title: object
x-tags:
- Schemas
securitySchemes:
apiSecret:
type: apiKey
in: header
name: X-API-SECRET
description: API Secret
bearerAuth:
description: Bearer token
type: http
scheme: bearer