Grant (positive delta) or claw back (negative delta) an outcome balance. Must be a prepaid (ADVANCE) part of the customer's current plan — otherwise 422 and nothing is written. Send an idempotencyKey to make it safe to retry.
Authorization
apiKey Organisation-scoped key from Settings → API Keys.
In: header
Path Parameters
Customer id.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/customers/cus_abc123/outcomes/adjust" \ -H "Content-Type: application/json" \ -d '{ "agentKey": "extract-clauses", "delta": -3, "notes": "Claw back unused contract-review runs", "idempotencyKey": "clawback:ord_1043" }'{ "statusCode": 200, "statusDetail": { "status": "SUCCESS", "message": "OK" }, "result": { "adjusted": true, "replayed": false, "adjustedAt": "2019-08-24T14:15:22Z", "remaining": 9, "customerArchived": false }}{ "statusCode": 400, "statusDetail": { "status": "ERROR", "message": "Request body must be valid JSON." }, "result": {}}{ "statusCode": 401, "statusDetail": { "status": "ERROR", "message": "Invalid API key." }, "result": {}}{ "statusCode": 404, "statusDetail": { "status": "ERROR", "message": "No customer with id \"cus_abc123\"." }, "result": {}}{ "statusCode": 422, "statusDetail": { "status": "ERROR", "message": "No credit with agent key \"summarize\" exists in this workspace." }, "result": {}}{ "statusCode": 500, "statusDetail": { "status": "ERROR", "message": "Could not complete the request." }, "result": {}}The same call, addressed by the customer's externalId. Same body and response.
Authorization
apiKey Organisation-scoped key from Settings → API Keys.
In: header
Path Parameters
Your own id for the customer (its externalId): 1–32 letters, numbers or "-", matched exactly (case-sensitive).
^[A-Za-z0-9-]{1,32}$1 <= length <= 32Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/customers/ext/acme-42/outcomes/adjust" \ -H "Content-Type: application/json" \ -d '{ "agentKey": "extract-clauses", "delta": -3, "notes": "Claw back unused contract-review runs", "idempotencyKey": "clawback:ord_1043" }'{ "statusCode": 200, "statusDetail": { "status": "SUCCESS", "message": "OK" }, "result": { "adjusted": true, "replayed": false, "adjustedAt": "2019-08-24T14:15:22Z", "remaining": 9, "customerArchived": false }}{ "statusCode": 400, "statusDetail": { "status": "ERROR", "message": "Request body must be valid JSON." }, "result": {}}{ "statusCode": 401, "statusDetail": { "status": "ERROR", "message": "Invalid API key." }, "result": {}}{ "statusCode": 404, "statusDetail": { "status": "ERROR", "message": "No customer with id \"cus_abc123\"." }, "result": {}}{ "statusCode": 422, "statusDetail": { "status": "ERROR", "message": "No credit with agent key \"summarize\" exists in this workspace." }, "result": {}}{ "statusCode": 500, "statusDetail": { "status": "ERROR", "message": "Could not complete the request." }, "result": {}}