FruxonDocs
UsersCore

Record the current user's acceptance of the published legal documents.

The request states which version is being accepted, echoed from the GET. A version that is not current is rejected, so a stale browser tab cannot accept superseded documents and be counted as current. Acceptance is appended, never updated: accepting twice — after a version bump, or from a second device — writes a second row, because both are real events and this record is evidence rather than a flag. The caller's IP and user agent are recorded alongside, as evidence of consent.

POST
/v1/users/me/terms:accept
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

version*string

The version being accepted, echoed from GET /v1/users/me/terms. Required, and checked against the current version — a stale client cannot accept superseded documents.

Length1 <= length
surface?string

Where the acceptance was given. Defaults to the re-consent prompt, which is the honest default: sign-up is the narrower claim and the client has to say so explicitly.

Value in"UNSPECIFIED" | "SIGN_UP" | "RE_CONSENT"
[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/users/me/terms:accept" \  -H "Content-Type: application/json" \  -d '{    "version": "string"  }'
{
  "version": "string",
  "accepted": false,
  "documents": [
    {
      "name": "string",
      "title": "string",
      "url": "string"
    }
  ]
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty