What do you want to do?
The three steps every integration does
Whatever language you use, an integration is these three steps, in this order.- Get a key. Every request carries
Authorization: Bearer <your key>. Keys are issued by whoever runs the Parmana server. See Authentication. - Send the action for a decision. Describe what the agent wants to do as a Business Transaction and send it with
POST /execute. Give it a freshbusinessTransactionId(a UUID) every time, because that identifier is the idempotency key. See Idempotency and nonces. - Act on the answer, and only on the answer. Proceed only when the response is HTTP
200andexecutions[0].decision.outcomeisAPPROVED. Treat everything else as “not authorized”. The next section lists every answer.
What each answer means, and what to do
The full list, with the exact messages, is the error catalog.
Which SDK?
Both SDKs never retry
POST /execute for you. They only retry idempotent GET requests, so an SDK can never turn a
single action into two.