API reference
Complete reference for every Render endpoint, parameter, and response field.
Base URL
https://api.render.my
All endpoints are served over HTTPS only. HTTP requests are not accepted. All request and response bodies use application/json.
Authentication
Render uses API keys to authenticate requests. Pass your key as a Bearer token in the Authorization header:
Authorization: Bearer sk_sandbox_your_key_here
Sandbox keys (sk_sandbox_) route to the Render sandbox — never HMRC. Live keys (sk_live_) route to HMRC production. No other configuration is needed to switch environments.
Create a filing
/v1/filingsSubmits a CT600 corporation tax return to HMRC. Returns a Filing object.
Request parameters
| Parameter | Type | Description |
|---|---|---|
companyrequired | object | Company identification details. |
company.namerequired | string | Registered company name. |
company.utrrequired | string | 10-digit Unique Taxpayer Reference. |
company.registration_numberrequired | string | Companies House registration number (8 digits). |
periodrequired | object | Accounting period dates. |
period.startrequired | string | Period start date (ISO 8601: YYYY-MM-DD). |
period.endrequired | string | Period end date (ISO 8601: YYYY-MM-DD). |
financialsrequired | object | Financial figures. All monetary values are integers in pence. |
financials.turnoverrequired | integer | Total turnover for the period, in pence (CT600 Box 145). |
financials.trading_profitrequired | integer | Trading profit for the period, in pence (CT600 Box 37). Pass 0 for a nil return. |
financials.gross_profit | integer | Gross profit in pence (CT600 Box 150). Defaults to 0. |
financials.net_profit | integer | Net profit in pence (CT600 Box 155). Defaults to 0. |
financials.tax_rate_year | integer | Financial year for the applicable tax rate (e.g. 2025). Defaults to current year. |
accounts | object | iXBRL accounts attachment options. |
accounts.standard | string | "frs102" (small companies) or "frs105" (micro-entities). Defaults to "frs102". |
accounts.ixbrl | string | Base64-encoded iXBRL document. If omitted, Render generates a minimal iXBRL from your financials. |
options | object | Submission options. |
options.idempotency_key | string | Idempotency key. Equivalent to passing the Idempotency-Key header. |
options.test_mode | boolean | If true and a live key is used, routes to HMRC Test-in-Live rather than production. Defaults to false. |
Example request
curl https://api.render.my/v1/filings \
-H "Authorization: Bearer sk_sandbox_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: my-unique-key-123" \
-d '{
"company": {
"name": "Acme Ltd",
"utr": "1234567890",
"registration_number": "12345678"
},
"period": {
"start": "2024-04-01",
"end": "2025-03-31"
},
"financials": {
"turnover": 9000000,
"trading_profit": 1200000,
"tax_rate_year": 2025
},
"accounts": { "standard": "frs102" }
}'Retrieve a filing
/v1/filings/:idReturns the current state of a filing, including HMRC acknowledgement status.
curl https://api.render.my/v1/filings/fil_1a2b3c4d5e6f \ -H "Authorization: Bearer sk_sandbox_..."
Amend a filing
/v1/filings/:id/amendSubmits an amendment to a previously filed return. The engine sets the GovTalk qualifier to amendment and recalculates the IRmark automatically.
curl https://api.render.my/v1/filings/fil_1a2b3c4d5e6f/amend \
-H "Authorization: Bearer sk_sandbox_..." \
-H "Content-Type: application/json" \
-d '{
"financials": {
"trading_profit": 13000000
}
}'Validate without submitting
/v1/validateValidates a return against the HMRC schema and BVR schematron rules without submitting. Returns a list of errors, or an empty errors array if the return is valid.
{
"valid": true,
"errors": []
}{
"valid": false,
"errors": [
{
"code": "invalid_utr",
"message": "UTR must be exactly 10 digits.",
"field": "company.utr"
}
]
}The Filing object
| Parameter | Type | Description |
|---|---|---|
id | string | Filing ID. Always starts with "fil_". |
object | string | Always "filing". |
status | string | "pending" | "submitted" | "acknowledged" | "failed". |
correlation_id | string | null | HMRC CorrelationID returned after submission. Null until HMRC accepts the submission. |
company_utr | string | 10-digit UTR of the filing company. |
period_start | string | Accounting period start date (YYYY-MM-DD). |
period_end | string | Accounting period end date (YYYY-MM-DD). |
tax_due_pence | integer | null | Estimated CT in pence, computed from the figures you supplied. Not a final HMRC determination — HMRC confirms liability on acknowledgement. |
submitted_at | string | null | ISO 8601 timestamp when the filing was submitted to HMRC. |
acknowledged_at | string | null | ISO 8601 timestamp when HMRC acknowledged the filing. Null until acknowledged. |
livemode | boolean | true if submitted with a live key; false for sandbox. |