AiPSEO API

Versioned mutations

  • PATCH /v1/qr/{short_id}
  • DELETE /v1/qr/{short_id}
  • PATCH /v1/agents/{agent_id}
  • DELETE /v1/agents/{agent_id}
  • PUT /v1/qr/{short_id}/agent
  • DELETE /v1/qr/{short_id}/agent

Creates do not require If-Match-Version and start at version 1. QR resource_version, agent resource_version, and binding binding_version are independent.

Conflict outcomes

  • Missing header → 428 RESOURCE_VERSION_REQUIRED
  • Stale value → 409 RESOURCE_VERSION_CONFLICT with bounded expected/current details
  • Inactive binding target → BINDING_TARGET_INACTIVE

Paywall mutation exception

Documented runtime exception: PUT /v1/qr/{short_id}/paywall requires qr:write but does not require If-Match-Version, does not increment QR resource_version, is not on the public mutation-audit path, and is not covered by idempotency middleware.