---
title: "POST /api/v1/organizations/{organization_id}/static_sites"
method: POST
path: "/api/v1/organizations/{organization_id}/static_sites"
tags: ["organizations"]
---

# POST /api/v1/organizations/{organization_id}/static_sites

`POST /api/v1/organizations/{organization_id}/static_sites`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/organizations/{organization_id}/static_sites`
- Auth: HTTP bearer

## Path parameters

- `organization_id` string, required

## Request body

- StaticSiteCreatePayload
  - `slug` string, required
  - `name` string, required
  - `description` string
  - `region` string
  - `replication_regions` string[]
  - `index_document` string
  - `error_document` string
  - `hosted_app_id` string
  - `repository_id` string

## Response `200`

Static site created

- object
  - `static_site` StaticSite, required
    - `id` string, required
    - `organization_id` string, required
    - `hosted_app_id` string, nullable, required
    - `repository_id` string, nullable, required
    - `slug` string, required
    - `name` string, required
    - `description` string, nullable, required
    - `status` 'draft' | 'provisioning' | 'active' | 'degraded' | 'archived' | 'failed', required
    - `region` string, nullable, required
    - `replication_regions` string[], required
    - `index_document` string, required
    - `error_document` string, nullable, required
    - `default_url` string, uri, required
    - `cdn_url` string, uri, required
    - `cdn_hostname` string, required
    - `cname_target` string, required
    - `provisioned` boolean, required
    - `failure_message` string, nullable, required
    - `active_deployment_id` string, nullable, required
    - `provisioned_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `201`: Static site created
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `422`: Static site request failed validation
- `502`: Bad gateway

---

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