Overview
This document as JSON, so the full contract can be fetched from the API itself.
Endpoint
GET https://earn-api.quicknode.dev/functions/v1/api/v1/openapi.json
Authorization
Include the published apikey header. This read request is public and does not require a SIWE signature.
Parameters
This endpoint does not accept path or query parameters.
Example request
curl --request GET \
--url 'https://earn-api.quicknode.dev/functions/v1/api/v1/openapi.json' \
--header 'Accept: application/json' \
--header 'apikey: <EARN_PUBLIC_API_KEY>'
Response
The response is the complete OpenAPI 3.1 contract used by the Earn API reference.
| Field | Type | Required | Description |
|---|---|---|---|
| openapi | string | Yes | OpenAPI specification version used by the document. |
| info | object | Yes | API metadata, including its title, version, description, contact, and license. |
| info.title | string | Yes | Display name of the API. |
| info.version | string | Yes | Version of the Earn API contract. |
| info.summary | string | Yes | Short summary of the API. |
| info.description | string | Yes | Detailed API lifecycle, authorization, units, and stability information. |
| info.contact | object | Yes | Name and URL of the API contact. |
| info.license | object | Yes | Name and URL of the license that applies to the API. |
| servers | array<object> | Yes | Server definitions used to construct API request URLs. |
| servers[].url | string | Yes | Base URL of an API server. |
| servers[].description | string | Yes | Environment represented by the server URL. |
| security | array<object> | Yes | Global security requirements applied to API operations. |
| security[].apikey | array | Yes | Declares the global `apikey` security scheme requirement. |
| tags | array<object> | Yes | Resource groups used to organize operations in the API reference. |
| tags[].name | string | Yes | Name of an API resource group. |
| tags[].description | string | Yes | Description of the operations included in the resource group. |
| paths | object | Yes | Documented API paths and their supported HTTP operations. |
| paths.{path}.{method} | object | No | Operation definition containing its ID, rate limit, tags, summary, description, parameters, request body, and responses where applicable. |
| components | object | Yes | Reusable schemas, parameters, responses, examples, and security schemes. |
| components.schemas | object | Yes | Reusable request and response schemas referenced by operations. |
| components.parameters | object | Yes | Reusable path and query parameter definitions. |
| components.responses | object | Yes | Reusable HTTP response definitions. |
| components.examples | object | Yes | Reusable request and response examples. |
| components.securitySchemes | object | Yes | Definition of the `apikey` header security scheme. |
Example response excerpt
The full response contains every path and reusable component. This excerpt shows selected top-level values from the response:
{
"openapi": "3.1.0",
"info": {
"title": "Quicknode Earn Public API",
"version": "1.3.0",
"summary": "HTTP API to drive Earn strategies end to end.",
"contact": {
"name": "Quicknode Earn",
"url": "https://earn.quicknode.com"
},
"license": {
"name": "Proprietary",
"url": "https://www.quicknode.com/terms-of-service"
}
},
"servers": [
{
"url": "https://earn-api.quicknode.dev/functions/v1/api",
"description": "Production"
}
],
"security": [
{
"apikey": []
}
],
"tags": [
{
"name": "Discovery",
"description": "Machine-readable API index and the self-served OpenAPI document."
}
]
}
HTTP responses
| Status | Description |
|---|---|
| 200 | The OpenAPI 3.1 document. |
| 429 | Rate limit exceeded. `Retry-After` (seconds) tells you when to retry. Reads, feedback, and push writes are keyed per IP; create/update/delete are keyed per wallet+IP; deposit/withdraw/claim calldata is keyed per strategy+IP. |
OpenAPI source
This page is based on operation getOpenapiDocument in the Earn OpenAPI 3.1 specification.