---
title: "Resolve Effective Limits"
method: GET
path: "/api/v1/spend-insights/effective-limits/{user_id}"
tags: ["Spend Insights"]
---

# Resolve Effective Limits

`GET /api/v1/spend-insights/effective-limits/{user_id}`

## Request

- Base URL: `https://example.conductor.one`
- URL: `https://example.conductor.one/api/v1/spend-insights/effective-limits/{user_id}`
- Auth: HTTP bearer and OAuth 2
  - Client credentials
  - Token URL: `/auth/v1/token`

Resolve the budget limits and current usage that apply to a user.
 Optionally includes application-specific limits.

## Path parameters

- `user_id` string, required: User whose effective limits should be resolved.

## Query parameters

- `app_id` string: Optional application used to include application-specific limits.

## Response `200`

ResolveEffectiveLimitsResponse contains the limits currently applying to a user.

- C1ApiSpendinsightsV1ResolveEffectiveLimitsResponse: ResolveEffectiveLimitsResponse contains the limits currently applying to a user.
  - `currencyCode` string: Currency used for monetary values.
  - `denialReason` 'SPEND_DENY_REASON_UNSPECIFIED' | 'SPEND_DENY_REASON_TENANT_FROZEN' | 'SPEND_DENY_REASON_SUSPENDED_BY_ADMIN' | 'SPEND_DENY_REASON_APP_SUSPENDED' | 'SPEND_DENY_REASON_APP_PAUSED_BY_YOU' | 'SPEND_DENY_REASON_NO_SUPPLY': Reason spend is denied. Present only when state is DENIED.
  - `denialScopeName` string: Scope that denies spend. Present only when state is DENIED.
  - `scopes` C1ApiSpendinsightsV1EffectiveScope[], nullable: Ordered organization, user, application, and user-application scopes.
    - `accountInitialized` boolean: Whether this budget account has recorded activity.
    - `authority` C1ApiSpendinsightsV1AuthorityRef: AuthorityRef identifies a configuration and the revision admission read.
      - `absent` boolean: Whether admission found no configuration of this kind.
      - `appEntitlementId` string: Application entitlement ID, for entitlement-binding authorities.
      - `appId` string: Application ID the configuration applies to.
      - `appUserId` string: Application user ID, for application-user authorities.
      - `kind` 'AUTHORITY_KIND_UNSPECIFIED' | 'AUTHORITY_KIND_FUND_POLICY' | 'AUTHORITY_KIND_FUND_ASSIGNMENT' | 'AUTHORITY_KIND_FUND_RULE' | 'AUTHORITY_KIND_TENANT_APP_CAP' | 'AUTHORITY_KIND_SUBJECT_APP_LIMIT' | 'AUTHORITY_KIND_ENTITLEMENT_BINDING' | 'AUTHORITY_KIND_APP_USER' | 'AUTHORITY_KIND_USER': Type of configuration.
      - `ruleId` string: Fund rule ID, for fund-rule authorities.
      - `userId` string: User ID the configuration applies to.
      - `version` string, int64: Configuration revision read during admission.
    - `authorityFromExtension` boolean: Whether an extension supplied the effective configuration.
    - `budgetKey` string: Stable identifier for the scope's budget account.
    - `lifetimeConsumedNano` string, int64: Spend settled over the lifetime of the budget account.
    - `limitNano` string, int64: Effective spend limit. Zero when tracking is true.
    - `periodEnd` string, date-time, nullable
    - `periodKey` string: Stable key for the current budget period.
    - `periodKind` 'PERIOD_KIND_UNSPECIFIED' | 'PERIOD_KIND_DAILY' | 'PERIOD_KIND_WEEKLY' | 'PERIOD_KIND_MONTHLY' | 'PERIOD_KIND_QUARTERLY' | 'PERIOD_KIND_YEARLY': Length of the budget period.
    - `periodStart` string, date-time, nullable
    - `remainingNano` string, int64: Spend headroom after settled and reserved spend.
    - `reservedNano` string, int64: Spend reserved by in-progress calls.
    - `scope` C1ApiFundsV1AccountScope: AccountScope identifies the tenant, user, application, or user-application account against which spending was admitted. This message contains a oneof named kind. Only a single field of the following list may be set at a time: - tenant - subject - app - subjectApp
      - `app` C1ApiFundsV1AppScope: AppScope identifies one application's account.
        - `appId` string: Application ID of the account.
      - `subject` C1ApiFundsV1SubjectScope: SubjectScope identifies one user's account.
        - `userId` string: User ID of the account owner.
      - `subjectApp` C1ApiFundsV1SubjectAppScope: SubjectAppScope identifies one user's account for an application.
        - `appId` string: Application ID of the account.
        - `userId` string: User ID of the account owner.
      - `tenant` C1ApiFundsV1TenantScope: TenantScope identifies the organization-wide account.
    - `tracking` boolean: Whether this scope records spend without enforcing a finite limit.
    - `windowCommittedNano` string, int64: Settled plus reserved spend in the current budget period.
    - `windowConsumedNano` string, int64: Spend settled in the current budget period.
  - `state` 'EFFECTIVE_LIMITS_STATE_UNSPECIFIED' | 'EFFECTIVE_LIMITS_STATE_RESOLVED' | 'EFFECTIVE_LIMITS_STATE_NO_POLICY' | 'EFFECTIVE_LIMITS_STATE_NO_CEILING' | 'EFFECTIVE_LIMITS_STATE_DENIED': Result of resolving the user's effective limits.

## Changes

- **2026-10-20** `fe943bedf41b`: 2 breaking, 6 warning, 8 info
  - added `#/components/schemas/c1.api.funds.v1.AccountScope` to the `scopes/items/scope` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/c1.api.spendinsights.v1.AuthorityRef` to the `scopes/items/authority` response property `oneOf` list for the response status `200`
  - added the new `SPEND_DENY_REASON_APP_PAUSED_BY_YOU` enum value to the `denialReason` response property for the response status `200`
  - added the new `SPEND_DENY_REASON_APP_SUSPENDED` enum value to the `denialReason` response property for the response status `200`
  - …12 more
- **2026-10-06** `918a4e749f56`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/conductorone/apis/c1-api/changes/api/v1/spend-insights/effective-limits/:user_id/get.md)

---

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