---
title: "Add Consultant"
method: POST
path: "/claims/{claim_id}/consultants"
tags: ["claims"]
---

# Add Consultant

`POST /claims/{claim_id}/consultants`

## Request

- Base URL: `https://api.claimkit.co` (the document declares no server; this is the origin it was published from)
- URL: `https://api.claimkit.co/claims/{claim_id}/consultants`
- Auth: none declared

Invite a consultant to the claim by email.

Gated to admins and the claim owner. Refuses if the claim is not
flagged ``is_consultant_claim`` — only admins can flip the flag, so
consultant invites strictly follow that toggle. Creates a
``ClaimInvitation(is_consultant=True)`` and reuses the existing
invitation email / signup plumbing; on accept, the invitee gets a
``ClaimConsultant`` row (and NOT a ``WorkspaceMember`` row).

## Path parameters

- `claim_id` integer, required

## Request body

- AddConsultantRequest
  - `email` string, email, required

## Response `200`

Successful Response

- ConsultantsListResponse
  - `consultants` ConsultantResponse[], required
    - `user_id` integer, required
    - `email` string, required
    - `name` string, nullable
    - `invited_by_name` string, nullable
    - `created_at` string, required
  - `invitations` ConsultantInvitationResponse[], required
    - `id` integer, required
    - `email` string, required
    - `invited_by_name` string, nullable
    - `created_at` string, required
    - `expires_at` string, required
    - `status` 'pending' | 'expired', required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/claimkit/apis/claimkit-api.md) - [All operations](https://skmtc.dev/claimkit/apis/claimkit-api/llms.txt) - [OpenAPI document](https://skmtc.dev/claimkit/apis/claimkit-api/revisions/94dc85ba5326?raw)
