---
title: "Set Limit"
method: POST
path: "/api/v1/funds/my/app-limits/{app_id}/limit"
tags: ["My Fund Limits"]
---

# Set Limit

`POST /api/v1/funds/my/app-limits/{app_id}/limit`

## Request

- Base URL: `https://example.conductor.one`
- URL: `https://example.conductor.one/api/v1/funds/my/app-limits/{app_id}/limit`
- Auth: HTTP bearer and OAuth 2
  - Client credentials
  - Token URL: `/auth/v1/token`

Cap what one app may take from the caller's own fund. Amount arm only.

## Path parameters

- `app_id` string, required: The appId field.

## Request body

- C1ApiFundsV1MyFundLimitsServiceSetLimitRequestInput: The MyFundLimitsServiceSetLimitRequest message.
  - `limit` C1ApiFundsV1SpendLimit: SpendLimit distinguishes an amount, unlimited tracking and blocked supply. This message contains a oneof named kind. Only a single field of the following list may be set at a time: - unlimited - amount - blocked
    - `amount` C1ApiFundsV1SpendLimitAmount: The SpendLimitAmount message.
      - `money` C1ApiFundsV1Money: Money is a non-negative monetary value used by spending controls.
        - `currencyCode` string: ISO 4217 currency code.
        - `nanos` integer: Fractional nano-units, from zero through 999999999.
        - `units` string, int64: Whole currency units. The bound keeps nano-unit conversion within int64.
    - `blocked` C1ApiFundsV1SpendLimitBlocked: The SpendLimitBlocked message.
    - `unlimited` C1ApiFundsV1SpendLimitUnlimited: The SpendLimitUnlimited message.
  - `period` 'PERIOD_KIND_UNSPECIFIED' | 'PERIOD_KIND_DAILY' | 'PERIOD_KIND_WEEKLY' | 'PERIOD_KIND_MONTHLY' | 'PERIOD_KIND_QUARTERLY' | 'PERIOD_KIND_YEARLY': Optional period override. Only valid together with the limit it denominates.

## Response `200`

Successful response

- C1ApiFundsV1MyFundLimitsServiceSetLimitResponse: The MyFundLimitsServiceSetLimitResponse message.
  - `limit` C1ApiFundsV1MyFundLimit: MyFundLimit is one of the caller's own per-app limits. It carries no user id: it is always the caller's.
    - `appId` string: The C1 App this limit applies to.
    - `controls` C1ApiFundsV1SpendControls: SpendControls retains coexisting base, extension and suspension state.
      - `extension` C1ApiFundsV1SpendExtension: SpendExtension replaces the base total temporarily; it is not additive credit.
        - `expiresAt` string, date-time, nullable
        - `limit` C1ApiFundsV1SpendLimit: SpendLimit distinguishes an amount, unlimited tracking and blocked supply. This message contains a oneof named kind. Only a single field of the following list may be set at a time: - unlimited - amount - blocked
          - `amount` C1ApiFundsV1SpendLimitAmount: The SpendLimitAmount message.
            - `money` C1ApiFundsV1Money: Money is a non-negative monetary value used by spending controls.
              - …
          - `blocked` C1ApiFundsV1SpendLimitBlocked: The SpendLimitBlocked message.
          - `unlimited` C1ApiFundsV1SpendLimitUnlimited: The SpendLimitUnlimited message.
        - `reason` string: The reason field.
      - `limit` C1ApiFundsV1SpendLimit: SpendLimit distinguishes an amount, unlimited tracking and blocked supply. This message contains a oneof named kind. Only a single field of the following list may be set at a time: - unlimited - amount - blocked
        - `amount` C1ApiFundsV1SpendLimitAmount: The SpendLimitAmount message.
          - `money` C1ApiFundsV1Money: Money is a non-negative monetary value used by spending controls.
            - `currencyCode` string: ISO 4217 currency code.
            - `nanos` integer: Fractional nano-units, from zero through 999999999.
            - `units` string, int64: Whole currency units. The bound keeps nano-unit conversion within int64.
        - `blocked` C1ApiFundsV1SpendLimitBlocked: The SpendLimitBlocked message.
        - `unlimited` C1ApiFundsV1SpendLimitUnlimited: The SpendLimitUnlimited message.
      - `period` 'PERIOD_KIND_UNSPECIFIED' | 'PERIOD_KIND_DAILY' | 'PERIOD_KIND_WEEKLY' | 'PERIOD_KIND_MONTHLY' | 'PERIOD_KIND_QUARTERLY' | 'PERIOD_KIND_YEARLY': The period field.
      - `suspension` C1ApiFundsV1SpendSuspension: SpendSuspension preserves the underlying controls while refusing new spend.
        - `reason` string: The reason field.
        - `suspendedAt` string, date-time, nullable
    - `createdAt` string, date-time, nullable
    - `deletedAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable

## Changes

- **2026-10-20** `fe943bedf41b`: 2 breaking, 2 info
  - removed `#/components/schemas/c1.models.funds.v1.SpendLimit` from the `limit` request property `oneOf` list
  - added `#/components/schemas/c1.api.funds.v1.SpendControls` to the `limit/oneOf[subschema #1: My Fund Limit]/controls` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/c1.api.funds.v1.SpendLimit` to the `limit` request property `oneOf` list
  - removed `#/components/schemas/c1.models.funds.v1.SpendControls` from the `limit/oneOf[subschema #1: My Fund Limit]/controls` response property `oneOf` list for the response status `200`
- **2026-10-06** `918a4e749f56`: 1 info
  - added the optional property `limit/oneOf[subschema #1: My Fund Limit]/deletedAt` to the response with the `200` status
- **2026-09-01** `f76d07868c0c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/conductorone/apis/c1-api/changes/api/v1/funds/my/app-limits/:app_id/limit/post.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)
