Overview
The Organization Setup endpoint is your one-stop shop for provisioning customer data in Sticker. Call it when a customer enables procurement in your platform—it creates the organization, user profile, shipping locations, and even sets up billing with Stripe.Data Model: Organizations and Profiles
Sticker models organizations and profiles as a many-to-one relationship:- Organization: the business, company, practice, store, school, or legal entity buying supplies.
- Profile: an employee or user who belongs to that business.
- Relationship: many profiles can belong to one organization, but each distinct business should have its own organization.
If a business has only one user, it still needs its own unique
internalOrgId. Additional employees from the same business should reuse that same internalOrgId and use their own unique internalUserId.When to Call This Endpoint
1
User Enables Procurement
A customer clicks “Enable Supplies” (or similar) in your platform
2
Gather Required Data
Collect the user’s info and at least one shipping location
3
Call Setup Endpoint
Send data to Sticker’s
/v1/organizations/setup endpoint4
Store the Profile ID
Save the returned
profile.id for future handshake requestsWhat Gets Created
When you call the setup endpoint, Sticker automatically:- Creates a Stripe Customer - For billing and payment method storage
- Creates the Organization - Linked to your
internalOrgId - Creates Shipping Locations - For order delivery
- Creates an Auth User - For secure authentication
- Creates a User Profile - Linked to the org and auth user
API Endpoint
https://api.usesticker.com
Authentication
Include your Partner API Key in the Authorization header:Request Format
Request Parameters
Required Fields
Optional Fields
Address Object
State Normalization: The API accepts both abbreviations (“CA”) and full names (“California”). Internally, all values are stored as full state names.
Shipping Location Object
Response Format
Success (200 OK)
Key Response Fields
Adding Users to Existing Organizations
Call the same endpoint with the sameinternalOrgId but a different internalUserId:
isNewOrganization: false, and the new user will have access to the existing organization’s shipping locations and shared payment methods.
Common Mapping Mistake
Do not model every customer under one shared organization ID:Error Handling
400 Validation Error
400 Validation Error
- Invalid email format
- Invalid state/province (must be valid US state)
- Missing required fields
409 User Already Exists
409 User Already Exists
profileId for handshake.Code Examples
Best Practices
Use Your Internal IDs
Use Your Internal IDs
Always use your own internal IDs for
internalOrgId, internalUserId, and internalShippingLocationId. internalOrgId must uniquely identify the customer business, while internalUserId must uniquely identify a user or employee.One Business, One Organization ID
One Business, One Organization ID
Use the same
internalOrgId only for users who belong to the same business. Use a different internalOrgId for every distinct customer business, even if that business currently has only one user.Include Shipping Locations
Include Shipping Locations
Always include at least one shipping location when creating a new organization. This ensures users can complete checkout immediately.
Handle the 409 Response
Handle the 409 Response
If you get a 409 (User Already Exists), don’t treat it as an error—the user is already set up! Just use the returned profile ID.
Store the Profile ID
Store the Profile ID
Store the returned
profile.id in your database. While you can use internal_user_id for handshake, having the profile ID is useful for debugging.Next Steps
User Handshake
Authenticate users for each session
API Reference
Complete API specification

