---
title: "Submit referral source (how did you hear about us)"
method: POST
path: "/api/v1/organizations/referral-source"
tags: ["Organizations"]
---

# Submit referral source (how did you hear about us)

`POST /api/v1/organizations/referral-source`

## Request body

- ReferralSourceRequest — Request to submit referral source
  - `referral_source` 'search_engine' | 'ai_assistant' | 'youtube' | 'tiktok' | 'blog_article' | 'reddit' | 'hacker_news' | 'social_media' | 'word_of_mouth' | 'proxmox_community_scripts' | 'self_hosted' | 'other' | 'prefer_not_to_say', required — How a user first heard about Scanopy, as offered by the onboarding prompt.
  - `referral_source_other` string, nullable — Free-text detail, sent when `referral_source` is `other`.

## Response `200`

Referral source recorded

- ApiResponse
  - `data` TupleUnit — No payload. Present only so the envelope keeps its shape.
  - `error` string, nullable — Human-readable failure message. Omitted on success.
  - `meta` ApiMeta, required — API metadata included in all responses
    - `api_version` integer, required — API version (integer, increments on breaking changes)
    - `server_version` string, required — Server version (semver)
  - `success` boolean, required — `true` when the request succeeded. `false` responses carry `error` instead of `data`.

---

[API](https://skmtc.net/scanopy/apis/scanopy-api.md) · [All operations](https://skmtc.net/scanopy/apis/scanopy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/scanopy/scanopy-api/revisions/2df1fc47dfa7/schema)
