PagedResponseOfProjectAction

Paginated response with cursor-based pagination.

  • data
    Type: array object[] · ProjectAction[]
    required

    The list of data items for this page.

    A single entry on a project's activity timeline. Mirrors the contact/company and prospect action shapes: a type (note, chat, or audit) with a type-specific details payload. With include_rollups=true, entries from the project's prospects and deal rooms are folded in and carry a subject identifying which prospect or room they belong to.

    • cursor
      Type: string

      Opaque cursor for pagination.

    • details
      Type: object · ActionDetails nullable

      Type-specific details, discriminated by kind (note, chat, or audit).

      Details for a note action (kind = note).

      • archivedAt
        Type: null | stringFormat: date-time

        When this note was archived (UTC, ISO 8601). Null when active. Populated for archived rows and for superseded predecessors. Only returned when include_archived=true is requested.

      • contentFormat
        Type: null | string

        Rendering format of the note body: markdown for markdown notes; null for plain text.

      • file
        Type: object · FileAttachment nullable

        Attached file information, if any.

      • kind
        enum
        const:  
        note
        values
        • note
      • message
        Type: string

        The note text content.

      • noteType
        Type: null | string

        Activity sub-type: call, meeting, email, news. Null for plain notes and for surfaces that carry no sub-type.

      • supersededByActivityId
        Type: null | string

        Id of the successor note that supersedes this note. Null when this note is the active head of its chain.

      • supersedesActivityId
        Type: null | string

        Id of the predecessor note this note supersedes (this note is the current revision). Null when this note is the original.

    • etag
      Type: null | string

      ETag for optimistic concurrency. Present on the project's own note rows — send it as the If-Match header on PATCH /api/v1/projects/{id}/notes/{noteId}. Null on audit rows and on entries belonging to a related prospect or room (read-only here).

    • event
      Type: null | string

      Stable event name for type=audit rows, in resource.action dot-notation (e.g. project.created, prospect.accepted, room.file_uploaded) — a superset of the webhook event vocabulary. Null for notes.

    • id
      Type: string

      Globally-unique, opaque identifier for this action, stable across the timeline. For the project's own note rows it is the id accepted by PATCH /api/v1/projects/{id}/notes/{noteId}. Treat it as an opaque string.

    • subject
      Type: object · ActionSubject nullable

      The prospect or deal room this entry belongs to. Present only when include_rollups=true folds in entries from the project's prospects and deal rooms; null for the project's own notes and events.

    • timestampUtc
      Type: stringFormat: date-time

      When this action occurred (UTC).

    • type
      Type: string

      Action type: note (a user-authored note) or audit (an immutable lifecycle or activity event).

    • user
      Type: object · ActionUser nullable

      User who performed this action, when known.

  • page
    Type: object
    required

    Pagination metadata.

    • hasMore
      Type: boolean
      required

      True if there are more results available after this page.

    • pageSize
      Type: integer | string Pattern: ^-?(?:0|[1-9]\d*)$Format: int32
      required

      Number of items requested per page.

    • nextCursor
      Type: null | string

      Opaque cursor string to fetch the next page of results. Null if there are no more results.