Setting Spend Controls
This covers the common pattern: create one spend control, assign it to several cards, then adjust the limit later without touching each card. See Spend Controls for the rule types and Velocity Rules for the weekly limit shape. Spend control requests go to Penny Banking (https://sandbox.api.thepennyinc.com); card and cardholder assignment requests go to Penny Issuing (https://issuing.sandbox.api.thepennyinc.com).
1. Look up the rule types you need
Check the current schema and an example for each rule type before you build the request body:
2. Create a spend control with more than one rule
This example limits spend to $500 per transaction and $2,000 per calendar week (Monday 00:00 UTC to the following Monday):
3. Assign it to multiple cards
The three cards share one set of rules and one weekly budget: together they can spend $2,000 per week, and raising the weekly cap raises it for all three at once. To give each card its own weekly budget, create a separate spend control for each card.
To confirm the assignments, list the objects the control is assigned to:
Each item in items has spend_control_id, associated_object_id, and associated_object_type (card here).
4. Update the limit later
PATCH replaces each rule you send with the same rule_type and leaves the other rules unchanged, so this raises the weekly cap and keeps the $500 transaction limit.
5. Remove one rule, or the whole control
To pause a spend control you might reuse, deactivate it with PATCH /spend_controls/{spend_control_id}/deactivate and resume it later with PATCH /spend_controls/{spend_control_id}/activate.
DELETE /spend_controls/{spend_control_id} removes the control from every card, cardholder, account, and business it is assigned to. The response returns the control with status: "deleting"; it then moves to deleted and is kept for historical reference.