Create a pacing rule
Creates a pacing rule. An hours rule holds mail outside the weekly windows you declare, evaluated in the rule’s own timezone. A limit rule caps sends per rolling window against a scope — the rule as a whole, or per sender address, sending domain, recipient, or recipient domain. An empty match array applies the rule to every send. space_id makes the rule read one space’s mail alone; workspace rules apply to every space and stack on top. An enabled rule counts against the plan’s active custom pacing rules: with none left the request fails with 402 allowance_reached, and a workspace with no plan with 402 plan_required. A rule created with enabled false takes nothing until it is switched on.
/pacing-rulesAuthorizationBearer token (API key) · headerrequiredPass an AI Inbx API key as a Bearer token.
AIInbx-WorkspacestringWorkspace id from GET /workspaces, for an OAuth token that reaches several.
application/jsonnamestringrequiredThe rule's name.
space_idstringWhich space a created resource goes in. Omitted, the workspace itself.
enabledbooleanWhether the rule applies. A disabled one holds nothing and takes no plan allowance.
matchobject[]requiredWhich sends the rule reads, such as [{"field":"to","pattern":"..."}]. [] is every send.
Show propertiesHide properties
objectfieldstringrequiredfromtoeitherpatternstringrequiredkindstringrequiredhours holds mail outside weekly windows.
scheduleobjectrequiredAn hours rule's weekly windows, such as {"timezone":"Europe/Berlin","windows":[{"days":[1,2,3,4,5],"start_minute":540,"end_minute":1020}]}.
Show propertiesHide properties
timezonestringrequiredwindowsobject[]requiredShow propertiesHide properties
objectdaysinteger[]requiredstart_minuteintegerrequiredend_minuteintegerrequiredjitterobjectShow propertiesHide properties
open_early_minutesintegerrequiredopen_late_minutesintegerrequiredclose_early_minutesintegerrequiredclose_late_minutesintegerrequirednamestringrequiredThe rule's name.
space_idstringWhich space a created resource goes in. Omitted, the workspace itself.
enabledbooleanWhether the rule applies. A disabled one holds nothing and takes no plan allowance.
matchobject[]requiredWhich sends the rule reads, such as [{"field":"to","pattern":"..."}]. [] is every send.
Show propertiesHide properties
objectfieldstringrequiredfromtoeitherpatternstringrequiredkindstringrequiredlimit caps sends per rolling window.
limitobjectrequiredA limit rule's cap, such as {"scope":"to_domain","amount":100,"per_seconds":3600}.
Show propertiesHide properties
scopestringrequiredrulefrom_addressfrom_domainto_addressto_domainamountintegerrequiredper_secondsintegerrequiredThe pacing rule was created.
idstringrequirednamestringrequiredspace_idstring | nullrequiredWhich space a resource is in. Null is the workspace itself — what every resource of a workspace that has no spaces says.
Show propertiesHide properties
stringnullenabledbooleanrequiredbuiltinbooleanrequiredmatchobject[]requiredShow propertiesHide properties
objectfieldstringrequiredfromtoeitherpatternstringrequiredcreated_atstring<date-time>requiredkindstringrequiredscheduleobjectrequiredShow propertiesHide properties
timezonestringrequiredwindowsobject[]requiredShow propertiesHide properties
objectdaysinteger[]requiredstart_minuteintegerrequiredend_minuteintegerrequiredjitterobjectrequiredShow propertiesHide properties
open_early_minutesintegerrequiredopen_late_minutesintegerrequiredclose_early_minutesintegerrequiredclose_late_minutesintegerrequiredidstringrequirednamestringrequiredspace_idstring | nullrequiredWhich space a resource is in. Null is the workspace itself — what every resource of a workspace that has no spaces says.
Show propertiesHide properties
stringnullenabledbooleanrequiredbuiltinbooleanrequiredmatchobject[]requiredShow propertiesHide properties
objectfieldstringrequiredfromtoeitherpatternstringrequiredcreated_atstring<date-time>requiredkindstringrequiredlimit caps sends per rolling window.
limitobjectrequiredA limit rule's cap, such as {"scope":"to_domain","amount":100,"per_seconds":3600}.
Show propertiesHide properties
scopestringrequiredrulefrom_addressfrom_domainto_addressto_domainamountintegerrequiredper_secondsintegerrequiredThe request is invalid.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe API key is missing or invalid.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe workspace has no plan (plan_required), or its plan's allowance is used up (allowance_reached).
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe API key or token does not have the required scope, or the token is connected as an inbox and the operation is not one an inbox may use.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe requested resource does not exist.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request conflicts with the resource's current state.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request body or attachments are too large.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request body is not JSON.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request body failed validation.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe organisation's request budget is spent (too_many_requests), or an upstream mail provider is throttling (rate_limited).
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredAn internal error occurred.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredAn upstream mail provider failed.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe service is temporarily unavailable.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequired