Onboarding Sequence
The onboarding process consists of 8 sequential API calls that must be completed in order. Each step depends on the previous one completing successfully.Step 1: Create Organization
Endpoint:POST /v1/organizationsPurpose: Creates a new organization entity in Kintsugi for each client. When to Use:
- Immediately when a new client signs up for tax services
- First step in the client onboarding workflow
- Must be completed before any other organization-specific operations
x-api-key: Your parent organizationβs API keyx-organization-id: Your parent organization IDContent-Type:application/json
- The
nameparameter should be the clientβs legal business name - Set
is_test: truefor development/staging environments - The response includes an
organization_idthat must be stored - Implement retry logic for duplicate name conflicts (409 status code)
Step 2: Create API Key
Endpoint:POST /v1/organizations/api_keysPurpose: Generates a secure API key for programmatic access to the newly created organization. When to Use:
- Immediately after organization creation (Step 2 in onboarding)
- Required before any organization-specific API operations can be performed
- Each organization needs its own API key for secure access
x-api-key: Your parent organizationβs API keyx-organization-id: The newly created organization IDContent-Type:application/json
- The API key returned must be securely stored (never expose in client-side code)
- Store alongside the
organization_idin your client record - This key is used for all subsequent API calls for this specific organization
- Consider implementing key rotation policies for production environments
Step 3: Set Business Details
Endpoint:PUT /v1/organization_details/business_details/Purpose: Configures core business information including legal entity type, EIN, incorporation details, and business description. When to Use:
- Step 3 in the onboarding sequence (after organization and API key creation)
- Required for tax compliance setup
- Contains fundamental business identification information
x-api-key: Organizationβs API key (from Step 2)x-organization-id: Organization ID (from Step 1)Content-Type:application/json
entity_typemust be a valid EntityTypeEnum value (e.g., βLLCβ, βCORPORATIONβ, βS_CORPORATIONβ)incorporation_countryandcompany_country_codemust be ISO 3166-1 alpha-2 format- Dates must be in ISO 8601 format (YYYY-MM-DD)
auto_registerandauto_fileflags enable automated compliance features
C_CORPORATION, LLC, S_CORPORATION, SOLE_PROPRIETORSHIP, PARTNERSHIP, etc.
Step 4: Set Business Address
Endpoint:PUT /v1/organization_details/business_address/Purpose: Sets the primary business address for the organization. When to Use:
- Step 4 in onboarding sequence
- Required for tax registration and filing purposes
- May differ from incorporation address
x-api-key: Organizationβs API keyx-organization-id: Organization IDContent-Type:application/json
company_country_codemust be ISO 3166-1 alpha-2 format- Address validation may occur server-side
- This address is used for tax authority communications
Step 5: Set Business Information
Endpoint:PUT /v1/organization_details/business_information/Purpose: Configures operational business details including contact information, mailing address, fiscal year, and accounting method. When to Use:
- Step 5 in onboarding sequence
- Required for complete organization setup
- Contains information needed for tax filings
x-api-key: Organizationβs API keyx-organization-id: Organization IDContent-Type:application/json
accounting_modelmust be either"ACCRUAL"or"CASH"business_fiscal_year_endmust be ISO 8601 format (YYYY-MM-DD)- Mailing address can differ from business address
- Email and phone formats are validated
Step 6: Set Business Contact
Endpoint:PUT /v1/organization_details/business_contact/Purpose: Sets the primary contact person for the organization, including personal identification details required for tax compliance. When to Use:
- Step 6 in onboarding sequence
- Required for tax authority communications
- Contains sensitive personal information (SSN, DOB)
x-api-key: Organizationβs API keyx-organization-id: Organization IDContent-Type:application/json
- Contains PII - ensure secure handling
- SSN and driverβs license numbers are required for tax compliance
- Date of birth must be ISO 8601 format
- Contact address may differ from business address
Step 7: Set Business Owners
Endpoint:PUT /v1/organization_details/business_owners/Purpose: Configures ownership structure with details for up to 3 business owners, including ownership percentages and personal information. When to Use:
- Step 7 in onboarding sequence
- Required for entities with multiple owners
- Used for tax compliance and registration purposes
x-api-key: Organizationβs API keyx-organization-id: Organization IDContent-Type:application/json
- Supports up to 3 owners (owner1, owner2, owner3)
- Ownership percentages should sum to 100%
- All owner fields follow the same pattern with numeric suffix (1, 2, 3)
- Contains sensitive PII - handle securely
- Required for multi-member entities (LLCs, partnerships)
Step 8: Set Bank Details
Endpoint:PUT /v1/bank_details/Purpose: Configures bank account information for tax payment processing and refunds. When to Use:
- Step 8 in onboarding sequence (final step)
- Required for automated tax payments
- Used for ACH transactions with tax authorities
x-api-key: Organizationβs API keyx-organization-id: Organization IDContent-Type:application/json
account_typemust be either"CHECKING"or"SAVINGS"- Routing number must be valid 9-digit US routing number
- Account holder name should match business legal name
- Highly sensitive financial data - encrypt at rest and in transit
- Required for automated filing and payment features
Error Handling
Implement robust error handling for each step: Common Errors:- 409 Conflict: Duplicate organization name - implement retry with modified name
- 400 Bad Request: Invalid data format - validate before sending
- 401 Unauthorized: Invalid API key - verify credentials
- 404 Not Found: Organization doesnβt exist - verify organization_id
Best Practices
- Sequential Execution: Complete each step before moving to the next
- Store Credentials: Save
organization_idandapi_keyimmediately after creation - Error Recovery: Implement retry logic for transient failures
- Data Validation: Validate all data before sending to API
- Security: Encrypt sensitive data (API keys, PII, bank details) at rest
- Progress Tracking: Show progress to users during multi-step onboarding
- Rollback: Implement rollback logic if onboarding fails mid-process