Skip to main content

API Reference

Complete API reference for the RenderDoc REST API.

info

Try our Interactive API Explorer! Visit the API Explorer for an interactive documentation experience with try-it-now functionality, code samples in multiple languages, and full schema documentation.

Introduction

The RenderDoc API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Base URL

https://api.renderdoc.dev

Authentication

The RenderDoc API uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

# Example request with authentication
curl https://api.renderdoc.dev/api/v1/documents/generate \
-H "Authorization: Bearer rd_sk_abc123xyz456..." \
-H "Content-Type: application/json" \
-d '{"templateId": "invoice-template", "format": "pdf", "variables": {...}}'

API Sections

Core Resources

Analytics & Monitoring

  • Analytics - Document generation metrics and statistics

Account Management

  • API Keys - Manage API authentication keys
  • Teams - Team and member management
  • Users - User account operations

Reference

  • Error Codes - Complete list of error codes and meanings

Request Format

All POST requests should use JSON format with the Content-Type: application/json header:

POST /api/v1/documents/generate
Content-Type: application/json
Authorization: Bearer rd_sk_abc123xyz456...

{
"templateId": "invoice-template",
"format": "pdf",
"variables": {
"invoiceNumber": "INV-2025-001",
"customerName": "Acme Corporation",
"total": 1750.00
}
}

Response Format

All API responses are returned in JSON format:

{
"jobId": "doc_abc123",
"status": "completed",
"downloadUrl": "https://storage.renderdoc.dev/...",
"expiresAt": "2025-01-10T10:30:00Z",
"createdAt": "2025-01-06T10:30:00Z"
}

Pagination

List endpoints return paginated results. Use the page and limit parameters:

GET /api/v1/documents/jobs?page=1&limit=20

Response includes pagination metadata:

{
"data": [...],
"meta": {
"page": 1,
"limit": 20,
"total": 150,
"totalPages": 8
}
}

Rate Limiting

The API implements rate limiting to ensure fair usage:

PlanRequests/minuteBatch Size
Free1010
Starter100100
Growth500500
ScaleCustom1000

Rate limit headers are included in every response:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 1699276800

Errors

The API uses standard HTTP status codes:

CodeMeaning
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid API key
403Forbidden - Insufficient permissions
404Not Found - Resource doesn't exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Error responses include details:

{
"statusCode": 400,
"code": "ERR_VALID_005",
"message": "Required field is missing",
"timestamp": "2025-11-06T10:30:00Z",
"path": "/api/v1/documents/generate",
"relatedInfo": {
"field": "customerName"
}
}

See Error Codes for complete list.


Versioning

The current API version is v1. All endpoints are prefixed with /api/v1/:

https://api.renderdoc.dev/api/v1/documents/generate

Testing

Use the API Playground to test endpoints interactively without writing code.


Need Help?


Ready to explore? → Choose an API section from the sidebar