A valid request URL is required to generate request examples{
"agreements": [
{
"document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"title": "<string>",
"version": 123,
"summary": "<string>",
"accepted": true,
"accepted_at": "2023-11-07T05:31:56Z",
"accepted_by": {
"name": "<string>",
"email": "jsmith@example.com"
},
"pending": true
}
],
"pending": 123
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Where this organization stands with OUR terms
The agreements you have with UserKit — our terms of service, our data processing agreement — and whether this organization has signed each one.
The mirror of GET /v1/contact/legal one plane up, with one difference that is the whole module: nothing here refuses anything. A tenant’s required document is reported to their product as blocking and decided there; there is no legitimate equivalent for us. Refusing authentication is forbidden outright, and refusing the panel would keep an organization out of the very screen where they would resolve it. So this reports, the panel interrupts with a card, and the account keeps working.
pending on an agreement is not “they have not accepted this exact version”: a version that declared a material change sets a floor, and an organization is in good standing when it accepted anything at or above it — a corrected typo does not put every owner back in front of a checkbox. The top-level pending is how many are outstanding, stated rather than left to be derived by filtering the list.
Readable by every seat. Whether the company signed is not privileged information inside the company, and a member who could not see it could not understand the card their owner is being shown. Only agreeing is the owner’s.
A valid request URL is required to generate request examples{
"agreements": [
{
"document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"title": "<string>",
"version": 123,
"summary": "<string>",
"accepted": true,
"accepted_at": "2023-11-07T05:31:56Z",
"accepted_by": {
"name": "<string>",
"email": "jsmith@example.com"
},
"pending": true
}
],
"pending": 123
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Autorizações
A staff session token, uk_st_…. Minted by sign-up, sign-in or the two-factor exchange. Only a 401 means it is spent; not_a_member (403) is about the organization named in X-Organization-Id and leaves the token good for the others.
Cabeçalhos
The organization the caller is acting on — the org_… code that appears in the panel URL. It identifies; the membership JOIN is what authorizes, so a forged code reads nothing: the answer is not_a_member (403), which does not mean the session is over. Absent, the session's default organization answers, or — if that membership was revoked while the session was open — any other one the caller still holds.