Users
Get current user
Retrieve the authenticated user’s profile including their organization memberships and roles. This endpoint only requires user authentication, not organization context. Use this to get the current user’s identity and available organizations.
GET
/
users
/
me
Get current user
curl --request GET \
--url https://app.usechar.ai/api/users/me \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.usechar.ai/api/users/me"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.usechar.ai/api/users/me', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.usechar.ai/api/users/me",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.usechar.ai/api/users/me"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.usechar.ai/api/users/me")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.usechar.ai/api/users/me")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"email": "<string>",
"name": "<string>",
"avatar_url": "<string>",
"organizations": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"role": "<string>"
}
]
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "Authentication required",
"data": {
"code": "<unknown>"
}
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "Access denied",
"data": {
"code": "<unknown>",
"reason": "<string>"
}
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "Resource not found",
"data": {
"code": "<unknown>",
"resource": "<string>",
"resourceId": "<string>"
}
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "An internal error occurred",
"data": {
"code": "<unknown>"
}
}Authorizations
WorkOS JWT token. Obtain via WorkOS AuthKit authentication flow. The token must include organization_id claim for organization-scoped endpoints.
Response
OK
User profile including organization memberships and roles
WorkOS user ID for the account (e.g., user_01ABC...)
Primary email address for the user.
Display name from WorkOS, if available.
URL to the user's avatar image, if provided.
List of organizations the user is a member of
Show child attributes
Show child attributes
⌘I
Get current user
curl --request GET \
--url https://app.usechar.ai/api/users/me \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.usechar.ai/api/users/me"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.usechar.ai/api/users/me', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.usechar.ai/api/users/me",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.usechar.ai/api/users/me"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.usechar.ai/api/users/me")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.usechar.ai/api/users/me")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"email": "<string>",
"name": "<string>",
"avatar_url": "<string>",
"organizations": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"role": "<string>"
}
]
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "Authentication required",
"data": {
"code": "<unknown>"
}
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "Access denied",
"data": {
"code": "<unknown>",
"reason": "<string>"
}
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "Resource not found",
"data": {
"code": "<unknown>",
"resource": "<string>",
"resourceId": "<string>"
}
}{
"defined": "<unknown>",
"code": "<unknown>",
"status": "<unknown>",
"message": "An internal error occurred",
"data": {
"code": "<unknown>"
}
}
