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

> ## Agent Instructions
> AutoGrowth runs social accounts on real phones. Everything a page describes happens on a physical device in the customer's own fleet, never through a social platform's API.
> The Companion is a macOS desktop app that runs on the customer's own Mac and manages the phones over USB — iPhones through WebDriverAgent, GrapheneOS phones through ADB and scrcpy. Nothing runs while the Companion is closed.
> The Companion builds, signs and installs WebDriverAgent on each iPhone itself. Never tell a customer to sign WebDriverAgent by hand in Xcode; Xcode is a prerequisite the Companion drives, not a step the customer performs.
> Autogrowth MAX is a one-time, invite-only lifetime license bought from the organization's credit balance, not a subscription tier. It is required to run any automation, workflow or Incubator program. Without a price set for that organization, the purchase is refused.
> An automation is one of AutoGrowth's built-in definitions; a script is a graph the customer builds in the Script Builder. The Script Builder is locked platform-wide, so never present building a script as something a customer can do today.
> An API key is a bare 64-character hex string with no prefix. It is shown once, at creation, is sent as `Authorization: Bearer <key>`, and can never be read back.
> An API key sees only the key owner's own accounts, content, collections, prompts, scripts and executions. Devices and tags are organization-scoped, and a non-owner sees only the devices assigned to them or carrying one of their tags. The automation catalog is global.
> There is no pagination. List endpoints return the whole set; the only limiting parameter anywhere is `limit` on `GET /v1/executions`, which defaults to 50 and has no offset to page with.
> Remote control and the live screen are dashboard-only, over WebSocket and MJPEG. Neither is part of the public API.
> The MCP server is hosted at https://mcp.autogrowth.farm and authenticates with OAuth. It is not an npm package and there is nothing to install locally. Its tools inherit exactly the scope of the API key behind them.
> Android support is partial and GrapheneOS-only: those phones appear in the fleet and can be watched and remote-controlled, but they cannot run scripts or automations.
> Never document Hi Katie or any persona feature. When a page and the code disagree, the code wins — check a claim against the source before repeating it.

# List automations

> Returns the built-in automation definitions. These are static platform definitions, identical for every organization; admin-only automations are omitted. Running one requires an Autogrowth MAX subscription, but listing does not.



## OpenAPI

````yaml /api-reference/openapi.json get /automations
openapi: 3.1.0
info:
  title: AutoGrowth API
  description: >-
    Public REST API for automating actions within the AutoGrowth platform.
    Authenticate with Authorization: Bearer <api-key>. Create API keys in
    Dashboard → Settings → Developer API.
  version: 1.0.0
servers:
  - url: https://api.autogrowth.farm/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /automations:
    get:
      tags:
        - Automations
      summary: List automations
      description: >-
        Returns the built-in automation definitions. These are static platform
        definitions, identical for every organization; admin-only automations
        are omitted. Running one requires an Autogrowth MAX subscription, but
        listing does not.
      operationId: getAutomations
      responses:
        '200':
          description: List of automation definitions
          content:
            application/json:
              schema:
                type: object
                properties:
                  automations:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: >-
                            Pass this as `automationId` when creating
                            executions.
                        name:
                          type: string
                        description:
                          type: string
                        category:
                          type: string
                          enum:
                            - instagram
                            - tiktok
                            - x
                            - threads
                            - general
                          description: >-
                            Platform the automation targets. A non-`general`
                            category must match the platform of any `accountId`
                            the execution names.
                        estimatedDuration:
                          type: number
                          description: Estimated run time in minutes.
                        inputs:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: Key to use in an execution’s `inputValues`.
                              type:
                                type: string
                                enum:
                                  - account_selection
                                  - user_input
                                  - user_toggle
                                  - user_select
                                  - user_multi_select
                                  - push_media
                                  - container_select
                                  - container_target
                                description: >-
                                  What the value must be. `account_selection`
                                  takes a username (filled in automatically when
                                  the execution sets `accountId`); `push_media`
                                  takes an array of content IDs; `user_toggle`
                                  takes a boolean; `user_multi_select` takes an
                                  array of `options` values; `container_select`
                                  takes an existing container’s NAME (a plain
                                  string); `container_target` takes a container
                                  ID and may be accompanied by sibling
                                  `inputValues` keys `containerName` (blank =
                                  derive from the username) and `proxyId` when
                                  provisioning a fresh container; everything
                                  else takes a string.
                              name:
                                type: string
                                description: Display label.
                              description:
                                type: string
                              platform:
                                description: >-
                                  Restricts an `account_selection` input to one
                                  platform.
                                type: string
                                enum:
                                  - instagram
                                  - tiktok
                                  - x
                                  - threads
                              options:
                                description: >-
                                  Allowed values for `user_select` /
                                  `user_multi_select`.
                                type: array
                                items:
                                  type: string
                              defaultValue:
                                anyOf:
                                  - type: string
                                  - type: boolean
                                  - type: array
                                    items:
                                      type: string
                            required:
                              - id
                              - type
                              - name
                        adminOnly:
                          description: >-
                            Present only on platform-admin automations, which
                            are hidden from everyone else.
                          type: boolean
                        addon:
                          description: >-
                            Paid add-on the organization must hold to RUN this
                            automation. Unlike `adminOnly` the automation stays
                            visible to everyone; scheduling without the add-on
                            fails with CREATE_ACCOUNT_ADDON_REQUIRED. There is
                            no admin bypass — access is purely payment-based.
                          type: string
                          const: create-account
                        excludeFromWorkflows:
                          description: >-
                            True when the automation cannot be a workflow step,
                            because it is not account-targeted and would fan out
                            nonsensically across a device’s accounts.
                          type: boolean
                      required:
                        - id
                        - name
                        - description
                        - category
                        - estimatedDuration
                        - inputs
                required:
                  - automations
        '401':
          description: 'Missing or invalid API key. Send `Authorization: Bearer <api-key>`.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Human-readable error message.
                required:
                  - error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Developer API key from Dashboard → Settings → Developer API

````