---
title: "List your temporary grant requests"
method: GET
path: "/api/v2/usage/temporary-grant-requests"
tags: ["Usage Metering"]
---

# List your temporary grant requests

`GET /api/v2/usage/temporary-grant-requests`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/usage/temporary-grant-requests`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `assistant_access`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `bits_dev_write`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `bits_investigations_write`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `bits_security_analyst_write`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `agent_builder_run`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `billing_edit`
- TypeScript: <https://skmtc.dev/datadog/apis/datadog-api-v2-collection/docs/api/v2/usage/temporary-grant-requests/get.ts> (a function with typed inputs; its response is checked against the schema)

List the authenticated user's own requests, including decided requests. Other users' requests are never included. Requires an authenticated human user. Service-account credentials aren't supported. Request status remains approved after the grant's expiry, revocation, or replacement.

## Query parameters

- `filter[status]` 'pending' | 'approved' | 'denied' | 'cancelled': The durable request decision, independent of whether its grant is still active.
- `page[limit]` integer
- `page[cursor]` string, uuid

## Response `200`

OK

- TemporaryGrantRequestListResponse: A page of temporary grant requests, ordered by UUID rather than creation time.
  - `data` TemporaryGrantRequestData[], required: Requests visible to the authenticated caller.
    - `attributes` TemporaryGrantRequestAttributes, required: Request history and the linked grant state. List and detail reads include grant_state for approved requests. Decision responses record the decision. Read the request for current grant state.
      - `created_at` string, date-time, required: When the request was submitted.
      - `decided_at` string, date-time: When the decision or cancellation was recorded.
      - `decided_by_user_id` string, uuid: UUID of the reviewer, or of the requester if the request was canceled.
      - `entity_key` string, required: The requester identity resolved by the server.
      - `expires_at` string, date-time, required: Immutable exclusive expiry, normalized to UTC microsecond precision.
      - `grant_state` 'active' | 'expired' | 'revoked' | 'replaced': Current state of the grant associated with an approved request. Replaced means a newer grant superseded this grant. The newer grant might no longer be active. This field is absent for requests that weren't approved.
      - `justification` string, required: Reason for requesting temporary credits. Trimmed and limited to 4096 UTF-8 bytes.
      - `quota_namespace` string, required: The quota namespace. Only AI credits are supported.
      - `requested_by_user_id` string, uuid, required: UUID of the authenticated requester.
      - `status` 'pending' | 'approved' | 'denied' | 'cancelled', required: The durable request decision, independent of whether its grant is still active.
      - `total` integer, required: Target monthly AI credit limit in positive whole credits, not additional credits. Fractional credits are not accepted.
    - `id` string, uuid, required: Server-generated request UUID.
    - `type` 'temporary_grant_requests', required: The temporary grant request resource type.
  - `meta` TemporaryGrantRequestListMeta, required: Pagination metadata.
    - `page` TemporaryGrantRequestPage, required: UUID cursor pagination. A full final page can return a cursor followed by an empty page.
      - `next_cursor` string, uuid: Use this UUID as page[cursor] to retrieve the next page. Omitted when the page is not full.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/3f70db624329?raw)
