> ## 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 logs across your programs

> Logs on every program the caller reads, most recently written first: each with its program, release, stage, labels and links, the roles it waits on, and its open questions and outcomes at the head. Narrow it by any of: the record the logs are about (`recordType` with `recordId`, from the links they opened with), the programs they are on (`programs`, comma-separated ids), their stage at the head (`stage`), and the roles they wait on (`waitingOn`, comma-separated, any of). A log on a program the caller cannot read, or that the caller cannot read itself, 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 filters and `limit`.



## OpenAPI

````yaml /openapi.json get /rsl-logs
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-logs:
    get:
      tags:
        - Your programs
      summary: List logs across your programs
      description: >-
        Logs on every program the caller reads, most recently written first:
        each with its program, release, stage, labels and links, the roles it
        waits on, and its open questions and outcomes at the head. Narrow it by
        any of: the record the logs are about (`recordType` with `recordId`,
        from the links they opened with), the programs they are on (`programs`,
        comma-separated ids), their stage at the head (`stage`), and the roles
        they wait on (`waitingOn`, comma-separated, any of). A log on a program
        the caller cannot read, or that the caller cannot read itself, 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 filters and `limit`.
      operationId: listRecordLogs
      parameters:
        - schema:
            type: string
            pattern: ^[a-z][a-z0-9_]{0,63}$
            description: Only logs about a record of this type. Send with `recordId`.
          required: false
          description: Only logs about a record of this type. Send with `recordId`.
          name: recordType
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 200
            description: Only logs about the record with this id. Send with `recordType`.
          required: false
          description: Only logs about the record with this id. Send with `recordType`.
          name: recordId
          in: query
        - schema:
            type: string
            maxLength: 2000
            pattern: ^[a-z0-9][a-z0-9._-]*(,[a-z0-9][a-z0-9._-]*)*$
            description: >-
              Only logs on these programs: their ids, comma-separated, at most
              50.
          required: false
          description: 'Only logs on these programs: their ids, comma-separated, at most 50.'
          name: programs
          in: query
        - schema:
            type: string
            enum:
              - Open
              - Ineligible
              - Declined
              - Quotable
              - Bound
              - Closed
            description: Only logs at this stage at their head.
          required: false
          description: Only logs at this stage at their head.
          name: stage
          in: query
        - schema:
            type: string
            maxLength: 1000
            pattern: ^[a-z_][a-z0-9_]{0,63}(,[a-z_][a-z0-9_]{0,63})*$
            description: >-
              Only logs waiting on one of these roles at their head,
              comma-separated, such as `ops_lead,founder`.
          required: false
          description: >-
            Only logs waiting on one of these roles at their head,
            comma-separated, such as `ops_lead,founder`.
          name: waitingOn
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
            description: Most logs to return, 1–200. Defaults to 50.
          required: false
          description: Most logs to return, 1–200. Defaults to 50.
          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 logs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  logs:
                    type: array
                    items:
                      $ref: '#/components/schemas/LogListItem'
                  nextCursor:
                    type: string
                    nullable: true
                    description: Cursor for the next page, or null on the last page.
                required:
                  - logs
                  - 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:
    LogListItem:
      allOf:
        - $ref: '#/components/schemas/Log'
        - type: object
          properties:
            waitingOn:
              type: array
              items:
                type: string
              description: >-
                The roles with an open question at the head, such as uw or
                manager.
            open:
              type: array
              items:
                type: object
                properties:
                  question:
                    type: string
                    description: An input’s path, or a referral’s name.
                  kind:
                    type: string
                    enum:
                      - input
                      - signoff
                  role:
                    type: string
                    nullable: true
                    description: The lowest role that may answer it.
                  choices:
                    nullable: true
                    description: A JSON value, as the program reads it. Numbers as written.
                  because:
                    type: string
                  reads:
                    type: array
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                        value:
                          nullable: true
                          description: >-
                            A JSON value, as the program reads it. Numbers as
                            written.
                      required:
                        - path
                required:
                  - question
                  - kind
                  - role
              description: The questions open at the head, as its status has them.
            outcomes:
              type: object
              additionalProperties:
                nullable: true
              description: The rating outcomes at the head; empty while any is unknown.
          required:
            - waitingOn
            - open
            - outcomes
    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
    Log:
      type: object
      properties:
        submission:
          type: string
        guideline:
          type: string
        releaseVersion:
          type: integer
          description: The release the log is pinned to.
        bundleId:
          type: string
          description: The release’s bundle, which the log stays on.
        programId:
          type: string
          description: The program the log is pinned to.
        head:
          type: integer
          description: The last entry’s seq.
        stage:
          type: string
          enum:
            - Open
            - Ineligible
            - Declined
            - Quotable
            - Bound
            - Closed
          description: The stage at the head.
        decision:
          $ref: '#/components/schemas/LogDecision'
        labels:
          type: object
          additionalProperties:
            type: string
          description: >-
            What the opener’s systems call the log, such as a policy number;
            `{}` if none.
        links:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              id:
                type: string
            required:
              - type
              - id
          description: The records the log is about; `[]` if none.
        openedAt:
          type: string
        updatedAt:
          type: string
      required:
        - submission
        - guideline
        - releaseVersion
        - bundleId
        - programId
        - head
        - stage
        - decision
        - labels
        - links
        - openedAt
        - updatedAt
    V2Error:
      type: object
      properties:
        error:
          type: string
          minLength: 1
          description: Human-readable explanation of the failure.
      required:
        - error
    LogDecision:
      type: string
      enum:
        - refused
        - incomplete
        - referred
        - clear
        - bound
        - closed
      description: >-
        What the log needs next, read from the status. refused: a rule or a
        sign-off declines (stage Ineligible or Declined). incomplete: an input
        is still unanswered. referred: every input is answered and a sign-off is
        open, for the role its open question names. clear: nothing is open and
        nothing declines, so it can be quoted and bound (stage Quotable). bound:
        a quote is bound. closed: closed without a bound quote.
  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.