> ## Documentation Index
> Fetch the complete documentation index at: https://phone-harness.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get your account

> Read account identity, credits and account capacity. can_rent describes the rental-access gate only; balance and shared capacity are checked separately when creating a session.



## OpenAPI

````yaml /openapi.json get /me
openapi: 3.1.0
info:
  title: Phone Harness API
  version: '2026-09-14'
  description: >-
    Public account and disposable Android session API. Open beta. Create
    responses are asynchronous; session duration includes provisioning, while
    billing begins at readiness. This specification documents the current
    supported client contract, not internal management interfaces. All example
    IDs, links, timestamps, limits, prices and digests are illustrative, not
    live credentials, measurements, or account entitlements.
  contact:
    name: Phone Harness support
    email: support@phone-harness.com
servers:
  - url: https://api.phone-harness.com
    description: Production beta
security:
  - ApiKey: []
tags:
  - name: Sessions
  - name: Phone
  - name: ADB
  - name: Account
  - name: History
  - name: Service
paths:
  /me:
    get:
      tags:
        - Account
      summary: Get your account
      description: >-
        Read account identity, credits and account capacity. can_rent describes
        the rental-access gate only; balance and shared capacity are checked
        separately when creating a session.
      operationId: get-account
      responses:
        '200':
          description: Account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
              example:
                uid: exampleuser1
                email: developer@example.com
                name: Example developer
                created: 1800000000
                balance_cents: 1000
                price_cents_per_minute: 35
                environment: production
                billing_mode: metered
                active_session_billing_mode: null
                session_create_idempotency: v1
                default_provider: shlut
                session_limit: 2
                active_session_count: 0
                available_session_slots: 2
                can_rent: true
                profile:
                  id: prof-3f9c2a1b7d5e4c6a8b0f1e2d
                  state: stored
                  session: null
                  exact: true
                  saved_at: 1800000600
        '401':
          description: Bad or missing bearer credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Account access denied or rental access unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected service error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Account:
      type: object
      properties:
        uid:
          type: string
        profile:
          type: object
          description: 'Your own phone: one per account, kept between sessions.'
          properties:
            id:
              type: string
              description: Pass this as profile_id when creating a session.
            state:
              type: string
              enum:
                - empty
                - stored
                - running
                - saving
              description: >-
                empty: nothing saved yet; stored: saved and ready to resume;
                running: held by a live session; saving: being stored after a
                session ended.
            session:
              type:
                - string
                - 'null'
              description: The live session holding the phone, if any.
            exact:
              type:
                - boolean
                - 'null'
              description: >-
                true when the saved phone resumes exactly as left; false when it
                will come back rebooted with its data intact.
            saved_at:
              type:
                - number
                - 'null'
              description: Unix seconds of the last save.
        email:
          type:
            - string
            - 'null'
          format: email
        name:
          type:
            - string
            - 'null'
        created:
          type: number
          description: Account creation. Unix time in seconds.
        balance_cents:
          type: integer
          description: US cents of available account credit.
        price_cents_per_minute:
          type: integer
          description: Current metered rate in US cents per minute.
        environment:
          type: string
        billing_mode:
          type: string
          enum:
            - metered
            - disabled
        active_session_billing_mode:
          type:
            - string
            - 'null'
          enum:
            - metered
            - disabled
            - null
        session_create_idempotency:
          type: string
          enum:
            - v1
        default_provider:
          type: string
        session_limit:
          type: integer
          description: Account limit, not a service-wide capacity guarantee.
        active_session_count:
          type: integer
          description: Includes sessions pending cleanup.
        available_session_slots:
          type: integer
          description: Remaining account slots. Shared capacity is checked separately.
        can_rent:
          type: boolean
          description: >-
            Access gate only; balance and capacity are checked separately at
            creation.
        rent_blocked_reason:
          type: string
          description: Present if can_rent is false.
      required:
        - uid
        - email
        - name
        - created
        - balance_cents
        - price_cents_per_minute
        - environment
        - billing_mode
        - active_session_billing_mode
        - session_create_idempotency
        - default_provider
        - session_limit
        - active_session_count
        - available_session_slots
        - can_rent
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable public error.
        code:
          type: string
          description: Present only for errors with a stable code.
        state:
          type: string
        unsupported:
          type: boolean
        outcome:
          type: string
          enum:
            - unknown
            - installed
        id:
          type: string
          description: Session ID if a create receipt exists.
        request_key:
          type: string
        cleanup_complete:
          type: boolean
        balance_cents:
          type: integer
        session:
          type: string
        session_limit:
          type: integer
        active_session_count:
          type: integer
        available_session_slots:
          type: integer
      required:
        - error
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        Phone Harness account API key (pck_…). The dashboard may use a Clerk
        session JWT with the same header. Never put an account key in a URL.

````