---
title: "Define"
method: PUT
path: "/v1/teams/{team_id}/intake/{form}"
tags: ["intake"]
---

# Define

`PUT /v1/teams/{team_id}/intake/{form}`

## Request

- Base URL: `https://api.stormy.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stormy.ai/v1/teams/{team_id}/intake/{form}`
- Auth: none declared

Create or edit one form, and answer with everything the owner's web person needs.

## Path parameters

- `team_id` string, uuid, required
- `form` string, required

## Headers

- `authorization` string, nullable
- `x-darwin-token` string, nullable

## Request body

- FormSpec: What the desk says a form is. Every field has a default a real form can live with.
  - `title` string
  - `wake` string
  - `thanks` string
  - `submit_label` string
  - `error_text` string
  - `origins` string[]
  - `fields` FieldSpec[]
    - `name` string, required
    - `label` string
    - `type` 'text' | 'email' | 'tel' | 'textarea' | 'number' | 'date'
    - `required` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

## Changes

> 68 revisions in range; 1 not diffed.

- **2026-10-02** `146c9ac992af`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/intake/:form/put.md)

---

[API](https://skmtc.dev/stormy/apis/stormy-control-plane.md) · [All operations](https://skmtc.dev/stormy/apis/stormy-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/stormy/apis/stormy-control-plane/revisions/a40e83844eaa?raw)
