create_frame_order
Create a new Open frame order (blanket PO / commercial envelope) for a customer. A frame order tracks a contracted hours or amount cap that invoices can draw down against. Reversible — the frame order can be deleted while it is still Open.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Optional free-text notes (max 2000 chars). | |
| currency | No | ISO 4217 currency code (e.g. USD). Defaults to the customer's currency when omitted. | |
| end_date | No | Optional end date in YYYY-MM-DD format (must be >= start_date). | |
| reference | Yes | Unique reference string per (org, customer), e.g. 'PO-2026-001'. Max 100 chars. | |
| start_date | No | Optional start date in YYYY-MM-DD format. | |
| customer_id | Yes | Id of the customer this frame order belongs to. | |
| description | No | Optional human-readable description (max 500 chars). | |
| total_hours | No | Optional contracted hours cap (must be > 0). | |
| total_amount | No | Optional contracted amount cap (must be > 0). | |
| idempotency_key | No | Optional caller-supplied key; retrying with the same key returns the original result instead of acting twice. |