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

# Get project

> Returns the project that owns the API key, including its prepaid balance.



## OpenAPI

````yaml api-reference/openapi.yaml GET /project
openapi: 3.1.0
info:
  title: OTPBay API
  version: 1.0.0
  description: >-
    Send one-time passwords over Telegram and SMS, verify the codes your users
    enter, and send transactional SMS from your own sender ID.
  contact:
    name: OTPBay support
    email: hello@otpbay.com
servers:
  - url: https://api.otpbay.com/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Project
    description: The project that owns the API key.
  - name: Verify
    description: >-
      Send a code and check it. OTPBay generates the code and falls back from
      Telegram to SMS.
  - name: SMS
    description: Send any text message from one of your approved sender IDs.
  - name: Telegram
    description: Send a one-time code to a Telegram account through the Telegram Gateway.
paths:
  /project:
    get:
      tags:
        - Project
      summary: Get project
      description: >-
        Returns the project that owns the API key, including its prepaid
        balance.
      operationId: getProject
      responses:
        '200':
          description: The project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
              example:
                id: 6650c1f2a9b3e4d5f6a7b8c9
                name: Acme production
                balance: 24.37
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/IpNotAllowed'
components:
  schemas:
    Project:
      type: object
      required:
        - id
        - name
        - balance
      properties:
        id:
          type: string
          description: Project ID.
          example: 6650c1f2a9b3e4d5f6a7b8c9
        name:
          type: string
          description: Project name.
          example: Acme production
        balance:
          type: number
          description: Prepaid balance in US dollars.
          example: 24.37
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: >-
                Stable, machine-readable error code. Branch on this, not on
                `message`.
              example: INSUFFICIENT_BALANCE
            message:
              type: string
              description: Human-readable explanation. The wording can change.
              example: Insufficient balance for this verification.
  responses:
    Unauthorized:
      description: '`MISSING_API_KEY` or `INVALID_API_KEY`.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_API_KEY
              message: Invalid API key.
    IpNotAllowed:
      description: >-
        `IP_NOT_ALLOWED` — the project's IP allowlist is on and your address
        isn't in it.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: IP_NOT_ALLOWED
              message: This IP address is not allowed for this project.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your project API key, sent as `Authorization: Bearer otp_live_...`.
        Create keys on the **API Keys** page of the dashboard.

````