> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qobra.co/llms.txt
> Use this file to discover all available pages before exploring further.

# create_quota

> Create a quota — the definition of a target users are measured against. Starts empty; target values are set from the quota's page in the web app.

Create a quota — the definition of a target users are measured against.

This call creates the quota's *definition* and its default view, and sets no
target values: the quota starts empty and every user reads as unset. Setting
values is not something this tool does — they are entered or imported on the
quota's page in the Qobra web app, which is also where the quota's frequency,
type and currency type can be changed afterwards.

Quotas synchronized from an integration are not created here either — set
those up in the Qobra web app.

Available only where the Qobra write tools beta is enabled. Every write to the
live environment is recorded in the audit trail as the `Qobra MCP` agent;
writes to a sandbox are not audited.

## Parameters

<Accordion title="Body" defaultOpen>
  <ParamField body="name" type="string" required>
    Display name of the quota, as people will read it in Qobra — 'New
    Business ARR', 'Number of demos booked'.
  </ParamField>

  <ParamField body="frequency" type="string" required>
    The period one target covers: monthly, quarterly, semesterly or annually.
    It fixes the granularity every target value is written at (2026-03,
    2026-Q1, 2026-S1, 2026), so it is the one field to get right before any
    value is loaded. One of: `monthly`, `quarterly`, `semesterly`,
    `annually`.
  </ParamField>

  <ParamField body="quota_type" type="string" required>
    Unit of the target value: amount (monetary, carries a currency),
    percentage, or float (a plain number — use it for counts, such as a
    number of deals). One of: `amount`, `percentage`, `float`.
  </ParamField>

  <ParamField body="currency_type" type="string" required>
    Default currency for an amount quota: `company` (the company currency),
    `user` (each user's payment currency) or `calculation` (the user's
    calculation currency). Required even for a percentage or float quota,
    where it is not meaningful — pass `company` there. One of: `company`,
    `user`, `calculation`.
  </ParamField>

  <ParamField body="description" type="string">
    Optional free-text note about what the quota targets.
  </ParamField>

  <ParamField body="sandbox_id" type="string">
    Id of the sandbox to create the quota in — the id list\_sandboxes
    returns. Omit it to create the quota in the live environment. Only a
    sandbox id is accepted here — never a sandbox name, and never the live
    environment's own id.
  </ParamField>
</Accordion>

## Response

<Accordion title="Body" defaultOpen>
  <ResponseField name="quota" type="object">
    The quota as it now exists — the same row list\_quotas returns, so the id
    can be reused straight away.

    <Expandable title="object properties">
      <ResponseField name="id" type="string" />

      <ResponseField name="resource_url" type="string">
        Deep link to open this quota in the Qobra web app.
      </ResponseField>

      <ResponseField name="name" type="string" />

      <ResponseField name="description" type="string" />

      <ResponseField name="type" type="string">
        One of: `amount`, `percentage`, `float`.
      </ResponseField>

      <ResponseField name="frequency" type="string" />

      <ResponseField name="currency_type" type="string">
        One of: `company`, `user`, `calculation`.
      </ResponseField>

      <ResponseField name="archived" type="boolean" />

      <ResponseField name="views" type="object[]">
        The quota's default view, minted at creation time.

        <Expandable title="object properties">
          <ResponseField name="id" type="string" />

          <ResponseField name="name" type="string" />
        </Expandable>
      </ResponseField>
    </Expandable>
  </ResponseField>
</Accordion>
