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

# List briefings

> List a cursor-paginated briefing feed with status, company, and creation-time filters.



## OpenAPI

````yaml /openapi/public-v1.json get /api/v1/workspaces/{workspaceSlug}/briefings
openapi: 3.1.0
info:
  description: Stable external API for relationship lookup and meeting intelligence.
  title: Floral Public API
  version: 1.0.0
servers:
  - description: Production
    url: https://app.floral.so
security: []
tags:
  - description: Search across active companies and people.
    name: Search
  - description: Create, list, inspect, update, archive, and restore companies.
    name: Companies
  - description: Create, list, inspect, update, archive, and restore people.
    name: People
  - description: Read active public custom-field definitions.
    name: Custom fields
  - description: Search normalized Danish company-register facts.
    name: Company registry
  - description: Generate, list, and inspect meeting briefings.
    name: Briefings
  - description: List, inspect, annotate, and approve meeting summaries.
    name: Summaries
paths:
  /api/v1/workspaces/{workspaceSlug}/briefings:
    get:
      tags:
        - Briefings
      summary: List briefings
      description: >-
        List a cursor-paginated briefing feed with status, company, and
        creation-time filters.
      operationId: listBriefingsV1
      parameters:
        - description: Slug of the workspace pinned to the credential.
          example: acme-nordic
          in: path
          name: workspaceSlug
          required: true
          schema:
            maxLength: 100
            minLength: 1
            pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
            type: string
        - in: query
          description: >-
            Opaque cursor returned as nextCursor by the previous page. Do not
            inspect or construct it.
          example: eyJpZCI6NDIsInNvcnQiOiJ1cGRhdGVkLWRlc2MifQ
          name: cursor
          required: false
          schema:
            type: string
            maxLength: 512
        - in: query
          description: Number of items to return.
          example: 20
          name: limit
          required: false
          schema:
            default: 20
            type: integer
            minimum: 1
            maximum: 50
        - in: query
          description: Restrict results to one company ID.
          example: 42
          name: companyId
          required: false
          schema:
            minimum: 1
            type: integer
        - in: query
          description: Include briefings created at or after this timestamp.
          example: '2026-08-01T00:00:00.000Z'
          name: createdAfter
          required: false
          schema:
            type: string
            format: date-time
        - in: query
          description: Include briefings created at or before this timestamp.
          example: '2026-08-31T23:59:59.000Z'
          name: createdBefore
          required: false
          schema:
            type: string
            format: date-time
        - in: query
          description: Restrict results to one briefing status.
          example: COMPLETE
          name: status
          required: false
          schema:
            type: string
            enum:
              - PENDING
              - IN_PROGRESS
              - COMPLETE
              - FAILED
        - description: >-
            Optional caller-generated correlation ID. Floral returns the
            effective value in X-Request-ID.
          example: 550e8400-e29b-41d4-a716-446655440000
          in: header
          name: X-Request-ID
          required: false
          schema:
            maxLength: 128
            minLength: 1
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                items:
                  - company:
                      id: 42
                      name: Acme Nordic
                    createdAt: '2026-08-16T08:00:00.000Z'
                    excerpt: null
                    id: 126
                    name: Acme Nordic briefing
                    status: PENDING
                    updatedAt: '2026-08-16T08:00:00.000Z'
                    version: >-
                      v1.eyJpZCI6MTI2LCJyZXNvdXJjZSI6ImJyaWVmaW5nIiwidmVyc2lvbiI6IjIwMjYtMDgtMTZUMDg6MDA6MDAuMDAwWiJ9
                nextCursor: null
              schema:
                $ref: '#/components/schemas/BriefingListResponse'
          description: Successful response
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
        '400':
          content:
            application/json:
              example:
                error:
                  code: INVALID_INPUT
                  message: The request contains invalid values.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - INVALID_INPUT
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stable errors: INVALID_INPUT'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
        '401':
          content:
            application/json:
              example:
                error:
                  code: UNAUTHENTICATED
                  message: A valid bearer credential is required.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - UNAUTHENTICATED
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stable errors: UNAUTHENTICATED'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
            WWW-Authenticate:
              description: Bearer authentication challenge.
              example: Bearer realm="floral-api"
              schema:
                type: string
        '403':
          content:
            application/json:
              example:
                error:
                  code: FORBIDDEN
                  message: The credential does not grant this operation.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - FORBIDDEN
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stable errors: FORBIDDEN'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
        '404':
          content:
            application/json:
              example:
                error:
                  code: NOT_FOUND
                  message: The resource was not found.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - NOT_FOUND
                          - FEATURE_DISABLED
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stable errors: NOT_FOUND, FEATURE_DISABLED'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
        '429':
          content:
            application/json:
              example:
                error:
                  code: RATE_LIMITED
                  message: Too many requests. Retry shortly.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - RATE_LIMITED
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stable errors: RATE_LIMITED'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
            Retry-After:
              description: Seconds until the current limit resets.
              schema:
                minimum: 1
                type: integer
        '500':
          content:
            application/json:
              example:
                error:
                  code: INTERNAL_ERROR
                  message: An unexpected error occurred.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - INTERNAL_ERROR
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stable errors: INTERNAL_ERROR'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
      security:
        - bearerAuth: []
      x-codeSamples:
        - label: cURL
          lang: Shell
          source: |-
            curl --request GET \
              --url 'https://app.floral.so/api/v1/workspaces/acme-nordic/briefings?limit=20&status=COMPLETE' \
              --header 'Authorization: Bearer $FLORAL_TOKEN'
components:
  schemas:
    BriefingListResponse:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        items:
          maxItems: 50
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
                exclusiveMinimum: 0
                maximum: 9007199254740991
              version:
                type: string
                minLength: 1
                maxLength: 512
                pattern: ^v1\.[A-Za-z0-9_-]+$
              name:
                type: string
              status:
                type: string
                enum:
                  - PENDING
                  - IN_PROGRESS
                  - COMPLETE
                  - FAILED
              createdAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              updatedAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              company:
                type: object
                properties:
                  id:
                    type: integer
                    exclusiveMinimum: 0
                    maximum: 9007199254740991
                  name:
                    type: string
                required:
                  - id
                  - name
                additionalProperties: false
              excerpt:
                anyOf:
                  - type: string
                  - type: 'null'
            required:
              - id
              - version
              - name
              - status
              - createdAt
              - updatedAt
              - company
              - excerpt
            additionalProperties: false
        nextCursor:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 512
            - type: 'null'
      required:
        - items
        - nextCursor
      additionalProperties: false
    ApiErrorResponse:
      additionalProperties: false
      properties:
        error:
          additionalProperties: false
          properties:
            code:
              enum:
                - CONFLICT
                - FEATURE_DISABLED
                - FORBIDDEN
                - IDEMPOTENCY_CONFLICT
                - INTERNAL_ERROR
                - INVALID_INPUT
                - INVALID_STATE
                - NOT_FOUND
                - PRECONDITION_REQUIRED
                - RATE_LIMITED
                - UNAUTHENTICATED
                - VERSION_CONFLICT
              type: string
            message:
              minLength: 1
              type: string
            requestId:
              maxLength: 128
              minLength: 1
              type: string
          required:
            - code
            - message
            - requestId
          type: object
      required:
        - error
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: Floral PAT
      description: Authenticate with a workspace-pinned Floral personal access token.
      scheme: bearer
      type: http

````