Skip to main content
POST
https://searchcompany-main.up.railway.app
/
api
/
business
curl -X POST https://searchcompany-main.up.railway.app/api/business \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "business_name": "Nike",
    "business_url": "https://nike.com",
    "tracking_type": "business",
    "clerk_org_id": "org_2abc123",
    "clerk_user_id": "user_2xyz789",
    "org_slug": "nike-123456"
  }'
{
  "id": 42,
  "business_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "business_name": "Nike",
  "created_at": "2024-01-15T10:30:00Z",
  "ranking_score": 38,
  "entity_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
Creates an organization details record in clerk_organization_details table and a business entity in the entities table. This is called during onboarding after the Clerk organization is created.

What This Does

  1. Creates organization metadata in clerk_organization_details (links Clerk org to database)
  2. Gets/creates ranking score in the pre-payment rankings database (32-49 range)
  3. Creates business entity in entities table (needed for visibility tracking)
  4. Updates Clerk metadata with business info for frontend access

Request Body

business_name
string
required
The name of the business (e.g., β€œNike”, β€œAcme Corp”)
business_url
string
The main website URL for the business
tracking_type
string
Type of tracking: "business" or "product"
clerk_org_id
string
The Clerk organization ID (e.g., org_2abc123)
clerk_user_id
string
The Clerk user ID who created the business
org_slug
string
The Clerk organization slug (e.g., nike-123456). Used to create the entity in the entities table.

Response

id
integer
Database record ID in clerk_organization_details
business_uuid
string
Unique identifier (UUID v4)
business_name
string
The organization name
created_at
string
ISO 8601 timestamp of creation
ranking_score
integer
Pre-payment AI visibility ranking score (32-49)
entity_id
string
The UUID of the created entity in the entities table
The entity_id is created here so that Materialize Score can immediately copy the ranking score to the main database after onboarding completes.
curl -X POST https://searchcompany-main.up.railway.app/api/business \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "business_name": "Nike",
    "business_url": "https://nike.com",
    "tracking_type": "business",
    "clerk_org_id": "org_2abc123",
    "clerk_user_id": "user_2xyz789",
    "org_slug": "nike-123456"
  }'
{
  "id": 42,
  "business_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "business_name": "Nike",
  "created_at": "2024-01-15T10:30:00Z",
  "ranking_score": 38,
  "entity_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}