Get an agreement by ID (stamps `readAt` on first view)
GET/agreement/:id
Returns the agreement. On the first GET for an agreement still in pending-read, the lifecycle is transitioned to read and readAt is stamped as a side-effect — there is no separate mark as read endpoint. Subsequent GETs are read-only.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 422
Agreement retrieved successfully
Bad Request - Invalid input data
Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient permissions
Not Found - Resource not found
Conflict - Resource already exists or state conflict
Unprocessable Entity - Validation error
Environment: