curl --request GET \
--url https://api.social-api.ai/v1/users/me \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.social-api.ai/v1/users/me', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.social-api.ai/v1/users/me"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"allowed_platforms": [
"instagram",
"facebook"
],
"avatar_url": "https://example.com/avatar.jpg",
"beta_tester": false,
"billing_block_reason": "past_due",
"billing_blocked": false,
"billing_blocked_at": "<string>",
"billing_currency": "usd",
"email": "user@example.com",
"experiment_enrolled": false,
"experiment_variant": "control",
"facebook_page_selection": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"job_role": "Founder / CEO",
"lock_accounts_to_brand": false,
"onboarding": true,
"plan": "free",
"role": "admin",
"signup_metadata": {},
"use_case": "Managing clients' accounts (agency)"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}Get current user
Returns the authenticated user’s profile (id, email, plan tier, onboarding flag, beta_tester flag, allowed_platforms list, billing_blocked state).
curl --request GET \
--url https://api.social-api.ai/v1/users/me \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.social-api.ai/v1/users/me', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.social-api.ai/v1/users/me"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"allowed_platforms": [
"instagram",
"facebook"
],
"avatar_url": "https://example.com/avatar.jpg",
"beta_tester": false,
"billing_block_reason": "past_due",
"billing_blocked": false,
"billing_blocked_at": "<string>",
"billing_currency": "usd",
"email": "user@example.com",
"experiment_enrolled": false,
"experiment_variant": "control",
"facebook_page_selection": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"job_role": "Founder / CEO",
"lock_accounts_to_brand": false,
"onboarding": true,
"plan": "free",
"role": "admin",
"signup_metadata": {},
"use_case": "Managing clients' accounts (agency)"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}Authorizations
Prefix your API key with "Bearer ". Example: Authorization: Bearer sapi_key_...
Response
User profile
["instagram", "facebook"]
"https://example.com/avatar.jpg"
false
BillingBlockReason is why access is paused, empty when it is not. "past_due": a payment failed, and settling it restores access. "ban": the account was suspended for a Terms of Service violation. Paying does not lift it, and every route except this one returns 403 auth.suspended. Contact support to appeal.
"past_due"
BillingBlocked is true when API access and webhook delivery are paused. Read BillingBlockReason to tell why and whether paying lifts it.
false
BillingBlockedAt is when the block began, or null when not blocked.
BillingCurrency is the currency your subscription is billed in: "usd" or "eur". A subscription never changes currency, so plan changes are priced in it. Kept after a cancellation; "" when you never subscribed.
"usd"
"user@example.com"
ExperimentEnrolled is true only when ExperimentVariant was assigned by the experiment itself. False means the "control" above is a fallback (not enrolled, flag off, or evaluation failed) and must not be recorded as the caller's arm.
false
ExperimentVariant is the caller's variant for staged feature rollouts: "control" or "treatment". "control" unless the caller is enrolled.
"control"
FacebookPageSelection, when true, makes a Facebook connection (and an Instagram connection through Facebook Login) end with status=selection_required so you choose the Pages. Read-only.
false
"550e8400-e29b-41d4-a716-446655440000"
JobRole is what best describes the user, as answered during onboarding. Null until answered.
"Founder / CEO"
LockAccountsToBrand, when true, rejects connecting a social account that is already connected to another of your brands (409 account.already_linked) instead of moving it. Default false.
false
true
"free"
Role is the caller's team role: "admin", "developer", or "" for the account Owner, who holds no Role. An API key and an OAuth token both read "".
"admin"
SignupMetadata holds open-ended answers recorded at signup, such as referral_source and search_query. An empty object until answered.
Show child attributes
Show child attributes
"Managing clients' accounts (agency)"