Skip to main content

Endpoint

Base URL: https://api.usesticker.com Staging/Sandbox URL: https://staging.api.usesticker.com

Description

Sets up an organization with a user profile and shipping locations in Sticker. This endpoint handles both creating new organizations and adding new users to existing organizations. Sticker’s data model assumes a many-to-one relationship from profiles to organizations:
  • An organization represents the customer business, company, practice, store, school, or legal entity.
  • A profile represents an employee or user inside that organization.
  • Multiple profiles can belong to the same organization.
  • Different businesses must not share the same internalOrgId.
Behavior:
  • If organization with internalOrgId does not exist: Creates organization, user profile, and shipping locations
  • If organization already exists: Creates a new user profile linked to the existing organization
internalOrgId is the unique key Sticker uses to identify a business organization for your partner account. Reusing one generic internalOrgId across multiple unrelated companies will group those companies into the same Sticker organization.

Authentication

Requires Partner API key with organization:write scope.

Request Body

Request Parameters

Required Fields

string
required
Your unique internal identifier for this business organization. Use the same value only for users who belong to the same business. Use a different value for every distinct customer business.
string
required
Display name for the organization.
string
required
Your internal identifier for this user or employee. Each user in the same organization should have a unique internalUserId.
object
required
User profile information.
string
required
User’s first name.
string
required
User’s last name.
string
required
User’s email address. Must be a valid email format.

Optional Fields

string
User’s phone number.
object
User’s personal address (different from organization shipping locations).
array
Array of shipping locations for the organization. Recommended for new organizations.
object
Organization’s billing address.
string
Organization’s primary contact email.
string
Organization’s primary phone number.

Address Object

Used for userAddress, billingAddress, and shippingLocations[].address:
string
required
Street address line 1.
string
Street address line 2 (apartment, suite, etc.).
string
required
City name.
string
required
State/Province. Accepts full name (e.g., “California”) or abbreviation (e.g., “CA”).
string
required
ZIP or postal code.
string
Country. Defaults to “United States”. Currently only US is supported.

Shipping Location Object

string
required
Your internal identifier for this shipping location.
string
required
Display name for the location (e.g., “Main Office”, “Warehouse”).
string
Short nickname for the location.
object
required
Address object (see above).
object
Contact information for delivery.
string
Contact person’s name.
string
Contact phone number.
string
Contact email address.
boolean
Whether this is the default shipping location. Defaults to false.
string
Special instructions for delivery drivers.

Response

Success Response (200 OK)

Response Fields

boolean
Whether the operation succeeded.
object
Organization details.
string
Sticker’s unique identifier for the organization (UUID).
string
Stripe customer ID for billing.
object
Created user profile.
string
Sticker’s unique identifier for the user profile (UUID).
string
Supabase Auth user ID linked to this profile.
array
Array of shipping locations. For existing organizations, returns all existing locations.
boolean
true if a new organization was created, false if user was added to existing organization.

Error Responses

Common causes:
  • Missing required fields
  • Invalid email format
  • Invalid state/province (must be valid US state)
Solution: Check your API key is correct and included in the Authorization header.
Solution: The user with this internalUserId already exists in this organization. Use the existing profile ID for handshake requests.
Solution: Retry with exponential backoff. Contact support if the error persists.

Code Examples

Notes

Organization Identity: Do not reuse one shared internalOrgId for multiple customer businesses. For example, if you have 50 stores, cleaning companies, practices, or schools, you should send 50 distinct internalOrgId values. Employees from the same business should share that business’s internalOrgId and have distinct internalUserId values.
State/Province Normalization: The API accepts both full state names (“California”) and abbreviations (“CA”). All values are normalized and stored as full state names internally.
Stripe Customer Creation: When creating a new organization, a Stripe customer is automatically created for billing. The stripeCustomerId is returned in the response for reference.
Adding Users to Existing Organizations: Call this endpoint again with the same internalOrgId but a different internalUserId to add additional users to an existing organization.