Developer documentation

Integration diagnostics

Use request IDs, stable claim IDs, and evaluation details to separate policy behavior from transport failures.

Shared proxy IP

If unrelated users appear under one IP, check your proxy configuration. Resolve only headers set by infrastructure you trust.

Claim conflicts

A claim ID represents one logical claim for one recipient. Reusing it with another recipient returns CLAIM_CONFLICT. Use a new claim ID for a genuinely new claim.

Idempotency conflicts

Reuse an idempotency key only with its original payload. After changing the inputs or a policy for a denied claim, keep the claim ID but use a new attempt key.

Unknown outcomes

Compare Veltor's outcome state with your own durable records. Report granted or not_granted only when you know what happened. A timeout is not proof of either result.