- To duplicate a quota, pass
nameandsource_quota_id. Optionally passdescriptionto replace the source’s. Pass nothing else: the copy takes the source’s frequency, type, default currency and every target value, and lands where the source lives (live or its sandbox), whateversandbox_idsays. - To create a quota from scratch, pass
name,frequency,quota_typeandcurrency_type. Optionally passdescriptionandsandbox_id.
frequency,quota_typeorcurrency_typepassed withsource_quota_id. The refusal names the arguments to leave out.- A call without
source_quota_idthat leaves outfrequency,quota_typeorcurrency_type. The refusal names the missing ones. - An archived source quota. Restore it first with
archive_quota(archivedfalse). - A
source_quota_idthat matches no quota you can reach. The refusal points you tolist_quotas.
update_quota_values, passing
the id this call returns. Its name, description and currency type can be
changed afterwards with update_quota;
its frequency and type only in the Qobra web app.
Quotas synchronized from an integration are not created here either. Set those
up in the Qobra web app.
Every write to the live environment is recorded in the audit trail as the Qobra MCP agent; writes to a sandbox are not audited.
Example
To copy the “New Business ARR” quota for the EMEA team, pass the id of the source quota, aslist_quotas returns it, and the name of the copy:
Parameters
Body
Body
string
required
Display name of the new quota, or of the copy (‘New Business ARR’, ‘Number
of demos booked’).
string
To duplicate: the id of the quota to copy, from list_quotas. Pass only
name and, optionally, description with it. Omit to create a quota from
scratch.string
Free-text note on what the quota targets. With
source_quota_id it replaces
the source’s description (pass "" to clear it); omit it to keep the
source’s.string
From scratch only (required there, refused with
source_quota_id). The
period one target covers; target values are written at that granularity
(2026-03, 2026-Q1, 2026-S1, 2026). One of: monthly, quarterly,
semesterly, annually.string
From scratch only (required there, refused with
source_quota_id). Unit of
the target: amount (carries a currency), percentage, or float (a plain
number, e.g. a count of deals). One of: amount, percentage, float.string
From scratch only (required there, refused with
source_quota_id). Default
currency of an amount quota: ‘company’, ‘user’ (each user’s payment
currency) or ‘calculation’ (the user’s calculation currency). Pass ‘company’
for a percentage or float quota. One of: company, user, calculation.string
Id of a sandbox from list_sandboxes, to create this in instead of the live
environment. Omit it to create in live, the company’s real data. Never a
name, never the live id. Ignored with
source_quota_id: the copy lands
where the source lives.Response
Body
Body
object
The quota as it now exists — the same row list_quotas returns, so the id
can be reused straight away.