ResourcesUsers and Account

Users and Account

Manage user profiles, subscriptions, workspaces, and business settings through the Talkturo API — retrieve current user data, check subscription limits, list workspaces, and update business profiles.

curl --request GET \
  --url https://app.talkturo.com/api/users/me \
  --header "Authorization: Bearer dt_example_9xmk7q2r"
{
  "uid": "usr_7f3d2a91",
  "email": "jane.chen@acme.com",
  "display_name": "Jane Chen",
  "auto_update_enabled": true,
  "has_migrated_to_firebase": true
}
curl --request PUT \
  --url https://app.talkturo.com/api/users/me \
  --header "Authorization: Bearer dt_example_9xmk7q2r" \
  --header "Content-Type: application/json" \
  --data '{
    "display_name": "Jane Chen"
  }'
{
  "uid": "usr_7f3d2a91"
}
curl --request GET \
  --url https://app.talkturo.com/api/users/me/subscription \
  --header "Authorization: Bearer dt_example_9xmk7q2r" \
  --header "X-Talkturo-Account: acme-sales"
{
  "success": true,
  "hasActiveSubscription": true,
  "data": {
    "active": true,
    "plan": "desktop_pro",
    "source": "stripe",
    "current_period_end": "2026-01-31T23:59:59Z",
    "trial_ends_at": null,
    "account_id": "acc_3d92af11",
    "account_slug": "acme-sales",
    "access_blocked_reason": null,
    "limits": {
      "seats": 10,
      "calls_per_month": 5000,
      "session_max_minutes": 120,
      "retention_days": 90,
      "sales_modes": [
        "inbound",
        "outbound"
      ]
    },
    "usage": {
      "calls_this_month": 1240,
      "calls_limit": 5000
    }
  }
}
curl --request GET \
  --url https://app.talkturo.com/api/users/me/workspaces \
  --header "Authorization: Bearer dt_example_9xmk7q2r"
{
  "success": true,
  "workspaces": [
    {
      "account_id": "acc_3d92af11",
      "slug": "acme-sales",
      "name": "Acme Sales",
      "is_personal_account": false,
      "role": "owner",
      "has_desktop_plan": true,
      "has_desktop_access": true,
      "plan": "desktop_pro"
    },
    {
      "account_id": "acc_7d61ce20",
      "slug": "jane-chen",
      "name": "Jane Chen",
      "is_personal_account": true,
      "role": "owner",
      "has_desktop_plan": false,
      "has_desktop_access": true,
      "plan": null
    }
  ]
}
curl --request GET \
  --url "https://app.talkturo.com/api/account/business?account=acme-sales" \
  --header "Cookie: sb-access-token=sb_example_71k2xm; sb-refresh-token=sb_refresh_example_48znq1"
{
  "success": true,
  "business": {
    "business_name": "Acme Sales",
    "business_website": "https://acme.com",
    "business_industry": "Software",
    "business_phone": "+14155550123",
    "business_city": "San Francisco",
    "business_state": "CA",
    "business_country": "US"
  }
}
curl --request PUT \
  --url https://app.talkturo.com/api/account/business \
  --header "Content-Type: application/json" \
  --header "Cookie: sb-access-token=sb_example_71k2xm; sb-refresh-token=sb_refresh_example_48znq1" \
  --data '{
    "account": "acme-sales",
    "businessName": "Acme Sales",
    "businessWebsite": "https://acme.com",
    "businessIndustry": "Software",
    "businessPhone": "+14155550123",
    "businessCity": "San Francisco",
    "businessState": "CA",
    "businessCountry": "US"
  }'
{
  "success": true
}
curl --request PUT \
  --url https://app.talkturo.com/api/account/language \
  --header "Content-Type: application/json" \
  --header "Cookie: sb-access-token=sb_example_71k2xm; sb-refresh-token=sb_refresh_example_48znq1" \
  --data '{
    "account": "acme-sales",
    "language": "en"
  }'
{
  "success": true,
  "language": "en"
}

Endpoint summary

MethodPathPurposeAuth
GET/api/users/meGet the current desktop user profileDesktop JWT
PUT/api/users/meUpdate the current desktop user profileDesktop JWT
GET/api/users/me/subscriptionGet subscription status, limits, and usageDesktop JWT
GET/api/users/me/workspacesList workspaces available to the current userDesktop JWT
GET/api/account/businessGet a workspace business profileSession cookie
PUT/api/account/businessUpdate a workspace business profileSession cookie
GET/api/account/languageGet a workspace languageSession cookie
PUT/api/account/languageUpdate a workspace languageSession cookie, owner only
POST/api/users/me/auto-updateToggle desktop auto-update preferenceDesktop JWT
GET/api/account/verificationsGet account verification statusSession cookie
POST/api/account/verificationsSubmit account verification dataSession cookie

Desktop user endpoints use desktop JWT authentication. Send the desktop token in the Authorization header as Bearer dt_example_9xmk7q2r.

Workspace business endpoints use a session cookie from an authenticated web app session instead of a desktop JWT.

Get current user

Returns the authenticated desktop user's profile and desktop-specific settings.

Endpoint

GET https://app.talkturo.com/api/users/me

Response fields

uidstring
Required

Unique identifier for the current user.

emailstring
Required

User email address.

display_namestring
Required

Display name shown in Talkturo.

auto_update_enabledboolean
Required

Whether desktop auto-updates are enabled for the current user.

has_migrated_to_firebaseboolean
Required

Whether the user account has been migrated to Firebase-based authentication.

Update current user

Updates the authenticated desktop user's profile.

Endpoint

PUT https://app.talkturo.com/api/users/me

Body parameters

body
display_namestring
Required

New display name for the current user.

Response fields

uidstring
Required

Unique identifier for the updated user.

Get subscription

Returns subscription state, account context, plan limits, and current usage for the authenticated desktop user.

Endpoint

GET https://app.talkturo.com/api/users/me/subscription

Headers

header
X-Talkturo-Accountstring

Workspace slug used to resolve subscription data in a specific account context.

Response fields

successboolean
Required

Whether the request completed successfully.

hasActiveSubscriptionboolean
Required

Whether the current user or selected workspace has an active subscription.

dataobject
Required

Subscription details for the current user and, when provided, the selected workspace.

activeboolean
Required

Whether the subscription is currently active.

planstring
Required

Plan identifier for the current subscription.

sourcestring
Required

Billing source for the subscription.

current_period_endstring|null
Required

ISO timestamp for the end of the current billing period.

trial_ends_atstring|null
Required

ISO timestamp for the end of the trial period, or null when no trial is active.

account_idstring|null
Required

Workspace account identifier associated with the subscription context.

account_slugstring|null
Required

Workspace slug associated with the subscription context.

access_blocked_reasonstring|null
Required

Reason access is blocked, or null when access is allowed.

limitsobject
Required

Plan limits applied to the current subscription.

seatsinteger
Required

Maximum number of seats included in the plan.

calls_per_monthinteger
Required

Maximum number of calls allowed each month.

session_max_minutesinteger
Required

Maximum session duration, in minutes.

retention_daysinteger
Required

Number of days data is retained under the plan.

sales_modesarray[string]
Required

Allowed sales modes for the plan.

usageobject
Required

Current usage values tracked against the plan.

calls_this_monthinteger
Required

Number of calls used in the current month.

calls_limitinteger
Required

Call limit applied to the current subscription context.

If you send X-Talkturo-Account, Talkturo resolves limits and usage for that workspace when the authenticated user has access to it.

List workspaces

Returns the workspaces available to the authenticated desktop user.

Endpoint

GET https://app.talkturo.com/api/users/me/workspaces

Response fields

successboolean
Required

Whether the request completed successfully.

workspacesarray[object]
Required

Workspaces the current user can access.

account_idstring
Required

Workspace account identifier.

slugstring
Required

Workspace slug.

namestring
Required

Workspace display name.

is_personal_accountboolean
Required

Whether the workspace is a personal account.

rolestring
Required

Current user's role in the workspace.

has_desktop_planboolean
Required

Whether the workspace has a desktop plan.

has_desktop_accessboolean
Required

Whether the current user can use desktop features in this workspace.

planstring|null
Required

Workspace plan identifier, or null when no plan is attached.

Get business profile

Returns the business profile for a workspace identified by slug.

Endpoint

GET https://app.talkturo.com/api/account/business

Query parameters

query
accountstring
Required

Workspace slug whose business profile you want to retrieve.

Response fields

successboolean
Required

Whether the request completed successfully.

businessobject
Required

Business profile for the requested workspace.

business_namestring|null
Required

Business name for the workspace.

business_websitestring|null
Required

Business website URL.

business_industrystring|null
Required

Business industry.

business_phonestring|null
Required

Business phone number.

business_citystring|null
Required

Business city.

business_statestring|null
Required

Business state or region.

business_countrystring|null
Required

Two-character country code when set for the workspace.

Update business profile

Updates the business profile for a workspace identified by slug.

Endpoint

PUT https://app.talkturo.com/api/account/business

Body parameters

body
accountstring
Required

Workspace slug whose business profile you want to update.

body
businessNamestring

Business name for the workspace.

body
businessWebsitestring

Business website URL.

body
businessIndustrystring

Business industry.

body
businessPhonestring

Business phone number.

body
businessStatestring

Business state or region.

body
businessCountrystring

Two-character ISO country code.

Response fields

successboolean
Required

Whether the business profile update succeeded.

Validate businessCountry as a two-character ISO country code before sending the request. Invalid values can cause the update to fail with 400.

Update language

Updates the language for a workspace. Only workspace owners can change this setting.

Endpoint

PUT https://app.talkturo.com/api/account/language

Body parameters

body
accountstring
Required

Workspace slug whose language you want to update.

body
languagestring
Required

Workspace language. Supported values are en and de.

Allowed values:ende

Response fields

successboolean
Required

Whether the language update succeeded.

languagestring
Required

Updated workspace language.

This endpoint rejects non-owner requests with 403. Check the current user's workspace role before showing language controls in your application.

Get language

Returns the current language for a workspace identified by slug.

Endpoint

GET https://app.talkturo.com/api/account/language

Query parameters

query
accountstring
Required

Workspace slug whose language you want to retrieve.

Response fields

languagestring
Required

Current workspace language code (en or de).

Toggle auto-update preference

Toggle the desktop auto-update preference for the authenticated desktop user.

Endpoint

POST https://app.talkturo.com/api/users/me/auto-update

Body parameters

body
auto_update_enabledboolean
Required

Whether desktop auto-updates should be enabled for the current user.

Response fields

auto_update_enabledboolean
Required

The updated auto-update preference for the current user.

Account verifications

Manage account verification status and submit verification data for compliance purposes.

Get verification status

GET https://app.talkturo.com/api/account/verifications

Returns the current verification status for the authenticated account context.

Submit verification data

POST https://app.talkturo.com/api/account/verifications

Submit verification information for the authenticated account context. The request body and response depend on the type of verification being submitted.

Error codes

StatusMeaning
400Missing required input or invalid request body
401Authentication failed or no valid authenticated session exists
403Access is denied for the current user or workspace context
404The requested workspace was not found
500The server failed to complete the request