Skip to main content
List members’ requests for more usage, read one request, and decline a request that is still waiting. There is no webhook. Poll the list. To approve a request, raise that member’s plan to Business Max or raise their extra usage limit, and pass usageRequestId on that write. See Set Included User Plan and Set User Extra Usage Limit. The calls use the workspace API key’s BILLING_API scope. The decline runs as the key’s service account owner.
Call these routes when GET /billing/v1/mode returns ai-models-included. Dedicated deployments always return bring-your-own-keys, including when Langdock manages the model keys. The other mode returns 409 with code BILLING_MODE_MISMATCH.

Base URL

Prerequisites

  • API key with the BILLING_API scope
  • The key owner is a service account that has not been deleted and has an active Admin membership
  • USER_MANAGEMENT_API on the same key when you need email or name
Members can ask only when usageRequestsEnabled is on. status is pending, resolved, or dismissed. Omit it to list every status. Results are oldest first. limit defaults to 50 and cannot exceed 250. Pass cursor from nextCursor. A cursor from another workspace returns 400 with code INVALID_CURSOR. A request answered between two pages does not skip later rows. The list response is { "usageRequests": [ ... ] } and includes nextCursor until the last page. Reading one request returns the request object. A request outside this workspace returns 404 with code NOT_FOUND. Hiding per user spend does not hide these requests. A member who reaches a limit and does not ask is not in this list. To poll, call GET /usage-requests?status=pending and skip the requests you have already handled.
Langdock intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on API Key Best Practices.