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

# List tests

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns every test in the app, newest first. An app has at most 250 tests, so the list is never paged.

This is limited to 6000 requests per minute per caller for each app. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key belonging to a user with access to the app. Read-only keys are refused even though this endpoint only reads, and workspace API keys are not accepted.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/testing-agent/flows
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/testing-agent/flows:
    get:
      summary: List tests
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns every test in the app, newest first. An app has at most 250
        tests, so the list is never paged.


        This is limited to 6000 requests per minute per caller for each app.
        Some workspaces have a different limit.


        <Note>This endpoint accepts a personal API key belonging to a user with
        access to the app. Read-only keys are refused even though this endpoint
        only reads, and workspace API keys are not accepted.</Note>
      operationId: list_flows_api_apps__app_id__testing_agent_flows_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app.
            title: App Id
          description: ID of the app.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The app's tests.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlowResponse'
                title: Tests
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, the app is blocked, or your API
            key is read-only or a workspace API key.
        '404':
          description: App not found.
        '409':
          description: Your workspace requires an unlocked SSO session.
        '429':
          description: Rate limit exceeded.
components:
  schemas:
    FlowResponse:
      properties:
        id:
          type: string
          title: Id
          description: ID of the test.
          example: 68a1c2e4f0b3d9001a7e5c21
        app_id:
          type: string
          title: App Id
          description: ID of the app the test belongs to.
          example: 6820f3a4e7b91d003c45a1f2
        name:
          type: string
          title: Name
          description: Short name of the test.
          example: Create a project
        goal:
          type: string
          title: Goal
          description: What the testing agent tries to do, in plain language.
          example: >-
            Sign up, create a project called Launch, and check that it appears
            on the dashboard.
        role:
          anyOf:
            - type: string
            - type: 'null'
          title: Role
          description: >-
            Role set on the test, or `null` when none is set. A test without one
            can still run as a role its name or goal names. The run's
            `flow_role` shows the role actually used.
          example: admin
        source:
          type: string
          title: Source
          description: >-
            `manual` for a test you created, `app_context` for one Base44
            generated from the app.
          example: manual
        revision:
          type: integer
          title: Revision
          description: Starts at 1 and goes up each time the test is edited.
          example: 1
        created_date:
          type: string
          title: Created Date
          description: When the test was created, as an ISO 8601 UTC timestamp.
          example: '2026-09-28T10:15:00+00:00'
        updated_date:
          type: string
          title: Updated Date
          description: When the test last changed, as an ISO 8601 UTC timestamp.
          example: '2026-09-28T10:15:00+00:00'
      type: object
      required:
        - id
        - app_id
        - name
        - goal
        - source
        - revision
        - created_date
        - updated_date
      title: FlowResponse
      description: |-
        Fields the FE actually reads, plus the metadata the runtime slice
        needs (``role`` for per-flow role-aware runs, ``revision`` for
        optimistic-concurrency, ``source`` so AI-generated rows can be styled
        differently, etc.).
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````