API reference

Complete reference for every Render endpoint, parameter, and response field.

Base URL

text
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:

bash
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.

API keys are generated in your dashboard. Keep them secret — never commit them to source control. Use environment variables.

Create a filing

POST/v1/filings

Submits a CT600 corporation tax return to HMRC. Returns a Filing object.

Request parameters

ParameterTypeDescription
companyrequired
objectCompany identification details.
company.namerequired
stringRegistered company name.
company.utrrequired
string10-digit Unique Taxpayer Reference.
company.registration_numberrequired
stringCompanies House registration number (8 digits).
periodrequired
objectAccounting period dates.
period.startrequired
stringPeriod start date (ISO 8601: YYYY-MM-DD).
period.endrequired
stringPeriod end date (ISO 8601: YYYY-MM-DD).
financialsrequired
objectFinancial figures. All monetary values are integers in pence.
financials.turnoverrequired
integerTotal turnover for the period, in pence (CT600 Box 145).
financials.trading_profitrequired
integerTrading profit for the period, in pence (CT600 Box 37). Pass 0 for a nil return.
financials.gross_profit
integerGross profit in pence (CT600 Box 150). Defaults to 0.
financials.net_profit
integerNet profit in pence (CT600 Box 155). Defaults to 0.
financials.tax_rate_year
integerFinancial year for the applicable tax rate (e.g. 2025). Defaults to current year.
accounts
objectiXBRL accounts attachment options.
accounts.standard
string"frs102" (small companies) or "frs105" (micro-entities). Defaults to "frs102".
accounts.ixbrl
stringBase64-encoded iXBRL document. If omitted, Render generates a minimal iXBRL from your financials.
options
objectSubmission options.
options.idempotency_key
stringIdempotency key. Equivalent to passing the Idempotency-Key header.
options.test_mode
booleanIf true and a live key is used, routes to HMRC Test-in-Live rather than production. Defaults to false.

Example request

cURL
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

GET/v1/filings/:id

Returns the current state of a filing, including HMRC acknowledgement status.

cURL
curl https://api.render.my/v1/filings/fil_1a2b3c4d5e6f \
  -H "Authorization: Bearer sk_sandbox_..."

Amend a filing

POST/v1/filings/:id/amend

Submits an amendment to a previously filed return. The engine sets the GovTalk qualifier to amendment and recalculates the IRmark automatically.

cURL
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

POST/v1/validate

Validates 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.

Response — valid
{
  "valid": true,
  "errors": []
}
Response — invalid
{
  "valid": false,
  "errors": [
    {
      "code": "invalid_utr",
      "message": "UTR must be exactly 10 digits.",
      "field": "company.utr"
    }
  ]
}

The Filing object

ParameterTypeDescription
id
stringFiling ID. Always starts with "fil_".
object
stringAlways "filing".
status
string"pending" | "submitted" | "acknowledged" | "failed".
correlation_id
string | nullHMRC CorrelationID returned after submission. Null until HMRC accepts the submission.
company_utr
string10-digit UTR of the filing company.
period_start
stringAccounting period start date (YYYY-MM-DD).
period_end
stringAccounting period end date (YYYY-MM-DD).
tax_due_pence
integer | nullEstimated CT in pence, computed from the figures you supplied. Not a final HMRC determination — HMRC confirms liability on acknowledgement.
submitted_at
string | nullISO 8601 timestamp when the filing was submitted to HMRC.
acknowledged_at
string | nullISO 8601 timestamp when HMRC acknowledged the filing. Null until acknowledged.
livemode
booleantrue if submitted with a live key; false for sandbox.