Company blueprints

Fictix does not treat a generated company as a random pile of rows. It builds a company blueprint that drives the shape of the synthetic business.

Console customers choose and review this shape in the Fictix Console.

The request examples below are for approved server-to-server control-plane integrations, not a reason to expose a management credential in a frontend.

The blueprint is how Fictix decides:

  • what kind of business this is
  • how many customers should exist
  • how revenue relates to headcount
  • which systems should have data
  • how much data can be generated safely
  • whether the classification needs human review

Sources of company shape

Fictix can build a blueprint from:

  • explicit request fields
  • domain enrichment
  • Apollo identifiers
  • industry and company-size hints
  • archetype overrides
  • safe defaults when little information is provided

Explicit fields win over inferred fields.

Important request fields

{
  "company": {
    "name": "Acme Logistics",
    "domain": "acme-logistics.example",
    "archetype": "professional_services",
    "industry": "Logistics",
    "employee_count": 120,
    "annual_revenue": 24000000,
    "customer_accounts": 1500,
    "company_age_months": 48,
    "selected_services": ["qbo", "gusto", "hubspot", "asana"]
  }
}

company_dna and generation_company_dna

Fictix separates actual business facts from safe generation scale.

company_dna

Represents the real or requested company.

Examples:

  • actual headcount
  • actual annual revenue
  • actual customer accounts
  • business family
  • operating profile

generation_company_dna

Represents the scaled shape Fictix will generate.

This may be smaller than the real company. For example, a company with 1,000,000 real customer accounts might generate a representative weighted sample instead of one million customer records.

Use generation_company_dna for loader sizing and expected volume. Use company_dna for UI copy and business context.

Classification review

Generated company responses can include:

{
  "company": {
    "classification": {
      "business_family": "commerce",
      "review_required": false
    }
  }
}

If review_required is true, a product UI should ask the user to confirm or override the classification before presenting the dataset as high-confidence.

Selected services

selected_services tells Fictix which systems matter for the generated company.

Examples:

["qbo", "stripe", "gusto", "hubspot", "asana"]

Selected services affect:

  • visible connector/system record counts
  • native-shaped runtime records
  • export pack relevance
  • scenario and eval usefulness

They do not mean Fictix connects to those real systems. Fictix creates synthetic or native-shaped data that resembles those systems.

Healthcare / ASC profile

Fictix's first healthcare vertical is the ambulatory surgery center (ASC) profile. Choose it in the Console, or set company.industry to asc_surgical in an approved server-to-server create request. The profile adds operating rooms, surgical cases, clinical incidents, and dictated safety reports to the otherwise standard synthetic company.

Use the industry field for this profile—not company.archetype. The generated records are synthetic and contain no real patient data. See Healthcare / ASC Data for entity schemas, safety boundaries, and evaluation guidance.

Safe scaling

Fictix enforces generation budgets. When a request is too large, the API returns an actionable 422 with:

  • estimated weighted load
  • estimated records
  • current budget
  • quality preset
  • connector count
  • suggested safe employees or months of history

To reduce load:

  • lower generation.employees
  • lower generation.months_of_history
  • reduce selected_services
  • choose clean or realistic instead of stress_test
  • lower customer density in the company shape

Naming

Project names are unique within an organization. If the same name is requested twice, Fictix may append a suffix such as:

Local SaaS TestCo (2)

Store the returned job/company name rather than assuming it exactly matches the request.