> ## 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 executions

> Returns the API key owner’s executions, newest scheduled first, with relations expanded. A filter naming a malformed UUID returns an empty list rather than an error.



## OpenAPI

````yaml /api-reference/openapi.json get /executions
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:
  /executions:
    get:
      tags:
        - Executions
      summary: List executions
      description: >-
        Returns the API key owner’s executions, newest scheduled first, with
        relations expanded. A filter naming a malformed UUID returns an empty
        list rather than an error.
      operationId: getExecutions
      parameters:
        - name: deviceId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Only executions scheduled on this device.
        - name: scriptId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Only executions for this script.
        - name: workflowId
          in: query
          required: false
          schema:
            type: string
          description: >-
            A workflow UUID to return only that routine’s runs, or the literal
            `none` for one-off runs that no workflow produced.
        - name: status
          in: query
          required: false
          schema:
            type: string
          description: >-
            Comma-separated status filter, e.g. `failed` or `failed,cancelled`.
            Values: pending, processing, completed, failed, skipped, cancelled.
            Unrecognized values are dropped; a filter left with none matches
            nothing.
        - name: from
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            Lower bound (inclusive) on scheduledAt. An unparseable value is
            ignored.
        - name: to
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            Upper bound (inclusive) on scheduledAt. An unparseable value is
            ignored.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            default: 50
          description: Maximum rows to return. Must be a positive integer; defaults to 50.
      responses:
        '200':
          description: List of executions
          content:
            application/json:
              schema:
                type: object
                properties:
                  executions:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: UUID (v7).
                        userId:
                          type: string
                          description: UUID (v7).
                        type:
                          type: string
                          enum:
                            - script
                            - automation
                        automationId:
                          description: >-
                            Automation definition ID, when `type` is
                            `automation`.
                          type: string
                        status:
                          type: string
                          enum:
                            - pending
                            - processing
                            - completed
                            - failed
                            - skipped
                            - cancelled
                          description: >-
                            `pending` is queued, `processing` is claimed by a
                            Companion and running now.
                        scheduledAt:
                          type: string
                          description: ISO 8601 date-time, e.g. 2025-06-01T12:00:00.000Z
                        expiresAt:
                          description: >-
                            Hard deadline after which a still-pending run is
                            expired to `skipped`.
                          type: string
                        leaseExpiresAt:
                          description: >-
                            Lease deadline for a claimed (`processing`) run;
                            renewed by the owning Companion.
                          type: string
                        claimedBy:
                          description: HWID of the Companion currently holding the claim.
                          type: string
                        result:
                          type: object
                          properties:
                            success:
                              type: boolean
                            error:
                              type: string
                            failedNodeId:
                              type: string
                            startedAt:
                              type: string
                              description: >-
                                ISO 8601 date-time, e.g.
                                2025-06-01T12:00:00.000Z
                            completedAt:
                              type: string
                              description: >-
                                ISO 8601 date-time, e.g.
                                2025-06-01T12:00:00.000Z
                          required:
                            - success
                        logs:
                          type: object
                          properties:
                            scriptLogKey:
                              type: string
                            errorScreenshotKey:
                              type: string
                            errorSourceKey:
                              type: string
                            uploadedAt:
                              type: string
                              description: >-
                                ISO 8601 date-time, e.g.
                                2025-06-01T12:00:00.000Z
                        inputValues:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties:
                            anyOf:
                              - type: string
                              - type: boolean
                              - type: array
                                items:
                                  type: string
                        enableAIRecovery:
                          type: boolean
                        switchMobileData:
                          description: >-
                            Cellular data was cycled before this run to force a
                            fresh carrier IP.
                          type: boolean
                        runtimeProvider:
                          type: string
                          enum:
                            - doritos
                            - doritos-lite
                            - none
                          description: >-
                            Container/identity provider to use on the phone.
                            Absent means "infer from the data" (the assigned
                            container’s type, else whichever provider the phone
                            is linked to). `none` runs in the phone’s own
                            environment and actively clears any active proxy —
                            it is not the same as having no container.
                        programId:
                          description: >-
                            Set when the run was auto-created by a warmup
                            program.
                          type: string
                        workflowId:
                          description: Set when the run was auto-created by a workflow.
                          type: string
                        workflowStepIndex:
                          type: number
                        cancelRequestedAt:
                          type: string
                          description: ISO 8601 date-time, e.g. 2025-06-01T12:00:00.000Z
                        createdAt:
                          type: string
                          description: ISO 8601 date-time, e.g. 2025-06-01T12:00:00.000Z
                        updatedAt:
                          type: string
                          description: ISO 8601 date-time, e.g. 2025-06-01T12:00:00.000Z
                        scriptId:
                          description: Expanded script. Absent for automation runs.
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                  description: UUID (v7).
                                name:
                                  type: string
                                estimatedDuration:
                                  type: number
                                  description: Minutes.
                              required:
                                - id
                                - name
                                - estimatedDuration
                            - type: string
                              description: UUID (v7).
                        deviceId:
                          description: >-
                            Expanded device. Absent when the phone this ran on
                            has since been deleted — an execution is a record of
                            work and outlives its device.
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                  description: UUID (v7).
                                name:
                                  type: string
                              required:
                                - id
                                - name
                            - type: string
                              description: UUID (v7).
                        accountId:
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                  description: UUID (v7).
                                username:
                                  type: string
                                platform:
                                  type: string
                                  enum:
                                    - instagram
                                    - tiktok
                                    - x
                                    - threads
                                profileImage:
                                  type: string
                                deviceId:
                                  type: string
                                  description: UUID (v7).
                                containerId:
                                  type: string
                                  description: UUID (v7).
                              required:
                                - id
                                - username
                                - platform
                            - type: string
                              description: UUID (v7).
                        containerId:
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                  description: UUID (v7).
                                containerId:
                                  type: string
                                  description: Provider-side container UUID.
                                name:
                                  type: string
                                bundleId:
                                  type: string
                                containerType:
                                  type: string
                                  enum:
                                    - doritos
                                    - doritos-lite
                                    - graphene
                                providerDeviceRef:
                                  type: string
                                  description: >-
                                    Provider’s own device handle: an Apple
                                    serial for Doritos, a fingerprint digest for
                                    DoritosLite.
                              required:
                                - id
                                - containerId
                                - name
                                - containerType
                                - providerDeviceRef
                            - type: string
                              description: UUID (v7).
                      required:
                        - id
                        - userId
                        - type
                        - status
                        - scheduledAt
                        - createdAt
                        - updatedAt
                      description: >-
                        Execution with relations expanded in place. A reference
                        whose target row is gone stays a UUID string.
                required:
                  - executions
        '400':
          description: >-
            Request failed schema validation. The raw Zod SafeParseError is
            returned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: object
                    properties:
                      name:
                        type: string
                        const: ZodError
                      issues:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                        description: Raw Zod issues (code, path, message, ...).
                    required:
                      - name
                      - issues
                required:
                  - success
                  - error
        '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
        '403':
          description: >-
            Insufficient permissions for this API key’s role, or the key owner
            is disabled / not in an organization.
          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

````