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

# Get a project

> Returns a project profile and its current stats. If your API key is associated with the project, the response includes additional owner-only stats.



## OpenAPI

````yaml https://thefirm.biz/api/public/v1/openapi.json get /api/public/v1/projects/{slug}
openapi: 3.1.0
info:
  title: AutoBoy Public API
  version: 0.1.0
  description: >-
    REST API for AutoBoy — browse projects, view detailed stats about your own
    launch, create buy orders and manage your AutoBoy smart wallet.


    ## Authentication


    Most endpoints require an API key, sent as a bearer token:


    ```

    Authorization: Bearer autoboy_…

    ```


    ## Quick start


    1. **Request a key** — `POST /api/public/v1/api-key-requests`

    2. **Register a project** — `POST /api/public/v1/projects`.


    New to AutoBoy? Read the product docs https://docs.thefirm.biz.
servers:
  - url: https://thefirm.biz
security: []
tags:
  - name: API Keys
    description: Request, create, and inspect API keys.
  - name: Projects
    description: Browse projects and their buyers.
  - name: Buy Orders
    description: Read and manage the API key owner's pre-launch buy orders.
  - name: AutoBoy Wallet
    description: Balances of, and withdrawals from, the AutoBoy smart wallet.
  - name: Feedback
    description: Send feedback to The Firm.
paths:
  /api/public/v1/projects/{slug}:
    get:
      tags:
        - Projects
      summary: Get a project
      description: >-
        Returns a project profile and its current stats. If your API key is
        associated with the project, the response includes additional owner-only
        stats.
      operationId: getProject
      parameters:
        - schema:
            type: string
            description: URL-safe identifier of the project.
            example: yurts-by-nurt
          required: true
          description: URL-safe identifier of the project.
          name: slug
          in: path
      responses:
        '200':
          description: The project and its stats.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectDetailResponse'
              example:
                identity:
                  slug: yurts-by-nurt
                  displayName: Yurts By Nurt
                  fid: 3324275
                  xHandle: null
                  farcasterUsername: nurt
                content:
                  bannerImageUrl: https://thefirm.biz/profiles/yurts-by-nurt/yurts-logo.png
                  pfpUrl: https://thefirm.biz/profiles/yurts-by-nurt/yurts-pfp.png
                  bio:
                    - >-
                      Yurts by Nurt aims to be a yurt-centric construction
                      organization leveraging synergy and quantum resistance to
                      deliver sustainable employee housing.
                  websiteUrl: https://thefirm.biz/autoboy
                  teamMembers:
                    - name: Nurt Baglard
                      pfpUrl: https://thefirm.biz/profiles/headshots/headshot-nurt.png
                      followerCount: 1
                      farcasterUrl: https://farcaster.xyz/nurt
                      roles:
                        - projectName: Yurts By Nurt
                          title: Spokesperson
                status:
                  isProfileRegistered: true
                  isLaunchVerified: true
                  hasSniperProtection: true
                stats:
                  buyerCount: 482
                  launch:
                    tokenAddress: '0x4200000000000000000000000000000000000042'
                    launchedAt: '2026-05-12T18:30:00.000Z'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missingAuthorizationHeader:
                  value:
                    error: Unauthorized
                    message: Missing or invalid Authorization header
                invalidApiKey:
                  value:
                    error: Unauthorized
                    message: Invalid API key
        '404':
          description: No project matches the slug.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Not found
                message: No project matches the slug
      security:
        - apiKeyAuth: []
components:
  schemas:
    ProjectDetailResponse:
      type: object
      properties:
        identity:
          type: object
          properties:
            slug:
              type: string
              description: URL-safe identifier, used as the `{slug}` path parameter.
              example: yurts-by-nurt
            displayName:
              type: string
              description: Human-readable project name.
              example: Yurts By Nurt
            fid:
              type: number
              description: Farcaster ID of the project account, if any.
              example: 3324275
            xHandle:
              type:
                - string
                - 'null'
              description: X (Twitter) handle without the leading @, or null.
            farcasterUsername:
              type: string
              description: Farcaster username, if any.
              example: nurt
          required:
            - slug
            - displayName
            - xHandle
          description: Stable identifiers and handles for the project.
        content:
          type: object
          properties:
            bannerImageUrl:
              type: string
              description: Absolute URL of the profile banner image.
            pfpUrl:
              type: string
              description: Absolute URL of the profile picture.
            bio:
              type: array
              items:
                type: string
              description: Profile bio, as an ordered list of paragraphs.
            telegramUrl:
              type:
                - string
                - 'null'
              description: Telegram link, if any.
            websiteUrl:
              type:
                - string
                - 'null'
              description: Project website, if any.
              example: https://thefirm.biz/autoboy
            teamMembers:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: Team member’s name.
                    example: Nurt Baglard
                  pfpUrl:
                    type: string
                    description: Absolute URL of the team member’s profile picture.
                    example: https://thefirm.biz/profiles/headshots/headshot-nurt.png
                  followerCount:
                    type: number
                    description: Farcaster follower count.
                    example: 1
                  roles:
                    type: array
                    items:
                      type: object
                      properties:
                        projectName:
                          type: string
                          example: Yurts By Nurt
                        title:
                          type: string
                          example: Spokesperson
                      required:
                        - projectName
                        - title
                    description: >-
                      Positions the member holds, across this and other
                      projects.
                  farcasterUrl:
                    type:
                      - string
                      - 'null'
                    description: Link to the member’s Farcaster profile, if any.
                    example: https://farcaster.xyz/nurt
                  xUrl:
                    type:
                      - string
                      - 'null'
                    description: Link to the member’s X profile, if any.
                required:
                  - name
                  - pfpUrl
                  - followerCount
                  - roles
              description: Public team roster for the project.
          required:
            - bio
          description: Display content for the project profile.
        expectedLaunch:
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - datetime
                value:
                  type: string
                  description: ISO 8601 timestamp of the expected launch.
                  example: '2026-07-01T15:00:00.000Z'
              required:
                - kind
                - value
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - month
                value:
                  type: string
                  description: Expected launch month, e.g. "2026-07".
                  example: 2026-07
              required:
                - kind
                - value
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - label
                value:
                  type: string
                  description: Free-text launch window, e.g. "Soon".
                  example: Soon
              required:
                - kind
                - value
          description: >-
            When the project expects to launch, expressed as a precise datetime,
            a month, or a free-text label. The `kind` field discriminates the
            shape of `value`.
        status:
          type: object
          properties:
            isProfileRegistered:
              type: boolean
              description: Whether the project has registered a profile with AutoBoy.
            isLaunchVerified:
              type: boolean
              description: >-
                Whether the project has verified its token deployment will
                support auto-buys via AutoBoy.
            hasSniperProtection:
              type: boolean
              description: >-
                Whether the project has enabled Sniper Protection, deploying its
                token via AutoBoy at launch.
          required:
            - isProfileRegistered
            - isLaunchVerified
            - hasSniperProtection
          description: Verification and protection status flags for the project.
        defaultMaxSpendUsdc:
          type: string
          description: >-
            Owner-only. Default max autobuy spend in USDC applied to every user
            on this project, overriding the global default. Present only when
            the requesting API key owns the project.
          example: '500'
        maxSpendOverrides:
          type: array
          items:
            type: object
          description: >-
            Owner-only. Per-account max autobuy spend overrides. Each entry
            pairs a USDC limit with the accounts it applies to, matched by FID,
            address, or X username. Present only when the requesting API key
            owns the project.
        clanker4DeploymentConfig:
          type: object
          description: >-
            Owner-only. Clanker V4 token deployment config for sniper-protected
            projects: token admin, pool configuration, and fee structure.
            Present only when the requesting API key owns the project.
        stats:
          type: object
          properties:
            buyerCount:
              type: integer
              description: Number of accounts that have placed an order for the project.
              example: 482
            launch:
              type:
                - object
                - 'null'
              properties:
                tokenAddress:
                  type: string
                  description: Contract address of the launched token.
                  example: '0x1234567890123456789012345678901234567890'
                launchedAt:
                  type: string
                  description: ISO 8601 timestamp of the launch.
                  example: '2026-05-12T18:30:00.000Z'
              required:
                - tokenAddress
                - launchedAt
              description: Launch details once the token is live, or null before launch.
            simulatedMaxFdvUsdc:
              type: string
              description: >-
                Owner-only. Simulated fully-diluted valuation in USD with
                AutoBoy buys.
              example: '1250000'
            startingMcapUsdc:
              type: string
              description: >-
                Owner-only. Starting market cap in USD from the deployment pool
                config.
              example: '50000'
            totalDepositedUsdc:
              type: string
              description: Owner-only. USDC currently deposited across buyer smart wallets.
              example: '125000'
            totalBuysUsdc:
              type: string
              description: Owner-only. Total committed buy spend in USDC across all buyers.
              example: '98000'
            averageBuyUsdc:
              type: string
              description: Owner-only. Average committed buy spend in USDC per buyer.
              example: '203.32'
          required:
            - buyerCount
            - launch
      required:
        - identity
        - content
        - status
        - stats
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
      example:
        error: Bad request
        message: Invalid request body
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: API key issued via POST /api/public/v1/api-keys.

````