Get what the current user must accept, and whether they have.
Called on sign-in. `accepted: false` is the signal to show the acceptance prompt; nothing else needs to be interpreted. An environment with no published document set configured reports `accepted: true` with no documents, so a missing configuration cannot lock anyone out.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Response Body
curl -X GET "https://api.fruxon.com/v1/users/me/terms"{
"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
}Update the current user's profile.
Partial update — only the fields present in the request body are applied; omitted fields remain unchanged. Use this for first-name / last-name / avatar changes triggered from the in-app profile settings. The caller can only mutate their own profile; identity is taken from the Firebase ID token, not from any path parameter.
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.