> ## 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 how your guideline programs run

> The workspace's guideline programs by id, each with who holds its roles, the decisions its most recent logs stand at (of the 100 most recent, those the caller reads), the procedures that wrote to them, and the apps that show it. A program the caller cannot read is left out, so a page can hold fewer than `limit` and still have a `nextCursor`. For the next page, send `nextCursor` as `cursor` with the same `limit`.



## OpenAPI

````yaml /openapi.json get /rsl-operations
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:
  /rsl-operations:
    get:
      tags:
        - Your programs
      summary: List how your guideline programs run
      description: >-
        The workspace's guideline programs by id, each with who holds its roles,
        the decisions its most recent logs stand at (of the 100 most recent,
        those the caller reads), the procedures that wrote to them, and the apps
        that show it. A program the caller cannot read is left out, so a page
        can hold fewer than `limit` and still have a `nextCursor`. For the next
        page, send `nextCursor` as `cursor` with the same `limit`.
      operationId: listProgramOperations
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 10
            default: 10
            description: How many programs to read, at most 10.
          required: false
          description: How many programs to read, at most 10.
          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 the guideline programs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  programs:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProgramOperations'
                  nextCursor:
                    type: string
                    nullable: true
                    description: Cursor for the next page, or null on the last page.
                required:
                  - programs
                  - nextCursor
                additionalProperties: false
        '400':
          description: Invalid query or cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '403':
          description: The caller cannot read programs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
      security:
        - bearerAuth: []
components:
  schemas:
    ProgramOperations:
      type: object
      properties:
        program:
          type: string
          description: The program’s id.
        release:
          type: integer
          nullable: true
          description: Its latest release, or null before its first.
        roles:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: A role the release’s contract declares, such as uw.
              actsFor:
                type: array
                items:
                  type: string
                description: The roles it may act for.
              holders:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - user
                        - group
                    id:
                      type: string
                      minLength: 1
                      maxLength: 200
                  required:
                    - type
                    - id
                  additionalProperties: false
                description: >-
                  The users and groups bound to it on this program, as PUT sets
                  them.
              everyProgramHolders:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - user
                        - group
                    id:
                      type: string
                      minLength: 1
                      maxLength: 200
                  required:
                    - type
                    - id
                  additionalProperties: false
                description: >-
                  The users and groups bound to it on every program, by the
                  workspace’s role bindings. They hold it here too; PUT here
                  does not change them.
            required:
              - name
              - actsFor
              - holders
              - everyProgramHolders
          description: >-
            Each role its latest release declares, with who holds it: those who
            sign off its logs. Empty before its first release.
        logs:
          type: object
          properties:
            read:
              type: integer
              description: >-
                How many of its most recent logs the caller reads, of at most
                100.
            more:
              type: boolean
              description: Whether it has logs older than the 100 read.
            decisions:
              type: object
              properties:
                refused:
                  type: integer
                incomplete:
                  type: integer
                referred:
                  type: integer
                clear:
                  type: integer
                bound:
                  type: integer
                closed:
                  type: integer
              description: How many of the logs read stand at each decision.
          required:
            - read
            - more
            - decisions
          description: Its most recent logs, as the caller reads them.
        drivenBy:
          type: array
          items:
            type: object
            properties:
              procedureId:
                type: string
                description: A procedure that wrote entries to those logs.
              procedureVersion:
                type: integer
                nullable: true
                description: The latest version of it that wrote, when its runs named one.
              logs:
                type: integer
                description: How many of those logs it wrote to.
              lastWrittenAt:
                type: string
                format: date-time
                description: When it last wrote to one.
            required:
              - procedureId
              - procedureVersion
              - logs
              - lastWrittenAt
          description: >-
            The procedures that wrote to those logs, most recent first. People
            are left out.
        shownIn:
          type: array
          items:
            type: object
            properties:
              appId:
                type: string
                description: An app whose active release declares the program.
              title:
                type: string
                nullable: true
                description: The app’s title.
            required:
              - appId
              - title
          description: >-
            The apps the caller can see whose active release declares the
            program.
      required:
        - program
        - release
        - roles
        - logs
        - drivenBy
        - shownIn
    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: Not currently returned.
          required:
            - code
    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.