Skip to content

Set your own limit

Sets or clears the monthly limit you hold your own Aitronos servers to. Your own limit can only be lower than what your organization allows you (the limit set for you, else the default per person); the limit you are held to is the smaller of the two. Returns the limits now in force, as Get spend limits does. A refused request stores nothing.

Your spend is the spend of the Aitronos servers you own. Once one more hour at the quoted price would pass your limit, creating or resuming one of your servers is refused with 402 FORGE_COMPUTE_SPEND_LIMIT_REACHED (details.reason member_limit_reached), whose message tells you that you can raise or clear your own limit. At 90% of your limit each of your running Aitronos servers carries the notice member_limit_90; at 100% they are parked (member_limit_parked) or keep running (member_limit_100), as set in the organization's compute settings. Every change is recorded in the organization's audit log.

Requires a bearer token of a signed-in person who holds the use_forge capability in the acting organization. An organization API key has no person of its own and cannot set a personal limit. It works while Forge cloud compute is switched off.

PUThttps://api.aitronos.com/v1/forge/compute/limits/me

Query Parameters

organization_id string optional

The organization to act in. Defaults to your current organization. You must be an active member of it, or the request is refused with 403 ORGANIZATION_ACCESS_DENIED. Your own limit is set per organization.

Headers

X-Organization-Id string optional

The same as organization_id, as a header. When both are sent, the query parameter wins.

Body Parameters

self_limit_chf string, number or null required

Your own monthly limit for Aitronos servers, in CHF ("5.00" or 5). Send null to clear it: the limit your organization set then applies, or no per-person limit when it set none. An amount must be at least CHF 0.01, have at most two decimals and be at most what your organization allows you (fields.self_limit_chf.max in Get spend limits): the organization's monthly spending limit when it set no limit for you. Unknown fields are refused.


Returns

The limits now in force: the same object as Get spend limits, with me.self_limit_chf, me.effective_limit_chf, me.limit_source, me.remaining_chf, summary and fields.self_limit_chf.value reflecting the change. The example caller holds neither view_billing nor manage_billing, so can_view_org_spend is false, organization.spent_chf is null and summary names only the organization's limit.

{
  "currency": "CHF",
  "month": "2026-10",
  "organization": {
    "limit_chf": "40.00",
    "compute_share_limit_chf": null,
    "effective_limit_chf": "40.00",
    "monthly_limit_chf": "80.00",
    "member_default_chf": "12.50",
    "spent_chf": null
  },
  "me": {
    "user_id": "usr_7f3a9c2e1b8d4e6fa0c5b3d9e2f1a4c7",
    "admin_limit_chf": "12.50",
    "self_limit_chf": "5.00",
    "effective_limit_chf": "5.00",
    "limit_source": "self",
    "spent_chf": "1.66",
    "remaining_chf": "3.34"
  },
  "spend_known": true,
  "can_view_org_spend": false,
  "can_edit_org_limits": false,
  "can_edit_own_limit": true,
  "summary": "You have spent CHF 1.66 of your CHF 5.00 monthly limit for Aitronos servers. Your organization's monthly limit for Aitronos servers is CHF 40.00.",
  "fields": {
    "org_limit_chf": {
      "label": "Organization limit for Aitronos servers",
      "help": "The most your whole organization can spend on Aitronos servers in a calendar month. Leave it empty for no separate limit: the organization's monthly spending limit still applies.",
      "value": "40.00",
      "min": "0.01",
      "max": "80.00",
      "step": "0.01",
      "editable": false
    },
    "member_default_chf": {
      "label": "Default limit per person",
      "help": "The most each person can spend on Aitronos servers in a calendar month, unless you set a different limit for them. Leave it empty for no default.",
      "value": "12.50",
      "min": "0.01",
      "max": "80.00",
      "step": "0.01",
      "editable": false
    },
    "member_limit_chf": {
      "label": "Limit for this person",
      "help": "Replaces the default limit for this person. Leave it empty to use the default.",
      "value": null,
      "min": "0.01",
      "max": "80.00",
      "step": "0.01",
      "editable": false
    },
    "self_limit_chf": {
      "label": "My limit",
      "help": "Set a lower limit for your own Aitronos servers. It can only be lower than what your organization allows you. Leave it empty to use the limit your organization set.",
      "value": "5.00",
      "min": "0.01",
      "max": "12.50",
      "step": "0.01",
      "editable": true
    }
  }
}

Errors

A refused amount is answered with 422 VALIDATION_ERROR whose details.field is self_limit_chf and details.reason says why; message is the sentence to show, for example "The limit can be at most CHF 12.50.".

StatusCodeWhen
401AUTHENTICATION_REQUIREDNo valid credential, or a service-account API key.
403API_KEY_PERSON_REQUIREDAn organization API key: it has no person of its own.
403INSUFFICIENT_PERMISSIONSThe caller does not hold use_forge in the acting organization, or the credential acts for no signed-in person ("Only a signed-in person can set their own limit.").
403ORGANIZATION_ACCESS_DENIEDorganization_id or X-Organization-Id names an organization you are not an active member of.
422VALIDATION_ERRORAn amount below CHF 0.01 (details.reason must be at least CHF 0.01), with more than two decimals (can have at most two decimals), or above what your organization allows you (can be at most CHF 12.50, with your own amount).
422VALIDATION_ERRORself_limit_chf is missing, is not a number, or the body has an unknown field: details.fields lists each field with its message and type.
cURL
curl -X PUT "https://api.aitronos.com/v1/forge/compute/limits/me" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"self_limit_chf": "5.00"}'

Response:

{
  "currency": "CHF",
  "month": "2026-10",
  "organization": {
    "limit_chf": "40.00",
    "compute_share_limit_chf": null,
    "effective_limit_chf": "40.00",
    "monthly_limit_chf": "80.00",
    "member_default_chf": "12.50",
    "spent_chf": null
  },
  "me": {
    "user_id": "usr_7f3a9c2e1b8d4e6fa0c5b3d9e2f1a4c7",
    "admin_limit_chf": "12.50",
    "self_limit_chf": "5.00",
    "effective_limit_chf": "5.00",
    "limit_source": "self",
    "spent_chf": "1.66",
    "remaining_chf": "3.34"
  },
  "spend_known": true,
  "can_view_org_spend": false,
  "can_edit_org_limits": false,
  "can_edit_own_limit": true,
  "summary": "You have spent CHF 1.66 of your CHF 5.00 monthly limit for Aitronos servers. Your organization's monthly limit for Aitronos servers is CHF 40.00.",
  "fields": {
    "org_limit_chf": {
      "label": "Organization limit for Aitronos servers",
      "help": "The most your whole organization can spend on Aitronos servers in a calendar month. Leave it empty for no separate limit: the organization's monthly spending limit still applies.",
      "value": "40.00",
      "min": "0.01",
      "max": "80.00",
      "step": "0.01",
      "editable": false
    },
    "member_default_chf": {
      "label": "Default limit per person",
      "help": "The most each person can spend on Aitronos servers in a calendar month, unless you set a different limit for them. Leave it empty for no default.",
      "value": "12.50",
      "min": "0.01",
      "max": "80.00",
      "step": "0.01",
      "editable": false
    },
    "member_limit_chf": {
      "label": "Limit for this person",
      "help": "Replaces the default limit for this person. Leave it empty to use the default.",
      "value": null,
      "min": "0.01",
      "max": "80.00",
      "step": "0.01",
      "editable": false
    },
    "self_limit_chf": {
      "label": "My limit",
      "help": "Set a lower limit for your own Aitronos servers. It can only be lower than what your organization allows you. Leave it empty to use the limit your organization set.",
      "value": "5.00",
      "min": "0.01",
      "max": "12.50",
      "step": "0.01",
      "editable": true
    }
  }
}