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

# Create Attribution

Record a self-reported attribution response. Use this to track how customers discovered your brand — from AI search, organic, social, ads, referrals, or any custom channel.

Requires `write` scope on your API key.

<ParamField path="projectId" type="string" required>
  The project ID.
</ParamField>

<ParamField body="channelId" type="string" required>
  Attribution channel identifier. Use standard IDs like `ai_search`, `ai_chatgpt`, `ai_perplexity`, `google_search`, `social_media`, `paid_ads`, `referral`, `content`, or any custom string.
</ParamField>

<ParamField body="respondentEmail" type="string">
  Lead email address.
</ParamField>

<ParamField body="respondentName" type="string">
  Lead full name.
</ParamField>

<ParamField body="respondentExternalId" type="string">
  External ID from your CRM or system.
</ParamField>

<ParamField body="dealValue" type="number">
  Revenue amount attributed to this lead.
</ParamField>

<ParamField body="dealCurrency" type="string" default="USD">
  ISO currency code.
</ParamField>

<ParamField body="formId" type="string">
  Identifier of the source form (e.g. Typeform form\_id, HubSpot form ID).
</ParamField>

<ParamField body="pageUrl" type="string">
  Page URL where the form was submitted.
</ParamField>

<ParamField body="metadata" type="object">
  Additional custom data as key-value pairs.
</ParamField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl --request POST \
    --url https://api.finseo.ai/v1/projects/PROJECT_ID/attribution \
    --header 'Authorization: Bearer sk_live_xxxxxxxx' \
    --header 'Content-Type: application/json' \
    --data '{
      "channelId": "ai_search",
      "respondentEmail": "jane@company.com",
      "respondentName": "Jane Smith",
      "dealValue": 12000,
      "dealCurrency": "EUR",
      "formId": "signup_form_v2",
      "pageUrl": "https://example.com/signup"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={"system"}
  {
    "data": {
      "id": "a1b2c3d4-...",
      "channel_id": "ai_search",
      "channel_label": "AI Search (ChatGPT, Perplexity, etc.)",
      "channel_category": "ai_search",
      "respondent_email": "jane@company.com",
      "deal_value": 12000,
      "source": "api",
      "created_at": "2026-03-15T10:30:00Z"
    }
  }
  ```
</ResponseExample>
