Skip to content

Developers

Send for approval and signature from your own systems

Your ERP, HR or purchasing system already knows who needs to approve and sign. Refrendo’s REST API sends the request from a template, with the details filled in, and signed webhooks tell your system the moment something happens.

Refrendo is in a closed beta. Beta organisations use it free.

What the API does

Everything is under /api/v1 on app.refrendo.com.au, with a key sent as a bearer token. Business and above An administrator creates keys on the Developers page. Each key is shown once and stored only as a hash.

Send from a template

The quickest path. Name who fills each role, give the details the template asks for, and attach any supporting PDFs you uploaded first. The details are written onto the document, used in the title, and decide which steps apply, so a purchase order sent this way follows the same conditional route as one sent from the app.

curl -X POST https://app.refrendo.com.au/api/v1/requests \
  -H "Authorization: Bearer rfd_…" \
  -H "content-type: application/json" \
  -d '{
    "templateId": "01J…",
    "roles": { "supplier": { "name": "Hannah Price", "email": "hannah@supplier.example" } },
    "details": { "po": "PO-1187", "total": "64000.00", "newSupplier": true },
    "supportingDocuments": { "quote": "01J…" }
  }'

Access codes and witnesses can be asked for in the request, the same as in the app Business and above. Errors come back as JSON with a code and a plain message, including which plan limit or feature a refused request needs.

Webhooks

Add an endpoint on the Developers page and choose the events it hears about. Business and above Refrendo posts a small JSON body with identifiers only, and you fetch the request for its details:

{
  "id": "01J…",
  "type": "request.completed",
  "createdAt": "2026-10-23T09:30:00.000Z",
  "data": { "requestId": "01J…" }
}

An organisation can have up to 10 endpoints. Each must use HTTPS and a public address. An endpoint that fails 20 times in a row is switched off, and whoever created it is emailed.

Built to be called from a system

Keys belong to a person and stop working when they leave. Requests are refused, not half-sent, when something is missing: a role without a person, a required detail, a field off the page. Every call is rate-limited per key, and every upload goes through the same malware checks as one from the app.

Keep reading

Questions

Which plans include the API?

The REST API is on Business and above, and webhooks on Business and above. During the beta, every plan feature is switched on for every workspace and labelled with the plan it will need afterwards.

Does a request sent through the API count towards our allowance?

Yes, once, the same as one sent from the app. Plan limits apply too: a request over your monthly allowance or your people per request is refused with a message that names the limit.

What does a key act as?

The person who created it, with that person’s permissions at the moment of each call. If they leave the organisation, their keys stop working. To send, that person needs two-step verification on, as in the app.

How fast can we call it?

300 calls a minute for each key. Uploads are checked in a queue, so a system sending many documents at once waits for each one to be ready.

Where is the full reference?

Every endpoint, field and error code is in the API reference. Email support@refrendo.com.au and we will send it to you.

Join the closed beta

Refrendo is invitation-only for now. Organisations in the beta send free for as long as it runs.