---
title: "get a user given its public identifier"
method: GET
path: "/users/{public_id}"
tags: ["users"]
---

# get a user given its public identifier

`GET /users/{public_id}`

## Request

- Base URL: `https://api.autron.ai`
- URL: `https://api.autron.ai/users/{public_id}`
- Auth: API key in header `Authorization`

## Response `200`

Success

- User
  - `public_id` string: user public identifier
  - `firstname` string: user firstname
  - `lastname` string: user lastname
  - `company` Company
    - `public_id` string: unique company public id
    - `name` string: company name
    - `stripe_customer_id` string: user stripe customer id
    - `stripe_subscription_items` StripeSubscriptionItem[]
      - `subscription` string: Unique id of stripe subscription object
      - `subscription_status` string: Possible values are incomplete, incomplete_expired, trialing, active, past_due, canceled, or unpaid
      - `subscription_current_period_end` string, date-time: End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.
      - `subscription_cancel_at_period_end` boolean: If the subscription has been canceled with the at_period_end flag set to true, cancel_at_period_end on the subscription will be true
      - `subscription_cancel_at` string, date-time: If the subscription has been canceled with the at_period_end flag set to true, cancel_at_period_end on the subscription will be true
      - `subscription_trial_start` string, date-time: The start date of the trial period for the subscription. This timestamp represents when the trial period begins, or null if there is no trial period set.
      - `subscription_trial_end` string, date-time: The end date of the trial period for the subscription. This timestamp represents when the trial period ends, or null if there is no trial period set.
      - `price_id` string: Unique identifier for price object.
      - `price_unit_amount` integer: The unit amount in cents to be charged
      - `price_currency` string: Three-letter ISO currency code, in lowercase
      - `price_billing_scheme` string: Describes how to compute the price per period, either per_unit or tiered
      - `price_recurring_interval` string: The frequency at which a subscription is billed. One of day, week, month or year
      - `price_recurring_interval_count` integer: The number of intervals (specified in the interval attribute) between subscription billings For example, interval=month and interval_count=3 bills every 3 months.
      - `price_recurring_usage_type` string: How the quantity per period should be determined, either metered or licensed
      - `price_product_name` string: The product’s name, meant to be displayable to the customer
    - `managing_company` Company (recursive)
    - `users` User[]
  - `phone` string: user phone
  - `email` string: user email address
  - `admin` string: user type boolean
  - `registered_at` string, date-time: user registration timestamp
  - `email_verified` boolean: user email verified boolean
  - `avatar_url` string: user profile picture URL
  - `primary_seller` Seller
    - `profiles` Profile[]
      - `public_id` string: unique ad profile public id
      - `profile_id` integer: amazon ad profile id (BigInteger)
      - `account_info_marketplace_string_id` string: ad profile account marketplace id
      - `account_info_id` string: ad profile account id
      - `account_info_type` string: ad profile account type
      - `account_info_name` string: ad profile account name
      - `account_info_sub_type` string: ad profile account sub type
      - `adapi_access` boolean: advertising api access
      - `ads_consent_date` string, date-time: Amazon Ads OAuth consent timestamp
      - `ads_refresh_expires_at` string, date-time: Amazon Ads refresh token expiry (consent + 365d)
    - `mws_auth_token` string: seller mws auth token
    - `refresh_token` string: seller auth refresh token
    - `spapi_access` boolean: seller sp api access
    - `spapi_access_refreshed_at` string, date-time: seller sp api access last refreshed
    - `company` Company
      - `public_id` string: unique company public id
      - `name` string: company name
      - `stripe_customer_id` string: user stripe customer id
      - `stripe_subscription_items` StripeSubscriptionItem[]
        - `subscription` string: Unique id of stripe subscription object
        - `subscription_status` string: Possible values are incomplete, incomplete_expired, trialing, active, past_due, canceled, or unpaid
        - `subscription_current_period_end` string, date-time: End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.
        - `subscription_cancel_at_period_end` boolean: If the subscription has been canceled with the at_period_end flag set to true, cancel_at_period_end on the subscription will be true
        - `subscription_cancel_at` string, date-time: If the subscription has been canceled with the at_period_end flag set to true, cancel_at_period_end on the subscription will be true
        - `subscription_trial_start` string, date-time: The start date of the trial period for the subscription. This timestamp represents when the trial period begins, or null if there is no trial period set.
        - `subscription_trial_end` string, date-time: The end date of the trial period for the subscription. This timestamp represents when the trial period ends, or null if there is no trial period set.
        - `price_id` string: Unique identifier for price object.
        - `price_unit_amount` integer: The unit amount in cents to be charged
        - `price_currency` string: Three-letter ISO currency code, in lowercase
        - `price_billing_scheme` string: Describes how to compute the price per period, either per_unit or tiered
        - `price_recurring_interval` string: The frequency at which a subscription is billed. One of day, week, month or year
        - `price_recurring_interval_count` integer: The number of intervals (specified in the interval attribute) between subscription billings For example, interval=month and interval_count=3 bills every 3 months.
        - `price_recurring_usage_type` string: How the quantity per period should be determined, either metered or licensed
        - `price_product_name` string: The product’s name, meant to be displayable to the customer
      - `managing_company` Company (recursive)
      - `users` User[]
    - `global_goals` object
    - `ppc_audit_completed_at` string, date-time: PPC audit completion time
    - `event` string: event
    - `primary_marketplace_id` string: primary marketplaceId
    - `neon_name` string: Neon database name
    - `neon_project_id` string: Neon project ID
    - `neon_connection_string` string: Neon database connection string
  - `allowed_seller_public_ids` string[]
  - `intercom_identity_verification_hash` string: intercom identity verification hash
  - `hear_from` string: autron heared from
  - `reason_to_use` string: reason to use autron
  - `signup_source` string: app the signup came through (agent/dashboard); null = legacy
  - `has_password` boolean: password sign-in is usable (False = OAuth placeholder hash or no hash, #382)
  - `oauth_providers` string[]: identity providers linked to this user (user_oauth_account)

## Other responses

- `404`: User not found.

---

[API](https://skmtc.dev/autron/apis/autron-api.md) · [All operations](https://skmtc.dev/autron/apis/autron-api/llms.txt) · [OpenAPI document](https://skmtc.dev/autron/apis/autron-api/revisions/f696bfa7295f?raw)
