Approval Requests

Get approval request timeline

GET/approval-requests/{type}/{requestId}/timeline

Lists the events of an approval request, oldest first, across every time the request was started: started, restarted, rejected (stamped with the refusal time), one vote_ event per vote named for its state, vote_removal after every deleted vote except a sent-back one (the reason in note, or null) and choice when a route was chosen. Visibility is the same as for the request itself.

Path parameters

  • typestringRequired#

    The kind of request: opportunity (a deal being published or shared) or invite (an investor invitation).

    One of: opportunity, invite
  • requestIdstring (uuid)Required#

    The request key: the deal's UUID for opportunity, or the invite's UUID for invite. Matched without regard to case. Anything that is not a UUID is 404.

Query parameters

  • limitinteger#

    Page size (1–100). Defaults to 25; values are clamped to the range.

    Default: 25
  • cursorstring#

    Opaque pagination cursor taken from a prior response's meta.next_cursor.

Responses

200

One page of events.

ApprovalTimelineEntry[]
{
  "data": [
    {
      "event": "started",
      "occurred_at": "2026-06-15T10:30:00Z"
    },
    {
      "event": "vote_approved",
      "occurred_at": "2026-06-15T11:02:10Z",
      "user_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
      "step_id": 318,
      "note": "Looks good."
    }
  ],
  "meta": {
    "limit": 25,
    "next_cursor": null,
    "prev_cursor": null
  }
}
401

Authentication failed. error.code is one of invalid_token, expired, revoked.

Error
403

Authorization failed. error.code is one of org_disabled, ip_blocked, missing_scope, scope_disabled, user_disabled.

Error
404

Resource not found (error.code = not_found).

Error
422

The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per problem, or a code documented on the operation.

Error
429

Rate limit exceeded (error.code = rate_limited).

Error

Examples

curl https://your-org-domain/kong/core/api/v2/approval-requests/{type}/{requestId}/timeline\
  -H "Authorization: Bearer $HELM_API_KEY"\
  -H "Content-Type: application/json"