Skip to content

Web app and backend

Everything the Flutter SDK does goes through PurrCRM‘s HTTP API, and your own code can call it too. There are three parts, all at your PurrCRM address, https://app.purrcrm.com:

PartWho calls itWith
Guest API, /guest/v1/Your website or web app, from the browser, on behalf of a signed-in user.Your app key, and the user’s token. The site must be one of the app’s web origins.
Server API, /server/v1/Your backend.A server key, kept on your servers.
Public routes, /public/v1/Anyone. Mostly used by PurrCRM‘s own pages and emails.Nothing.
  • From a website or web app: name your site in Web origins, then the messenger, conversations, events, the help center and notices, with fetch.
  • From your backend: Identify, events, erase, export and event definitions, with curl, Node, Python and Go.
  • Sign users in: minting the user’s token with your identity secret.
  • Webhooks: PurrCRM telling your servers what happened.
  • Errors and limits: what a refusal looks like, and how much you may send.
  • API reference: every route, generated from the API itself.
  • Bodies are JSON (Content-Type: application/json), in UTF-8. Field names are snake_case.
  • Times are RFC 3339 in UTC, such as 2026-10-18T09:30:00Z.
  • Ids are strings. Your own id for a person, the external id, is 1 to 200 characters.
  • A refusal is problem JSON with a code to switch on.
  • Send Accept-Language with a user’s language, and words written for people come back in it where your team translated them.