> For the complete documentation index, see [llms.txt](https://developer.abacum.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.abacum.ai/api-reference/me/get-current-user.md).

# Get current user

Retrieve the authenticated user's identity, role and organization context.

```json
{"openapi":"3.0.0","info":{"title":"Abacum public API","version":"1.0.0"},"tags":[{"name":"Me","description":"Check which user a token belongs to, and read the role of that user."}],"servers":[{"url":"https://api.abacum.io","description":"Prod environment"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"An access token from the token endpoint, sent as `Authorization: Bearer <access_token>`. Use it to try an endpoint from this page. The token carries the permissions of its user, so use a user with the lowest role that fits the call."}},"responses":{"Forbidden":{"description":"The bearer token is missing, invalid or expired. The response has an empty body. The API answers `403` for these cases, not `401`.","headers":{"X-Request-ID":{"$ref":"#/components/headers/XRequestID"}}},"TooManyRequests20PerMinute":{"description":"Rate limit exceeded: 20 requests per minute for the same user and URL. Wait the number of seconds in the `Retry-After` header, then retry.","headers":{"Retry-After":{"description":"Seconds to wait before the next request.","schema":{"type":"integer"}},"X-Request-ID":{"$ref":"#/components/headers/XRequestID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailMessage"}}}},"InternalServerError":{"description":"An unexpected error on our side. The response has an empty body. Repeat the request, and contact support if it keeps failing.","headers":{"X-Request-ID":{"$ref":"#/components/headers/XRequestID"}}}},"headers":{"XRequestID":{"description":"Identifier of this request. Quote it when you contact support so they can find the exact request. A server-side client can set it by sending an `X-Request-ID` request header of 1 to 64 characters from `A-Za-z0-9_-`; any other value is replaced by a generated one. Browsers can read this header but cannot send their own. The value identifies a request for support, but it is not proof that only one request used it.","schema":{"type":"string"}}},"schemas":{"DetailMessage":{"type":"object","required":["detail"],"properties":{"detail":{"type":"string"}}}}},"paths":{"/public-api/me":{"get":{"summary":"Get current user","description":"Retrieve the authenticated user's identity, role and organization context.","operationId":"getCurrentUser","tags":["Me"],"responses":{"200":{"description":"The authenticated user's information.","content":{"application/json":{"schema":{"type":"object","required":["id","email","role","organization_id","organization_name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the user."},"email":{"type":"string","format":"email","description":"Email address of the user."},"role":{"type":"string","enum":["SUPER_ADMIN","ADMIN","MEMBER"],"description":"Role of the user. Only `ADMIN` and `SUPER_ADMIN` can call the endpoints that answer `403` to other roles."},"organization_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier of the organization of the user. `null` when the user has no organization."},"organization_name":{"type":"string","nullable":true,"description":"Name of the organization of the user. `null` when the user has no organization."}}}}}},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests20PerMinute"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```
