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

# Create speaker profile

> Create a new speaker profile for consistent speaker identification across meetings.

Creates a new speaker profile. Once created, Mavio uses voice embeddings and name matching to automatically associate this speaker with their segments in future meetings. You can also manually link unidentified speakers to existing profiles.

<ParamField body="name" type="string" required>
  Display name for the speaker. Maximum 200 characters.
</ParamField>

<ParamField body="email" type="string">
  Optional email address. Used for matching against calendar event participants for automatic speaker identification.
</ParamField>

<ParamField body="organization" type="string">
  Optional organization or company name. Maximum 200 characters.
</ParamField>

### Response

<ResponseField name="id" type="string">
  Unique speaker profile identifier (e.g., `spk_k1l2m3n4o5`).
</ResponseField>

<ResponseField name="name" type="string">
  Display name of the speaker.
</ResponseField>

<ResponseField name="email" type="string | null">
  Email address, or `null` if not provided.
</ResponseField>

<ResponseField name="organization" type="string | null">
  Organization name, or `null` if not provided.
</ResponseField>

<ResponseField name="meeting_count" type="integer">
  Number of meetings (starts at 0 for new profiles).
</ResponseField>

<ResponseField name="total_speaking_seconds" type="integer">
  Total speaking time (starts at 0 for new profiles).
</ResponseField>

<ResponseField name="last_seen_at" type="string | null">
  `null` for newly created profiles with no meeting appearances yet.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp when the profile was created.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp when the profile was last modified.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.mavioapp.com/v1/speaker-profiles \
    -H "Authorization: Bearer mvo_live_abc123" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Alex Kim",
      "email": "alex.kim@example.com",
      "organization": "Acme Corp"
    }'
  ```

  ```python Python theme={null}
  profile = client.speaker_profiles.create(
      name="Alex Kim",
      email="alex.kim@example.com",
      organization="Acme Corp"
  )
  print(f"Created speaker profile: {profile.id}")
  ```

  ```javascript Node.js theme={null}
  const profile = await client.speakerProfiles.create({
    name: 'Alex Kim',
    email: 'alex.kim@example.com',
    organization: 'Acme Corp',
  });
  console.log(`Created speaker profile: ${profile.id}`);
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "id": "spk_k1l2m3n4o5",
    "name": "Alex Kim",
    "email": "alex.kim@example.com",
    "organization": "Acme Corp",
    "meeting_count": 0,
    "total_speaking_seconds": 0,
    "last_seen_at": null,
    "created_at": "2026-04-14T09:15:00Z",
    "updated_at": "2026-04-14T09:15:00Z"
  }
  ```
</ResponseExample>
