Developers
Papple AI API
Trigger workflows, fetch results and automate your automation. JSON over HTTPS.
Base URL
https://pappleai.com/wp-json/papple/v1
Authentication
Create an API key in App → API keys (Pro plan and above). Keys are shown once, stored as hashes, scoped, and can expire or be revoked. Send it as a bearer token:
Authorization: Bearer pk_live_…Scopes: read, runs:write, agents:write, kb:write, approvals:write. Approvals can only be decided by signed-in people, never by API keys.
Run a workflow
curl -X POST https://pappleai.com/wp-json/papple/v1/workflows/{id}/run \
-H "Authorization: Bearer $PAPPLE_KEY" \
-H "Content-Type: application/json" \
-d '{"input": {"from": "jane@acme.com", "subject": "Renewal", "body": "…"}}'The response is the run: id, status (completed, failed, awaiting_approval, rejected), output, per-step details and credits used. Runs that reach an approval return awaiting_approval; poll the run or subscribe via a notify step.
Get a run
GET https://pappleai.com/wp-json/papple/v1/runs/{id}List workflows, agents, runs
GET https://pappleai.com/wp-json/papple/v1/workflows
GET https://pappleai.com/wp-json/papple/v1/agents
GET https://pappleai.com/wp-json/papple/v1/runs?status=completedAdd knowledge
POST https://pappleai.com/wp-json/papple/v1/kbs/{id}/documents (multipart 'file' or JSON {"title","text"})Webhooks
Each workflow has a unique, rotatable webhook URL (shown in the workflow builder). POST any JSON object; top-level keys become {{input.*}} variables. The token in the URL is the credential — rotate it if it leaks.
curl -X POST https://pappleai.com/wp-json/papple/v1/hooks/{token} -H 'Content-Type: application/json' -d '{"name":"Ada","email":"ada@example.com","message":"Need pricing for 40 seats"}'Rate limits
Per API key: Pro 60/min, Business 300/min, Enterprise 1,200/min. Webhooks: 120/min per workflow. Exceeding a limit returns 429.
Errors
Errors return JSON {"code","message","data":{"status"}} with 400 (invalid input), 401 (bad key), 402 (plan limit), 403 (permission), 404, 422 (execution error) or 429.
Template variables
In prompts and tool parameters use {{input.field}}, {{step_key}} or {{step_key.field}} for JSON step outputs, {{workspace.name}}, {{now}}, and {{secret.NAME}} (HTTP tool only; resolved at execution, never stored in run logs).
Put your first agent to work today
Free plan, no card. Install an agent from the marketplace and run it on real work in minutes.