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=completed

Add 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.