Make a key
- In Agent002, open Connections → API keys and choose Make an API key. Only owners can, on the paid Business plans.
- Name it after where you’ll use it, for example Zapier or CRM sync.
- Copy the key: it starts with
a002_and is shown only once. Agent002 keeps only a fingerprint of it.
Send it with every request as Authorization: Bearer a002_… (or X-Api-Key: a002_…). A key acts for your whole account: it reads every form and response, and adds webhooks. It can’t change forms, people or billing. Delete a key under Connections and it stops at once, along with the webhooks it added.
Endpoints
The address is https://forms.agent002.eu/api/v1. Everything is JSON.
GET /me: the account the key belongs to.GET /forms: your forms, newest first, with their status, link and number of responses.GET /forms/{id}: one form and its questions (key, label, type, choices and parts).GET /forms/{id}/responses: responses, newest first.limittakes 1 to 100 (25 by default);beforetakes a response id, to page back.GET /forms/{id}/responses/{responseId}: one response.POST /hookswith{"form": "…", "url": "https://…", "name": "…"}: sends each new response of that form to the address, signed, with retries. It appears under the form’s Destinations. The answer has the webhook’sidand, this once, its signingsecret: keep it to check the signature of what arrives.GET /hooksandDELETE /hooks/{id}: the webhooks added through the API, and removing one.
A response looks exactly like what a webhook gets: the form, the submission with answers by question key, and fields with each question’s label and its answer as text. Files come as a link that asks for an Agent002 sign-in; in webhooks and the API it’s signed for 7 days, so an automation can download it.
Example
The latest five responses of a form:
curl -H "Authorization: Bearer $AGENT002_KEY" "https://forms.agent002.eu/api/v1/forms/FORM_ID/responses?limit=5"
Good to know
- Each key can make 120 requests a minute. Instead of asking for new responses again and again, add a webhook with
POST /hooks. - Errors come with a sentence saying what to fix, in
title, and field errors inerrors. - The full description, for Power Automate custom connectors and code generators: openapi.json.
- Whatever you send answers to becomes responsible for them too: list it in your privacy notice. See the GDPR checklist.