DeveloperHub References API
Uploads, downloads and publishes the OpenAPI specification behind an API reference — the CI/CD surface, and the one replay-safe write in the API — 3 operations.
Uploads, downloads and publishes the OpenAPI specification behind an API reference — the CI/CD surface, and the one replay-safe write in the API — 3 operations.
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/developerhub-references-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: DeveloperHub.io API References API
description: API to manage your %product% resources programmatically. Using these APIs, you are able
to manage pages, integrate with CI/CD, and retrieve resources among other operations.
version: 1.1.0
contact:
name: DeveloperHub
url: https://docs.developerhub.io/api/ref
servers:
- url: https://api.developerhub.io/api/v1
variables: {}
security:
- Api-Key: []
tags:
- name: Reference
description: Operations for adding, reading, and publishing API reference specifications.
paths:
/version/{versionId}/reference:
post:
tags:
- Reference
summary: Adds or updates a reference specification
description: 'Adds or updates a reference specification in that version. If the reference title
matches one that already existed, then it is updated. Rate limit: 300 in 60 minutes.'
operationId: add_reference
parameters:
- name: versionId
in: path
description: The version ID
required: true
style: simple
schema:
type: string
- name: publish
in: query
description: Publish the specification immediately. Set to false to import it as a draft to be
published later.
required: false
schema:
type: boolean
default: true
- name: show_try_it_out
in: query
description: Enable the Try It Out console on the reference
required: false
schema:
type: boolean
- name: allow_download
in: query
description: Allow readers to download the specification
required: false
schema:
type: boolean
- name: expandable
in: query
description: Show the reference operations as expandable rows
required: false
schema:
type: boolean
requestBody:
content:
multipart/form-data:
encoding: {}
schema:
type: object
required:
- file
properties:
file:
type: string
description: The API specification in OpenAPI 2/3 (Swagger) format
format: binary
required: false
responses:
'201':
description: Created
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/Reference'
'400':
description: General Exception
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDenied'
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
deprecated: false
/reference/{id}/definition:
get:
tags:
- Reference
summary: Read a reference specification
description: 'Downloads the raw specification of an API reference in JSON or YAML. Rate limit: 600
in 1 minute.'
operationId: read_reference_definition
parameters:
- name: id
in: path
description: Reference ID
required: true
schema:
type: integer
- name: draft
in: query
description: Read the draft specification instead of the published one
required: false
schema:
type: boolean
default: false
- name: format
in: query
description: Format of the returned specification. `auto` returns it as originally uploaded; `json`
and `yaml` convert it if needed.
required: false
schema:
type: string
default: auto
enum:
- auto
- json
- yaml
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
content:
application/json:
schema:
type: object
description: The specification as a JSON document
text/yaml:
schema:
type: string
description: The specification as a YAML document
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDenied'
'404':
description: Draft not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
deprecated: false
/reference/{id}/publish:
put:
tags:
- Reference
summary: Publish a reference draft
description: 'Publishes the draft specification of an API reference. Fails if the reference has
no draft. Rate limit: 300 in 60 minutes.'
operationId: publish_reference
parameters:
- name: id
in: path
description: Reference ID
required: true
schema:
type: integer
responses:
'201':
description: Published
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/Reference'
'400':
description: General Exception
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDenied'
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
deprecated: false
components:
headers:
X-RateLimit-Limit:
description: Requests permitted until reset time
schema:
type: integer
example: 300
X-RateLimit-Remaining:
description: Requests consumed in current period
schema:
type: integer
example: 253
X-RateLimit-Reset:
description: Unix timestamp at which requests consumed will reset
schema:
type: integer
example: 1611530395
schemas:
AccessDenied:
title: AccessDenied
type: object
properties:
error:
type: object
properties:
message:
type: string
description: Message of the error
example: Access Denied
httpCode:
type: number
description: HTTP code returned
example: 403
code:
type: number
description: Internal error code
example: 403
Error:
title: Error
type: object
properties:
message:
type: string
description: Message of the error
example: No file provided.
httpCode:
type: number
description: HTTP code returned
example: 400
code:
type: number
description: Internal error code
example: 400
Reference:
title: Reference
required:
- id
- title
- created
- updated
- slug
- ordr
type: object
properties:
id:
type: integer
description: Unique identifier
example: 5
title:
type: string
description: Title of the API Reference
example: DeveloperHub.io API
created:
type: string
description: Date of creation
example: 2019-03-20T19:02:14+0000
updated:
type: string
description: Date of last update
example: 2019-03-20T19:02:14+0000
slug:
type: string
description: Slug in the URL
example: developerhub.io-api
ordr:
type: integer
description: Numerical order in the version
example: 1
description: Reference object
TooManyRequests:
title: TooManyRequests
type: object
properties:
error:
type: object
properties:
message:
type: string
description: Message of the error
example: You exceeded the rate limit
httpCode:
type: number
description: HTTP code returned
example: 429
code:
type: number
description: Internal error code
example: 9
securitySchemes:
Api-Key:
type: apiKey
description: 'Generate an API Key from [DeveloperHub.io platform](https://app.developerhub.io) and
provide it in the header such as `--header "X-Api-Key: <api-key>"` for cURL for all the requests
requiring this authentication.'
name: X-Api-Key
in: header