---
title: "List Access Requests"
method: GET
path: "/v2/access-requests"
tags: ["Access Request API"]
---

# List Access Requests

`GET /v2/access-requests`

List access requests for a team. Filter by user, entitlement, app instance, status, or time range.

## Query parameters

- `teamId` string — The ID of the team. Required.
- `pageSize` integer — Maximum number of results to return. Default is 1000, maximum is 5000.
- `pageToken` string — Token for pagination. Leave empty for the first request.

## Response `200`

Success

- SvflowPublicapiListAccessRequestsResponse
  - `data` SvflowPubapimodelsAccessRequest[] — The list of access requests.
    - `id` string — The unique ID of the access request.
    - `teamId` string — The ID of the team that the access request belongs to.
    - `status` 'ACCESS_REQUEST_STATUS_UNSPECIFIED' | 'ACCESS_REQUEST_STATUS_PENDING' | 'ACCESS_REQUEST_STATUS_APPROVED' | 'ACCESS_REQUEST_STATUS_DENIED' | 'ACCESS_REQUEST_STATUS_EXPIRED' | 'ACCESS_REQUEST_STATUS_REVOKED' | 'ACCESS_REQUEST_STATUS_CANCELED' | 'ACCESS_REQUEST_STATUS_FAILED' — AccessRequestStatus represents the overall status of an access request. Used by the public API for SDK consumers.
    - `createdAt` string — The timestamp when the access request was created.
    - `targetUserId` string — The ID of the target user for whom access was requested.
    - `requestedRoleId` string — The ID of the requested role.
    - `expiresAt` string, nullable — The timestamp when the currently active time allocation expires. This is only set when the access request has been provisioned and is not yet concluded. If the request has been extended, this reflects the expiry of the latest (current) time allocation, not the original one.
    - `linkedTicketId` string, nullable — The ID of the ticket that originated this access request. This always matches the linked_ticket_id of the first time allocation. Extensions may be created from a different ticket — see each time allocation's linked_ticket_id for that.
    - `timeAllocations` SvflowPubapimodelsAccessRequestTimeAllocation[] — Every access request contains one or more time allocations. A time allocation represents a discrete grant (or pending grant) of access for a specific duration. The first time allocation is created with the initial request. When a user extends an existing access request, a new time allocation is appended — the previous one is invalidated (superseded) and the new one becomes the active or pending allocation. At most one time allocation is active and at most one is pending at any given time. Ordered by creation time ascending.
      - `id` string — The unique ID of the time allocation.
      - `status` 'ACCESS_REQUEST_TIME_ALLOCATION_STATUS_UNSPECIFIED' | 'ACCESS_REQUEST_TIME_ALLOCATION_STATUS_PENDING' | 'ACCESS_REQUEST_TIME_ALLOCATION_STATUS_ACTIVE' | 'ACCESS_REQUEST_TIME_ALLOCATION_STATUS_INVALIDATED' — The status of an access request time allocation.
      - `createdAt` string — The timestamp when the time allocation was created.
      - `requestedMinutes` integer — The number of minutes of access requested in this time allocation.
      - `approvedMinutes` integer, nullable — The number of minutes actually approved. Null while the time allocation is pending.
      - `businessJustification` string, nullable — The business justification provided for this time allocation.
      - `requestedByUserId` string — The ID of the user who requested this time allocation (may differ from the original requester for extensions).
      - `invalidationReason` 'ACCESS_REQUEST_TIME_ALLOCATION_INVALIDATION_REASON_UNSPECIFIED' | 'ACCESS_REQUEST_TIME_ALLOCATION_INVALIDATION_REASON_SUPERSEDED' | 'ACCESS_REQUEST_TIME_ALLOCATION_INVALIDATION_REASON_CANCELED' | 'ACCESS_REQUEST_TIME_ALLOCATION_INVALIDATION_REASON_REJECTED' | 'ACCESS_REQUEST_TIME_ALLOCATION_INVALIDATION_REASON_CONCLUDED' — The reason a time allocation was invalidated.
      - `linkedTicketId` string, nullable — The ID of the ticket this time allocation was created from, if any. For the initial allocation this is the ticket that originated the access request. For extensions this may be a different ticket.
      - `approvalRequestId` string, nullable — The ID of the approval request for this time allocation, if any. Each time allocation may have its own approval round (e.g., initial request vs. extension each go through separate approval).
  - `nextPageToken` string, nullable — Token for retrieving the next page of results. Empty if no more results.

## Other responses

- `default` — Error

---

[API](https://skmtc.net/serval/apis/serval-public-api.md) · [All operations](https://skmtc.net/serval/apis/serval-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/serval/serval-public-api/versions/0549515e9384/schema)
