DeveloperHub Reference API
Operations for adding, reading, and publishing API reference specifications.
Operations for adding, reading, and publishing API reference specifications.
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-reference-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: Reference 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.
contact: {}
version: 1.1.0
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:
schemas:
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
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
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
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
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