---
title: "Request a deployment change"
method: POST
path: "/ais/{aiId}/deployment-requests"
tags: ["Deployment"]
---

# Request a deployment change

`POST /ais/{aiId}/deployment-requests`

## Request

- Base URL: `https://api.darwin.so/api/v1`
- URL: `https://api.darwin.so/api/v1/ais/{aiId}/deployment-requests`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Owner credentials only. This creates a reviewable request and never mutates infrastructure directly.

## Path parameters

- `aiId` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateAIDeploymentRequest
  - `target` 'DARWIN_CLOUD' | 'DARWIN_PRIVATE_CLOUD' | 'SELF_HOSTED', required
  - `reason` string
  - `requirements` object

## Response `201`

The deployment request.

- object
  - `deploymentRequest` AIDeploymentRequest, required
    - `id` string, required
    - `aiId` string, required
    - `target` 'DARWIN_CLOUD' | 'DARWIN_PRIVATE_CLOUD' | 'SELF_HOSTED', required
    - `status` string, required
    - `reason` string, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400`: The request was invalid.
- `401`: The API key or access token is missing, invalid, expired, or revoked.
- `403`: The principal does not have the required scope or resource access.
- `404`: The resource was not found for this principal.

---

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