---
title: "Upload a custom HDR"
method: POST
path: "/v3/backoffice/viewer-environment"
tags: ["Viewer environment"]
---

# Upload a custom HDR

`POST /v3/backoffice/viewer-environment`

## Request

- Base URL: `https://api.rhinoartisan.com`
- URL: `https://api.rhinoartisan.com/v3/backoffice/viewer-environment`
- Auth: API key in header `apikey`
- TypeScript: <https://skmtc.dev/rhinoartisan/apis/rhinoartisan-api/docs/v3/backoffice/viewer-environment/post.ts> (a function with typed inputs; its response is checked against the schema)

Multipart: `file` (.hdr or .exr, up to 32 MB) and optionally `data` (JSON with name; defaults to the file name). At most 20 per organization.

## Response `201`

Environment created

## Other responses

- `400`: ENVIRONMENT_LIMIT, FILE_REQUIRED, INVALID_HDR, INVALID_ENVIRONMENT_NAME

## Changes

- **2026-10-15** `598bac108453`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rhinoartisan/apis/rhinoartisan-api/changes/v3/backoffice/viewer-environment/post.md)

---

[API](https://skmtc.dev/rhinoartisan/apis/rhinoartisan-api.md) - [All operations](https://skmtc.dev/rhinoartisan/apis/rhinoartisan-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rhinoartisan/apis/rhinoartisan-api/revisions/f0e1d3d69cfb?raw)
