# NewTaxRegistrationInput

input type

Create-input for a TaxRegistration. The tenant (org group) is derived SERVER-SIDE from the principal; organizationId (the parent — rides the header) is tenant-scoped server-side and must be ACTIVE; jurisdictionId is a SHARED-canonical ref — it must EXIST and be ACTIVE (CONFLICT/REF_STATE naming it) but is deliberately NOT tenant-scoped (shared data is the point); the (org × jurisdiction) pair marker reserves in the SAME transaction (a LIVE holder refuses CONFLICT/IDENTITY_TAKEN naming it; a DOOMED holder is taken over).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — the jurisdiction coordinate ('Registration: <jurisdiction caption>'); when supplied it must be non-blank. |
| `organizationId` | [ID](/types/#scalars) `ID!` | yes | The registering Organization (the containment parent) — tenant-scoped + ACTIVE. |
| `jurisdictionId` | [ID](/types/#scalars) `ID!` | yes | The registered TaxJurisdiction (shared-canonical: exists + ACTIVE; NOT tenant-scoped). The pair is immutable after birth. |
| `registrationNumber` | [String](/types/#scalars) | no | No further notes. |
| `code` | [String](/types/#scalars) | no | No further notes. |

## Used by

- [createTaxRegistration](/reference/tax-registration/createTaxRegistration/)
