# Get a profile

One person: names, current role, work history and contact emails.

Canonical: https://chikaraintel.com/docs/api/reference/profiles/get-profile

```text
GET https://api.chikaraintel.com/v1/profiles/{profileReference}
```

Authentication: `Authorization: Bearer <token>`.

## Parameters

- `profileReference` (uuid, path, required) The person's reference.

## Response

The payload is under `success`.

- `reference` (uuid)
- `names` (object) `{ fullName, firstName, lastName }`.
- `current_role` (object | null) The latest role: `{ title, organisation, start_date }`.
- `confidenceScore` (number | null)
- `experiences` (array) Work history, one entry per role.
  - `reference` (uuid)
  - `organisation` (object | null) `{ reference, name }`.
  - `occupation_title` (string) The title as recorded.
  - `occupation` (object | null) `{ reference, name }`, the normalised job title.
  - `startDate` (date | null)
  - `endDate` (date | null) Null on a current role.
- `emails` (array) `{ value, domain, confidence_score, is_valid }` per address.
- `links` (object | array) `{ Linkedin: { href } }` where known.

A profile can carry more fields than are listed here. Treat unlisted fields as unstable.

## Examples

cURL:

```bash
curl -sS "https://api.chikaraintel.com/v1/profiles/a1b2c3d4-e5f6-4a7b-9c8d-e9f0a1b2c341" \
  -H "Authorization: Bearer $CHIKARA_API_TOKEN" \
  -H "Accept: application/json"
```

JavaScript:

```javascript
const BASE = "https://api.chikaraintel.com";
const headers = {
  Authorization: `Bearer ${process.env.CHIKARA_API_TOKEN}`,
  Accept: "application/json"
};

const res = await fetch(`${BASE}/v1/profiles/a1b2c3d4-e5f6-4a7b-9c8d-e9f0a1b2c341`, { headers });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);

const { success } = await res.json();
console.log(success);
```

Python:

```python
import os
import requests

BASE = "https://api.chikaraintel.com"
HEADERS = {
    "Authorization": f"Bearer {os.environ['CHIKARA_API_TOKEN']}",
    "Accept": "application/json",
}

res = requests.get(
    f"{BASE}/v1/profiles/a1b2c3d4-e5f6-4a7b-9c8d-e9f0a1b2c341",
    headers=HEADERS,
    timeout=30,
)
res.raise_for_status()
print(res.json()["success"])
```

Response:

```json
{
  "status": {
    "code": 200,
    "messages": []
  },
  "success": {
    "reference": "a1b2c3d4-e5f6-4a7b-9c8d-e9f0a1b2c341",
    "names": {
      "fullName": "Elena Marchetti",
      "firstName": "Elena",
      "lastName": "Marchetti"
    },
    "current_role": {
      "title": "Chief Financial Officer",
      "organisation": "Halberd Industrial Group",
      "start_date": "2026-09-01"
    },
    "confidenceScore": 0.92,
    "experiences": [
      {
        "reference": "…",
        "organisation": {
          "reference": "3f2a9c1e-7b4d-4e8a-9c21-5d6e7f8a9b01",
          "name": "Halberd Industrial Group"
        },
        "occupation_title": "Chief Financial Officer",
        "startDate": "2026-09-01",
        "endDate": null
      }
    ],
    "emails": [],
    "links": []
  },
  "correlation_id": "5f0c2a9e4b7d4c1e"
}
```

## Used by

- get_person
