---
title: "Render a zone"
method: POST
path: "/api/v6/zones"
tags: ["Content"]
---

# Render a zone

`POST /api/v6/zones`

API-friendly zone rendering at `POST /api/v6/zones`. Intended for backend rendering where the caller supplies a bearer access token directly. Renders the zone identified by `event_name` in the JSON request body and returns the structured zone content as JSON. Returns an error when no content backs the zone. For browser or in-app rendering use `POST /zones` instead.

## Request body

- RenderZoneRequest
  - `data` object, nullable, required
  - `event_name` string, required
  - `id_token` string, nullable, required
  - `jwt` string, nullable, required

## Response `200`

Zone content.

- ZoneResponse
  - `campaign_id` string, required — Extole campaign id that served this zone. Absent if not determinable.
  - `data` object, required — Creative output for this zone. Structure varies by campaign configuration.
  - `event_id` string, required — Extole event id generated for this zone render request.

## Other responses

- `400` — Zone rendering failed: `missing_zone_name` if no zone name was supplied in the request body, `invalid_zone_name` if the name is not recognised by the client's campaign configuration, or `invalid_creative_result` if the configured creative did not return valid JSON.
- `401` — Unauthorized
- `403` — Forbidden
- `415` — Unsupported Media Type
- `429` — Too Many Requests

---

[API](https://skmtc.net/extole/apis/integration-api-server-to-extole.md) · [All operations](https://skmtc.net/extole/apis/integration-api-server-to-extole/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/extole/integration-api-server-to-extole/revisions/c16e62e66755/schema)
