KintsugiKintsugi

Create a registration

POST/registrations

Register in one jurisdiction or record a registration you already hold. Send an Organization-Id, Connection-Id or Entity-Id header to say which organization it belongs to

registrationImportType chooses the kind of registration. REGULAR is the default and is a direct registration identified by countryCode and stateCode. OSS is an EU One Stop Shop scheme, identified by its member state instead. SST is the single Streamlined Sales Tax registration an organization may hold, covering the member states at once

DIRECT_REQUEST asks Kintsugi to obtain a registration you do not yet hold, rather than recording one you already have. Kintsugi resolves the jurisdiction from countryCode, stateCode and taxType, opens the registration in PROCESSING for its team to complete, and requires a paid plan that includes managed registrations. A free plan is refused with 403 PLAN_UPGRADE_REQUIRED. A paid plan that does not include managed registrations is refused with 403 FORBIDDEN. Use POST /registration-preflights first to see whether an existing registration would cover it

An SST registration is write-only on this surface. It records the organization's Streamlined Sales Tax enrollment and sign-in, and unlike a REGULAR or OSS registration it is not returned by GET /registrations/{registrationId} or the list

Authorization

Api-KeystringRequired

Your secret API key. Include it with every request.

Headers

Api-Versiondate

Release date, as YYYY-MM-DD. Defaults to 2026-07-21.

Organization-Idstring

Target organization id (Organization-Id selector).

Connection-Idstring

Target connection id; resolves to its organization.

Entity-Idstring

Platform entity id; resolves to a connection's organization.

Entity-Sourcestring

Optional source to disambiguate an Entity-Id.

Body

registrationImportTypestring

Discriminates this from an SST or EU OSS registration. Defaults to REGULAR.

countryCodestringRequired

ISO 3166-1 alpha-2 country to register in.

stateCodestring

State or province code to register in, within countryCode. Omit it for a country-level registration.

stateNamestring

Display name of the state or province. Omit it and Kintsugi derives it from countryCode and stateCode.

filingFrequencyPublicFilingFrequencyEnumRequired

How often returns should be filed. Send UNKNOWN when the jurisdiction has not assigned one yet; Kintsugi replaces it once it does.

Available options:UNKNOWNMONTHLYQUARTERLYSEMI_ANNUALLYANNUALLYANNUAL_FISCAL_YEARSEMI_MONTHLYBI_MONTHLYFOUR_MONTHLYQUARTERLY_PREPAYMENT
registrationDatestring

Date the registration takes effect in the jurisdiction, as YYYY-MM-DD. Omit it when the jurisdiction has not assigned one.

registrationEmailstring

Email address the jurisdiction has on file for this registration.

createFilingsFromstring

First period to generate filings for, as YYYY-MM-DD. Omit it and Kintsugi derives the first filing period from the registration.

registrationRequestedstring

When the registration was submitted to the jurisdiction. Omit it on a registration you are asking Kintsugi to file and it is stamped for you.

registrationCompletedstring

When the jurisdiction confirmed the registration. Send it only for a registration you already hold.

deregistrationRequestedstring

When deregistration was submitted to the jurisdiction.

deregistrationCompletedstring

When the jurisdiction confirmed the deregistration.

autoRegisteredboolean

Whether the registration was completed without manual intervention.

doNotFileboolean

Set true to suppress returns for this registration. Kintsugi tracks it but does not file against it.

selfManagedboolean

Set true when the organization files this registration itself. Kintsugi records and tracks it but does not manage the filing, so it is created in a self-managed state rather than awaiting Kintsugi validation. A self-managed registration is active, so registrationDate is required alongside it.

registrationsRegimePublicRegistrationsRegimeEnum

Filing regime to register under. Omit it in jurisdictions that offer only one regime.

Available options:STANDARDSIMPLIFIED
changeRegimeStatusPublicChangeRegimeStatusEnum

Progress of a request to move to a different filing regime. Omit it unless you are recording a regime change already in flight.

Available options:REQUESTEDAPPROVEDDONEACKNOWLEDGED
commentstring

Free-text note to record against the registration.

salesTaxIdstring

Account number the jurisdiction issued, on a registration you already hold. Omit it when the jurisdiction has not issued one.

iorNumberstring

Importer of Record number to record on the registration.

requestIdstring

Optional client-minted id for this confirm attempt. When present, duplicate submits of the same gesture can be grouped.

jurisdictionSpecificFieldsobject

Values only this jurisdiction requires, such as a portal sign-on id or a state-issued account code. Property names are camelCase and differ per jurisdiction; one that requires none rejects this field. Only the credential-bearing ones are readable, via the credentials reveal endpoint.

Response

idstringRequired

Kintsugi's unique identifier for the registration.

organizationIdstringRequired

Organization the registration belongs to. Send it as Organization-Id to scope a request to this registration.

organizationNamestring

Display name of the organization the registration belongs to. null when the organization has no name set. Sort a list by it with sort=organizationName.

countryCodestringRequired

ISO 3166-1 alpha-2 country the registration is held in.

stateCodestring

State or province code the registration is held in, within countryCode. An empty string for a country-level registration.

stateNamestring

Display name of the state or province. An empty string for a country-level registration.

statusPublicRegistrationStatusEnumRequired

Lifecycle status. Only a REGISTERED or SELF_MANAGED registration has returns filed against it; the others are in progress, wound down, or retained for reporting.

Available options:REGISTEREDPROCESSINGUNREGISTEREDDEREGISTERINGDEREGISTEREDCANCELLEDVALIDATINGAWAITING_CLARIFICATIONSELF_MANAGED
isPreCollectingboolean

True on a PROCESSING registration that marks the organization as collecting tax in the jurisdiction ahead of registration details. Always false on any other status.

registrationTypePublicRegistrationTypeEnumRequired

Whether the registration is an EU One Stop Shop scheme covering several member states, or a direct registration with one jurisdiction.

Available options:EU_OSSOTHER
registrationCategoryPublicRegistrationCategoryEnumRequired

How the registration was established: REGULAR for one Kintsugi filed, IMPORTED for one you already held and brought across, DEREGISTRATION for one being wound down.

Available options:REGULARIMPORTEDDEREGISTRATION
taxTypePublicTaxTypeEnumRequired

Which taxes this registration account covers. SALES_AND_USE_TAX is one permit covering both; it does not imply sales activity.

Available options:SALES_TAXUSE_TAXSALES_AND_USE_TAXRETAIL_DELIVERY_FEE
filingFrequencyPublicFilingFrequencyEnumRequired

How often returns are filed against this registration. UNKNOWN until the jurisdiction assigns one.

Available options:UNKNOWNMONTHLYQUARTERLYSEMI_ANNUALLYANNUALLYANNUAL_FISCAL_YEARSEMI_MONTHLYBI_MONTHLYFOUR_MONTHLYQUARTERLY_PREPAYMENT
scheduledFilingFrequencyPublicFilingFrequencyEnum

Filing frequency that replaces filingFrequency on filingFrequencyEffectiveDate. null when no frequency change is pending.

Available options:UNKNOWNMONTHLYQUARTERLYSEMI_ANNUALLYANNUALLYANNUAL_FISCAL_YEARSEMI_MONTHLYBI_MONTHLYFOUR_MONTHLYQUARTERLY_PREPAYMENT
filingFrequencyEffectiveDatestring

Date scheduledFilingFrequency takes effect, as YYYY-MM-DD. null when no frequency change is pending.

registrationDatestring

Date the registration takes effect in the jurisdiction, as YYYY-MM-DD. null before the jurisdiction has assigned one.

createFilingsFromstring

First period filings are generated for, as YYYY-MM-DD. null before a first filing period has been established.

registrationRequestedstring

When the registration was submitted to the jurisdiction. null when it has not been submitted.

registrationCompletedstring

When the jurisdiction confirmed the registration. null when it has not been confirmed.

deregistrationRequestedstring

When deregistration was submitted to the jurisdiction. null when no deregistration has been requested.

deregistrationCompletedstring

When the jurisdiction confirmed the deregistration. null when it has not been confirmed.

deregistrationClosureDatestring

Effective date the registration closes. null when not set.

deregistrationReasonPublicDeregistrationReasonEnum

Reason the registration is closing. null when not set.

Available options:FULL_BUSINESS_CLOSURECLOSING_NEXUS_IN_STATE
deregistrationAcknowledgedAtstring

When final-return acknowledgement was recorded. null when not set.

registrationEmailstring

Email address the jurisdiction has on file for this registration. An empty string when none is recorded.

salesTaxIdstring

Account number the jurisdiction issued. Holds the sales tax ID on a sales or combined permit, and the consumer use tax account number on a use tax registration. An empty string before one is issued.

iorNumberstring

Importer of Record number recorded on the registration. An empty string when none is recorded.

iorDatestring

Date the Importer of Record number takes effect, as YYYY-MM-DD. In jurisdictions that start collection from this date rather than registrationDate, tax is collected on and after it. null when no IOR date applies.

commentstring

Free-text note recorded against the registration. An empty string when there is none.

registrationsRegimePublicRegistrationsRegimeEnum

Filing regime the registration is held under. null in jurisdictions that offer only one regime.

Available options:STANDARDSIMPLIFIED
changeRegimeStatusPublicChangeRegimeStatusEnum

Progress of a request to move this registration to a different filing regime. null when no regime change is in flight.

Available options:REQUESTEDAPPROVEDDONEACKNOWLEDGED
ossTypePublicOssTypeEnum

One Stop Shop scheme this registration files under. null for a registration that is not an EU OSS scheme.

Available options:UNIONNON_UNIONIOSS
ossMemberStateOfIdentificationCodestring

ISO 3166-1 alpha-2 code of the EU member state the OSS registration is identified in. null for a registration that is not an EU OSS scheme.

filingWebsiteUrlstring

Tax authority's filing portal for this jurisdiction. null when Kintsugi has no portal recorded for it.

amountFeesstringRequired

Kintsugi's service fee for this registration, as a decimal string in amountFeesCurrency. 0.00 when no fee applies.

amountFeesCurrencystring

ISO-4217 currency code of amountFees.

vdabooleanRequired

Whether the registration was made under a Voluntary Disclosure Agreement.

doNotFilebooleanRequired

Whether returns are suppressed for this registration. When true, Kintsugi does not file against it.

importedbooleanRequired

Whether the registration was already held and brought into Kintsugi, rather than filed by Kintsugi.

autoRegisteredbooleanRequired

Whether the registration was completed without manual intervention.

201

Successful Response

400

The request was invalid.

401

Authentication failed or was missing.

403

The credential is not permitted for this request.

404

The requested resource was not found.

409

The request conflicts with existing state.

422

The request failed validation.

cURL
POST /registrations
-H "Api-Key: ***"
-H "Api-Version: 2026-07-21"
{
"registrationImportType": "REGULAR",
"countryCode": "US",
"stateCode": "CA",
"stateName": "California",
"filingFrequency": "UNKNOWN",
"registrationDate": "2026-01-01",
"registrationEmail": "tax@example.com",
"createFilingsFrom": "2026-01-01",
"registrationRequested": "2026-07-21T15:30:00Z",
"registrationCompleted": "2026-07-21T15:30:00Z",
"deregistrationRequested": "2026-07-21T15:30:00Z",
"deregistrationCompleted": "2026-07-21T15:30:00Z",
"autoRegistered": false,
"doNotFile": false,
"selfManaged": false,
"registrationsRegime": "STANDARD",
"changeRegimeStatus": "REQUESTED",
"comment": "Reviewed and approved.",
"salesTaxId": "123-456789",
"iorNumber": "123456789",
"requestId": "req_2mNpQr7Ls8f3k",
"jurisdictionSpecificFields": {
"businessName": "Example Inc",
"registrationType": "SALES_TAX"
}
}
Response
{
"id": "regs_2mNpQr7Ls8f3k",
"organizationId": "orgn_2mNpQr7Ls8f3k",
"organizationName": "Acme Corp",
"countryCode": "US",
"stateCode": "CA",
"stateName": "California",
"status": "REGISTERED",
"isPreCollecting": false,
"registrationType": "EU_OSS",
"registrationCategory": "REGULAR",
"taxType": "SALES_TAX",
"filingFrequency": "UNKNOWN",
"scheduledFilingFrequency": "UNKNOWN",
"filingFrequencyEffectiveDate": "2027-01-01",
"registrationDate": "2026-01-01",
"createFilingsFrom": "2026-01-01",
"registrationRequested": "2026-07-21T15:30:00Z",
"registrationCompleted": "2026-07-21T15:30:00Z",
"deregistrationRequested": "2026-07-21T15:30:00Z",
"deregistrationCompleted": "2026-07-21T15:30:00Z",
"deregistrationClosureDate": "2026-02-15",
"deregistrationReason": "FULL_BUSINESS_CLOSURE",
"deregistrationAcknowledgedAt": "2026-07-28T12:00:00Z",
"registrationEmail": "tax@example.com",
"salesTaxId": "123-456789",
"iorNumber": "123456789",
"iorDate": "2026-01-01",
"comment": "Reviewed and approved.",
"registrationsRegime": "STANDARD",
"changeRegimeStatus": "REQUESTED",
"ossType": "UNION",
"ossMemberStateOfIdentificationCode": "IE",
"filingWebsiteUrl": "https://onlineservices.cdtfa.ca.gov/",
"amountFees": "150.00",
"amountFeesCurrency": "USD",
"vda": false,
"doNotFile": false,
"imported": false,
"autoRegistered": false
}
Create a registration (2026-07-21) | Kintsugi API Reference