NewStoredValueInstrumentInput
input type
Create-input for the DIRECT instrument lanes. Dual-birth by initialBalanceMinor: PRESENT = immediate active (the issue entry rides the create transaction; reason REQUIRED — money is born); ABSENT = STAGED inactive stock (code REQUIRED — the plastic carries its number). The tenant is derived SERVER-SIDE; currency = the named issuing org's defaultCurrency (in-tenant + ACTIVE + a default set — the Order-create law); the RAW code normalizes + grammar-gates server-side and its org-group marker mints IN the transaction (ANY holder — doomed included — refuses CONFLICT/INSTRUMENT_CODE_TAKEN: the BURN law); store_credit requires the customer block and never stages.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — the instrumentType + the NORMALIZED code; when supplied it must be non-blank. |
organizationId | ID ID! | yes | The ISSUING org (in-tenant + ACTIVE) — its defaultCurrency stamps the instrument. |
instrumentType | StoredValueInstrumentType StoredValueInstrumentType! | yes | No further notes. |
code | String | no | The RAW code (1..64 pre-normalization) — REQUIRED on the staged arm (printed stock carries its number); omitted on the immediate arm = system-minted. |
reloadable | Boolean | no | gift_card ONLY (default true there); REFUSED on certificate/credit (strict both ways). |
initialBalanceMinor | Int | no | PRESENT = immediate-active birth loading this value (the issue entry rides the transaction); ABSENT = staged inactive stock. |
customer | OrderCustomerInput | no | REQUIRED on store_credit; optional bearer-binding on gift instruments. |
reason | String | no | REQUIRED on the immediate-active arm (money is born; ≤ 256). |