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

# Get a company's meetings

> Meetings for a single company, newest first. Cursor-paginated over the meeting's start time. For a single meeting (and its notes), use `GET /meetings/:id`.



## OpenAPI

````yaml /openapi.json get /portfolio/{id}/meetings
openapi: 3.1.0
info:
  title: Cura API
  version: 1.0.0
  description: >-
    Public, read-only access to a workspace's portfolio. Authenticate every
    request with your `cura_…` API key as a bearer token.
servers:
  - url: https://api.cura.inc
    description: Production
security:
  - ApiKey: []
paths:
  /portfolio/{id}/meetings:
    get:
      tags:
        - Portfolio
        - Meetings
      summary: Get a company's meetings
      description: >-
        Meetings for a single company, newest first. Cursor-paginated over the
        meeting's start time. For a single meeting (and its notes), use `GET
        /meetings/:id`.
      operationId: getPortfolioCompanyMeetings
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
            description: Portfolio company id.
          required: true
          description: Portfolio company id.
        - in: query
          name: limit
          schema:
            default: 50
            description: Max meetings to return (1–100).
            example: 50
            type: integer
            minimum: 1
            maximum: 100
          description: Max meetings to return (1–100).
        - in: query
          name: cursor
          schema:
            description: >-
              Return meetings that started before this ISO 8601 timestamp (from
              `pagination.nextCursor`).
            example: '2026-05-30T14:00:00.000Z'
            type: string
          description: >-
            Return meetings that started before this ISO 8601 timestamp (from
            `pagination.nextCursor`).
      responses:
        '200':
          description: A page of meetings.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Meeting'
                  pagination:
                    $ref: '#/components/schemas/CursorPagination'
                required:
                  - data
                  - pagination
                additionalProperties: false
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Company not found in this workspace's portfolio.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Meeting:
      type: object
      properties:
        id:
          type: string
          description: The meeting's unique id.
        attributes:
          type: object
          properties:
            company_id:
              type: string
              description: Id of the portfolio company this meeting belongs to.
            title:
              type: string
              description: Meeting title.
            start_time:
              type: string
              description: When the meeting started (ISO 8601 timestamp).
            end_time:
              anyOf:
                - type: string
                - type: 'null'
              description: When the meeting ended (ISO 8601 timestamp), if known.
            attendees:
              type: array
              items:
                type: object
                properties:
                  email:
                    type: string
                    format: email
                    pattern: >-
                      ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                  name:
                    type: string
                  organizer:
                    type: boolean
                required:
                  - email
                  - organizer
                additionalProperties: false
              description: The meeting's attendees.
            created_at:
              type: string
              description: When the meeting record was created (ISO 8601 timestamp).
            updated_at:
              type: string
              description: When the meeting record was last updated (ISO 8601 timestamp).
          required:
            - company_id
            - title
            - start_time
            - end_time
            - attendees
            - created_at
            - updated_at
          additionalProperties: false
      required:
        - id
        - attributes
      additionalProperties: false
      description: A meeting with a portfolio company.
    CursorPagination:
      type: object
      properties:
        limit:
          type: number
          description: The limit that was applied.
          example: 20
        nextCursor:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Opaque cursor — pass back verbatim as `cursor` to fetch the next
            page; null when exhausted. Do not construct or parse this value.
      required:
        - limit
        - nextCursor
      additionalProperties: false
      description: Cursor-based pagination metadata.
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
      required:
        - error
      additionalProperties: false
      description: An error response.
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        Your workspace API key (`cura_…`), sent as `Authorization: Bearer
        <key>`.

````