---
title: "New hook (Starter+): the URL is returned once. Give form_id (one form per POST) or workflow_id (every form of a workflow over the rows POSTed — 202 with one job per form)"
method: POST
path: "/api/v1/hooks"
tags: ["Automation"]
---

# New hook (Starter+): the URL is returned once. Give form_id (one form per POST) or workflow_id (every form of a workflow over the rows POSTed — 202 with one job per form)

`POST /api/v1/hooks`

## Request

- Base URL: `https://philforms.com`
- URL: `https://philforms.com/api/v1/hooks`
- Auth: HTTP bearer

## Request body

- object
  - `form_id` string
  - `workflow_id` string: Run this workflow on the rows POSTed to the hook (instead of form_id)
  - `name` string
  - `preset` object: Values under every row (≤ 50 KB)
  - `webhook_url` string
  - `team_id` string

## Response `201`

{ hook, url }

## Other responses

- `400`: Not a fillable form
- `402`: Plan has no hooks left — upgrade
- `404`: No such workflow

---

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