---
title: "Get one Budget limit increase request"
method: GET
path: "/budgets/limit-increase-requests/{requestId}"
tags: ["Approval requests"]
---

# Get one Budget limit increase request

`GET /budgets/limit-increase-requests/{requestId}`

## Request

- Base URL: `https://api.replit.com/v1`
- URL: `https://api.replit.com/v1/budgets/limit-increase-requests/{requestId}`
- Auth: HTTP bearer

Returns one Budget limit increase request owned by the authenticated Account, including its ordered public history.

For a `workspace_group_limit` request, `groupId` identifies the group whose
shared limit was requested. It does not change when the group is renamed
or another limit becomes applicable to the requester. `group` contains
its current ID and name, or is null when the group is no longer available.

The response includes a strong opaque `ETag`. Send the complete value
unchanged in `If-None-Match` on a later detail read. A matching value returns
304 with no body; otherwise the response is 200 with the request details.
Use the same tag in `If-Match` when reviewing the request.

## Path parameters

- `requestId` string, uuid, required

## Headers

- `If-None-Match` string: HTTP entity-tag validators, separated by commas, or '*'. Weak validators are supported.

## Response `200`

The requested Budget limit increase request and its public history.

- BudgetLimitIncreaseRequestResponse
  - `data` object, required
    - `id` string, uuid, required: Stable identifier for this request.
    - `type` 'workspace_default_user_limit' | 'workspace_user_limit' | 'workspace_group_limit', required: Budget limit targeted by the request. workspace_user_limit raises the requester's own member limit. workspace_default_user_limit raises the workspace default member limit. workspace_group_limit raises the shared aggregate limit of the group identified by groupId, not the requester's individual limit.
    - `status` 'pending' | 'approved' | 'fulfillment_started' | 'fulfilled' | 'fulfillment_failed' | 'denied' | 'canceled', required: Current lifecycle status of the request.
    - `workspaceId` string, required: Workspace whose Budget limit the request targets.
    - `workspace` ProjectWorkspace, required
      - `id` string, required
      - `name` string, required
      - `slug` string, required
    - `requesterUserId` string, required: Account user on whose behalf the request was created.
    - `requester` ApprovalRequester, required
      - `id` string, required
      - `username` string, required
      - `email` string, email, required
      - `firstName` string, nullable, required
      - `lastName` string, nullable, required
    - `limitAtRequestUsd` number, required: Budget limit that was in effect when the request was created.
    - `groupId` string: Stable group identifier captured when a workspace_group_limit request is created. Present only for group requests; does not change when the group is renamed or deleted.
    - `group` object, nullable: Current group identity for workspace_group_limit requests. Present only for group requests. Null if the group was deleted or no longer belongs to this Workspace, and always null on review responses even when the key has read scope.
      - `id` string, required
      - `name` string, required
    - `currentLimitUsd` number, nullable, required: Budget limit currently in effect for the request target. Null when the target no longer has a Budget limit or is no longer available.
    - `requestedAmountUsd` number, nullable, required: Limit the requester asked for. Null when the requester did not name an amount.
    - `approvedLimitUsd` number, nullable, required: Limit the reviewer approved. Null until the request is approved.
    - `appliedLimitUsd` number, nullable, required: Limit applied by fulfillment. Null until fulfillment; equals the approved limit once fulfilled.
    - `version` integer, required: Increments with every recorded event. Use the ETag header, not this field, for conditional requests.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `events` BudgetLimitIncreaseRequestEvent[], required: Ordered public history, ascending by sequence.
      - `sequence` integer, required: Position in the request history. Sequence 1 is the creation event.
      - `eventType` 'request_started' | 'request_approved' | 'request_denied' | 'request_canceled' | 'request_fulfillment_started' | 'request_fulfilled' | 'request_fulfillment_failed', required
      - `fromStatus` 'pending' | 'approved' | 'fulfillment_started' | 'fulfilled' | 'fulfillment_failed' | 'denied' | 'canceled', required: Current lifecycle status of the request.
      - `toStatus` 'pending' | 'approved' | 'fulfillment_started' | 'fulfilled' | 'fulfillment_failed' | 'denied' | 'canceled', required: Current lifecycle status of the request.
      - `actor` union, required: Who performed the action recorded by this event.
        - object
          - `type` 'user', required
          - `userId` string, required
        - object
          - `type` 'api_key', required
          - `apiKeyId` string, uuid, required
        - object
          - `type` 'system', required
          - `systemId` string, required
      - `publicNote` string, nullable, required: Public note recorded with the event, such as a denial reason.
      - `occurredAt` string, date-time, required: When the event was recorded.

## Other responses

- `304`: The request representation has not changed since the ETag sent in If-None-Match. The body is empty.
- `400`: The request parameters are invalid.
- `401`: The API key is missing, malformed, unknown, revoked, or expired.
- `403`: The API key lacks the required scope or Account entitlement.
- `404`: The requested resource does not exist or is not visible to this key.
- `429`: The API key or operation exceeded its rate limit.
- `500`: The server encountered an unexpected error.
- `503`: A required API dependency is temporarily unavailable.

## Changes

- **2026-09-29** `9f669d8cb57d`: 1 warning, 2 info
  - added the new `workspace_group_limit` enum value to the `data/allOf[#/components/schemas/budget-limit-increase-request]/type` response property for the response status `200`
  - added the optional property `data/allOf[#/components/schemas/budget-limit-increase-request]/group` to the response with the `200` status
  - added the optional property `data/allOf[#/components/schemas/budget-limit-increase-request]/groupId` to the response with the `200` status
- **2026-09-19** `ba193431df44`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/replit/apis/replit-api/changes/budgets/limit-increase-requests/:requestId/get.md)

---

[API](https://skmtc.dev/replit/apis/replit-api.md) - [All operations](https://skmtc.dev/replit/apis/replit-api/llms.txt) - [OpenAPI document](https://skmtc.dev/replit/apis/replit-api/revisions/03b316f7e71a?raw)
