---
title: "Fill from any tool (Zapier, Make, n8n, Power Automate, Apps Script): one object → the PDF; an array / { rows } / ?respond=job → 202 job (ZIP). The URL is the key; fills bill the hook owner."
method: POST
path: "/api/v1/hook/{token}"
tags: ["Automation"]
---

# Fill from any tool (Zapier, Make, n8n, Power Automate, Apps Script): one object → the PDF; an array / { rows } / ?respond=job → 202 job (ZIP). The URL is the key; fills bill the hook owner.

`POST /api/v1/hook/{token}`

## Request

- Base URL: `https://philforms.com`
- URL: `https://philforms.com/api/v1/hook/{token}`
- Auth: none declared

## Path parameters

- `token` string, required

## Query parameters

- `respond` 'job'
- `file_name_field` string

## Request body

- union
  - object
  - object[]

## Response `200`

Filled, sealed PDF

## Other responses

- `202`: { job, poll, download }
- `400`: Refused value or bad rows
- `402`: Monthly quota reached (prepaid forms are used first when there are any)
- `403`: The hook bills a team its creator left
- `404`: Unknown hook
- `415`: Body is not JSON
- `423`: Hook paused

---

[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)
