> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qalico.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Profile

> Manage the workspace regulatory profile

# Profile

The regulatory profile describes the company's products, markets, risk classifications, and therapeutic areas. It's used by AI to generate subscription recommendations and impact assessments.

## Get profile

```bash theme={null}
GET /api/workspaces/:workspaceId/profile
```

**Response:**

```json theme={null}
{
  "id": "profile-uuid",
  "companyDescription": "Class II cardiovascular device manufacturer",
  "onboardingCompleted": true,
  "markets": ["us", "eu"],
  "riskClassifications": ["Class II", "Class IIa"],
  "deviceCharacteristics": ["implantable", "powered"],
  "therapeuticAreas": ["cardiovascular"],
  "products": [
    {
      "id": "product-uuid",
      "name": "CardioStent X1",
      "description": "Drug-eluting coronary stent",
      "position": 0
    }
  ]
}
```

## Update profile

```bash theme={null}
PATCH /api/workspaces/:workspaceId/profile
```

All fields are optional — only provided fields are updated.

<ParamField body="companyDescription" type="string | null">
  Company description
</ParamField>

<ParamField body="markets" type="string[]">
  Geography codes (e.g. `["us", "eu", "fr"]`)
</ParamField>

<ParamField body="riskClassifications" type="string[]">
  Risk classifications (e.g. `["Class II", "Class IIa"]`)
</ParamField>

<ParamField body="deviceCharacteristics" type="string[]">
  Device characteristics (e.g. `["implantable", "powered"]`)
</ParamField>

<ParamField body="therapeuticAreas" type="string[]">
  Therapeutic areas (e.g. `["cardiovascular"]`)
</ParamField>

<ParamField body="products" type="object[]">
  Full product list. Products without an `id` are created; products with an `id` are updated; existing products not in the list are deleted.
</ParamField>

**Response:** The updated profile (same shape as GET).

## Generate profile from website

```bash theme={null}
POST /api/workspaces/:workspaceId/profile/generate
```

<ParamField body="url" type="string" required>
  Company website URL to analyze
</ParamField>

AI scrapes the website and generates a regulatory profile including company description, markets, risk classifications, device characteristics, therapeutic areas, and products.

This is a synchronous call — it blocks until the AI task completes (typically 10-30 seconds).

**Response:** The generated profile (same shape as GET).
