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

# List apps

> List the apps you can open in your organization, sorted by ID. Archived apps are left out.

Each app shows the deployment it serves and what you can do with it. A page can hold fewer than `limit` apps, even none, while `nextCursor` is set; stop only when it is null. To get the next page, pass `nextCursor` as `cursor` and keep the same `limit`. Read-only and safe to retry.



## OpenAPI

````yaml /openapi.json get /apps
openapi: 3.0.3
info:
  title: Effective API
  version: 2.0.0
  description: The public Effective REST API. Authenticate using an Effective API key.
servers:
  - url: https://api.canary.effectiveai.app/api/v2
    description: Canary
security:
  - bearerAuth: []
paths:
  /apps:
    get:
      tags:
        - Apps
      summary: List apps
      description: >-
        List the apps you can open in your organization, sorted by ID. Archived
        apps are left out.


        Each app shows the deployment it serves and what you can do with it. A
        page can hold fewer than `limit` apps, even none, while `nextCursor` is
        set; stop only when it is null. To get the next page, pass `nextCursor`
        as `cursor` and keep the same `limit`. Read-only and safe to retry.
      operationId: listApps
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
            description: Maximum number of items to return (1-200).
          required: false
          description: Maximum number of items to return (1-200).
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 8192
            description: >-
              Opaque nextCursor from this operation. Repeat every other query
              parameter unchanged; a cursor from a different query returns
              invalid_cursor.
          required: false
          description: >-
            Opaque nextCursor from this operation. Repeat every other query
            parameter unchanged; a cursor from a different query returns
            invalid_cursor.
          name: cursor
          in: query
      responses:
        '200':
          description: One page of apps.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2AppList'
        '400':
          description: Invalid request or cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '403':
          description: Your credential does not allow this.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '503':
          description: Temporarily unavailable; retry later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
      security:
        - bearerAuth: []
components:
  schemas:
    V2AppList:
      type: object
      properties:
        apps:
          type: array
          items:
            $ref: '#/components/schemas/V2App'
        nextCursor:
          type: string
          nullable: true
          description: Cursor for the next page, or null on the last page.
      required:
        - apps
        - nextCursor
      additionalProperties: false
    V2CodedError:
      allOf:
        - $ref: '#/components/schemas/V2Error'
        - type: object
          properties:
            code:
              type: string
              minLength: 1
              description: Stable error code. Clients must tolerate unknown future codes.
            details:
              type: array
              items:
                type: object
                properties:
                  location:
                    type: string
                    enum:
                      - path
                      - query
                      - header
                      - body
                  path:
                    type: array
                    items:
                      type: string
                      maxLength: 64
                    maxItems: 12
                  code:
                    type: string
                    enum:
                      - required
                      - invalid_type
                      - invalid_value
                      - unknown_field
                  message:
                    type: string
                    minLength: 1
                    maxLength: 200
                required:
                  - location
                  - path
                  - code
                  - message
              minItems: 1
              maxItems: 20
              description: Bounded safe validation issues; may omit some invalid fields.
            requestId:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Existing server correlation for this HTTP attempt, when
                available.
            dataset:
              type: string
              enum:
                - naic
                - osha
              description: Dataset needed for dataset_not_enabled.
            businessCode:
              type: string
              description: The rater’s own refusal code, for business_rejection.
            violations:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                    description: Authored or built-in constraint code
                  message:
                    type: string
                    description: Authored message for the failed constraint
                  path:
                    type: string
                    description: Input path of the offending value; empty for the request
                  value:
                    nullable: true
                    description: Offending input value, size-bounded by the runtime
                  constraint:
                    type: string
                    description: The constraint the value failed, as text
                  cite:
                    type: string
                    nullable: true
                    description: >-
                      Filing citation of the constraint, when the source cites
                      one
                required:
                  - code
                  - message
                  - path
                  - value
                  - constraint
                  - cite
                additionalProperties: false
              maxItems: 256
              description: >-
                Each input constraint the submission failed, for invalid_inputs
                and business_rejection.
            violationsTruncated:
              type: boolean
              description: >-
                True when the rater reported more violations than violations
                holds.
            executionId:
              type: string
              description: >-
                The recorded execution of a failed rating, for rater rating
                failures.
            accessUrl:
              type: string
              nullable: true
              format: uri
              description: >-
                Where to add the product to your account, for
                product_access_required.
          required:
            - code
    V2App:
      type: object
      properties:
        id:
          type: string
          maxLength: 63
          pattern: ^app-[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$
          description: >-
            App ID: `app-` followed by lowercase letters, digits and hyphens,
            ending in a letter or digit. It is part of the app’s hostname, so
            your organization’s subdomain and the ID together must fit 63
            characters.
        title:
          type: string
          description: Display title; the ID when no title was set.
        description:
          type: string
          nullable: true
          description: Catalog description, or null.
        iconEmoji:
          type: string
          nullable: true
          description: Emoji icon, or null.
        iconUrl:
          type: string
          nullable: true
          description: Icon image URL, or null.
        visibility:
          type: string
          enum:
            - private
            - team
          description: >-
            `team` lists the app for your organization; `private` lists it only
            for people granted access.
        public:
          type: boolean
          description: True when anyone with the link can open the app without signing in.
        managed:
          type: boolean
          description: >-
            True when the app was installed from the app store. A managed app
            has no source of its own and cannot be deployed from a bundle.
        currentDeploymentId:
          type: string
          nullable: true
          description: >-
            The deployment the app serves now, or null before its first
            deployment.
        url:
          type: string
          nullable: true
          format: uri
          description: >-
            Where the app’s interface opens, or null when it has no interface or
            no deployment yet.
        webUrl:
          type: string
          format: uri
          description: 'The app’s page in Effective: activity, access and settings.'
        source:
          type: object
          nullable: true
          properties:
            gitUrl:
              type: string
              format: uri
              description: >-
                HTTPS Git remote of the app’s source repository. Authenticate
                with your API key as the password; any username works.
            defaultBranch:
              type: string
              enum:
                - main
              description: >-
                The branch deployments are built on. You cannot push to it: push
                another branch and deploy it, which merges it here.
          required:
            - gitUrl
            - defaultBranch
          additionalProperties: false
          description: >-
            Where to clone and push the app’s source, when you have `build`
            permission; null otherwise and for an app installed from the app
            store.
        permissions:
          type: array
          items:
            type: string
            enum:
              - run
              - build
              - publish
              - manage
            description: >-
              `run` opens and uses the app, `build` changes its source,
              `publish` uploads release bundles and deploys them, `manage`
              changes its access and settings.
          description: >-
            What you can do with the app. Lists and reads include only apps you
            can `run`; a new app may lack it.
      required:
        - id
        - title
        - description
        - iconEmoji
        - iconUrl
        - visibility
        - public
        - managed
        - currentDeploymentId
        - url
        - webUrl
        - source
        - permissions
      additionalProperties: false
    V2Error:
      type: object
      properties:
        error:
          type: string
          minLength: 1
          description: Human-readable explanation of the failure.
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Effective API key. Send Authorization: Bearer sk-eai-...'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.