{ "success": false, "error": { "code": "VALIDATION_ERROR", "message": "At least one of email or external_user_id is required", "issues": { "email": ["At least one of email or external_user_id is required"] } }}
{ "success": false, "error": { "code": "CLICK_NOT_FOUND", "message": "Click not found or does not belong to your team" }}
Signups
Record Lead Signup
Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js Affonso.signup() call.
{ "success": false, "error": { "code": "VALIDATION_ERROR", "message": "At least one of email or external_user_id is required", "issues": { "email": ["At least one of email or external_user_id is required"] } }}
{ "success": false, "error": { "code": "CLICK_NOT_FOUND", "message": "Click not found or does not belong to your team" }}
Use this endpoint when you want to record a lead signup from your own backend instead of relying on the browser pixel. The typical flow is:
Track the click with POST /v1/clicks — store the returned id as your clickId.
Once the visitor signs up in your application, call POST /v1/signups with that clickId plus their email and/or your internal user ID.
The endpoint is idempotent: calling it twice with the same clickId returns the existing referral without creating duplicates.If the affiliate’s program has a lead incentive configured, this call also creates the commission transaction and fires the transaction.created webhook in addition to referral.lead.
Body Parameters
string
required
The click ID returned by POST /v1/clicks. Must belong to your team.
string
The lead’s email address. Either email or external_user_id must be provided. Silently ignored when the program has email tracking disabled.
string
Your internal identifier for the lead (e.g. database user ID). Either email or external_user_id must be provided.
string
The lead’s display name. Maximum 255 characters. Silently ignored when the program has name tracking disabled.
Response
boolean
true on success. Returns false only on validation, auth, or not-found errors.
object
The referral object after conversion.
Show Data Object Properties
string
Referral ID. Equal to the click_id you passed — the same row is transitioned from click to lead.
string
The affiliate user who owns this lead.
string | null
The lead’s email (omitted when the program disables email tracking).
string
lead after successful conversion. rejected if a fraud check (self-referral, disposable email, paid traffic) blocked the signup.
string
ISO 8601 timestamp of when the click was originally recorded.
string | null
ISO 8601 timestamp of when the click was converted to a lead. null for lead status (set later when status moves to customer/active).
Status codes
Code
Meaning
201 Created
Click successfully converted to a lead.
200 OK
Idempotent re-call — the click was already converted. Returns the existing referral.
{ "success": false, "error": { "code": "VALIDATION_ERROR", "message": "At least one of email or external_user_id is required", "issues": { "email": ["At least one of email or external_user_id is required"] } }}
{ "success": false, "error": { "code": "CLICK_NOT_FOUND", "message": "Click not found or does not belong to your team" }}
Fraud checks
The same fraud checks that run for browser-side signups (self-referral, disposable email, paid traffic) also apply here. If any check is configured in BLOCK mode and rejects the signup:
The referral status is set to rejected instead of lead.
The referral.lead webhook is not emitted.
No lead-incentive commission is created.
The endpoint still returns 201 Created with the rejected referral object — inspect data.status to detect blocks.
Webhooks fired
Event
When
referral.lead
Conversion succeeded and was not blocked by fraud checks.
transaction.created
Conversion succeeded, was not blocked, and the program has a lead incentive configured for this affiliate (via group incentive or override).
Related endpoints
POST /v1/clicks — track the click that you’ll later convert.
POST /v1/referrals — alternative endpoint when you want to skip the click stage and record a referral directly.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Affonso Docs","colors":{"primary":"#881337","light":"#881337","dark":"#881337"},"logo":{"light":"https://mintcdn.com/affonso-20c7dee8/nWO6r2CUpJ-o-z8l/logo/affonso_logo_small.png?fit=max\u0026auto=format\u0026n=nWO6r2CUpJ-o-z8l\u0026q=85\u0026s=4b239574262c42f95697481e8b29adce","dark":"https://mintcdn.com/affonso-20c7dee8/nWO6r2CUpJ-o-z8l/logo/affonso_logo_small.png?fit=max\u0026auto=format\u0026n=nWO6r2CUpJ-o-z8l\u0026q=85\u0026s=4b239574262c42f95697481e8b29adce"},"favicon":"https://mintcdn.com/affonso-20c7dee8/kkGMCXH0kqsXT8_K/favicon.ico?fit=max\u0026auto=format\u0026n=kkGMCXH0kqsXT8_K\u0026q=85\u0026s=fd253ea2af2c3136159ed21ad7b444e3","api":{"playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"}}},"navbar":{"links":[{"href":"mailto:hello@affonso.io","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://affonso.io/app"}},"footer":{"socials":{"x":"https://x.com/useAffonso","linkedin":"https://www.linkedin.com/company/affiliate-software"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Home","icon":"home","href":"https://affonso.io"},{"anchor":"Blog","icon":"newspaper","href":"https://affonso.io/blog"},{"anchor":"Help Center","icon":"book-open-cover","href":"https://affonso.io/help"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"affonso-20c7dee8","hasAudioNarration":false,"actualSubdomain":"affonso-20c7dee8","customDomains":["docs.affonso.io"],"gitSource":{"type":"github","owner":"affonso-io","repo":"affonso-developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6aedd9eaf09614e584b8380c","clientVersion":"0.0.4138","searchFilterCounts":[{"language":"default","tag":"API Reference","count":111},{"language":"default","tag":"Program Management","count":54},{"language":"default","tag":"Core Resources","count":43},{"language":"default","tag":"Program Settings","count":33},{"language":"default","tag":"MCP","count":17},{"language":"default","tag":"Campaigns","count":15},{"language":"default","tag":"Webhooks","count":11},{"language":"default","tag":"Tools","count":9},{"language":"default","tag":"Getting Started","count":8},{"language":"default","tag":"Affiliates","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/endpoint/signups/create","slug":"/api/endpoint/signups/create","pageMetadata":{"title":"Record Lead Signup","api":"POST /v1/signups","description":"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js `Affonso.signup()` call.","href":"/api/endpoint/signups/create"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js \", _jsx(_components.code, {\n children: \"Affonso.signup()\"\n }), \" call.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,ParamField,ResponseField,Table}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this endpoint when you want to record a lead signup from your own backend instead of relying on the browser pixel. The typical flow is:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Track the click with `,_jsx(_components.a,{href:`/api/endpoint/clicks/create`,children:_jsx(_components.code,{children:`POST /v1/clicks`})}),` — store the returned `,_jsx(_components.code,{children:`id`}),` as your `,_jsx(_components.code,{children:`clickId`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Once the visitor signs up in your application, call `,_jsx(_components.code,{children:`POST /v1/signups`}),` with that `,_jsx(_components.code,{children:`clickId`}),` plus their email and/or your internal user ID.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The endpoint is `,_jsx(_components.strong,{children:`idempotent`}),`: calling it twice with the same `,_jsx(_components.code,{children:`clickId`}),` returns the existing referral without creating duplicates.`]}),`\n`,_jsxs(_components.p,{children:[`If the affiliate’s program has a lead incentive configured, this call also creates the commission transaction and fires the `,_jsx(_components.code,{children:`transaction.created`}),` webhook in addition to `,_jsx(_components.code,{children:`referral.lead`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsx(ParamField,{body:`click_id`,type:`string`,required:true,id:`param-click-id`,children:_jsxs(_components.p,{children:[`The click ID returned by `,_jsx(_components.code,{children:`POST /v1/clicks`}),`. Must belong to your team.`]})}),`\n`,_jsx(ParamField,{body:`email`,type:`string`,id:`param-email`,children:_jsxs(_components.p,{children:[`The lead’s email address. Either `,_jsx(_components.code,{children:`email`}),` or `,_jsx(_components.code,{children:`external_user_id`}),` must be provided. Silently ignored when the program has email tracking disabled.`]})}),`\n`,_jsx(ParamField,{body:`external_user_id`,type:`string`,id:`param-external-user-id`,children:_jsxs(_components.p,{children:[`Your internal identifier for the lead (e.g. database user ID). Either `,_jsx(_components.code,{children:`email`}),` or `,_jsx(_components.code,{children:`external_user_id`}),` must be provided.`]})}),`\n`,_jsx(ParamField,{body:`name`,type:`string`,id:`param-name`,children:_jsx(_components.p,{children:`The lead’s display name. Maximum 255 characters. Silently ignored when the program has name tracking disabled.`})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` on success. Returns `,_jsx(_components.code,{children:`false`}),` only on validation, auth, or not-found errors.`]})}),`\n`,_jsxs(ResponseField,{name:`data`,type:`object`,id:`param-data`,children:[_jsx(_components.p,{children:`The referral object after conversion.`}),_jsxs(Expandable,{title:`Data Object Properties`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id`,children:_jsxs(_components.p,{children:[`Referral ID. Equal to the `,_jsx(_components.code,{children:`click_id`}),` you passed — the same row is transitioned from `,_jsx(_components.code,{children:`click`}),` to `,_jsx(_components.code,{children:`lead`}),`.`]})}),_jsx(ResponseField,{name:`affiliate_id`,type:`string`,id:`param-affiliate-id`,children:_jsx(_components.p,{children:`The affiliate user who owns this lead.`})}),_jsx(ResponseField,{name:`email`,type:`string | null`,id:`param-email-1`,children:_jsx(_components.p,{children:`The lead’s email (omitted when the program disables email tracking).`})}),_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`lead`}),` after successful conversion. `,_jsx(_components.code,{children:`rejected`}),` if a fraud check (self-referral, disposable email, paid traffic) blocked the signup.`]})}),_jsx(ResponseField,{name:`created_at`,type:`string`,id:`param-created-at`,children:_jsx(_components.p,{children:`ISO 8601 timestamp of when the click was originally recorded.`})}),_jsx(ResponseField,{name:`converted_at`,type:`string | null`,id:`param-converted-at`,children:_jsxs(_components.p,{children:[`ISO 8601 timestamp of when the click was converted to a lead. `,_jsx(_components.code,{children:`null`}),` for `,_jsx(_components.code,{children:`lead`}),` status (set later when status moves to `,_jsx(_components.code,{children:`customer`}),`/`,_jsx(_components.code,{children:`active`}),`).`]})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`status-codes`,children:`Status codes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`201 Created`})}),_jsx(_components.td,{children:`Click successfully converted to a lead.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`200 OK`})}),_jsx(_components.td,{children:`Idempotent re-call — the click was already converted. Returns the existing referral.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`400 Bad Request`})}),_jsxs(_components.td,{children:[`Validation error (missing `,_jsx(_components.code,{children:`click_id`}),`, neither `,_jsx(_components.code,{children:`email`}),` nor `,_jsx(_components.code,{children:`external_user_id`}),` provided, invalid email format).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`401 Unauthorized`})}),_jsx(_components.td,{children:`Missing or invalid API key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`404 Not Found`})}),_jsxs(_components.td,{children:[`The `,_jsx(_components.code,{children:`click_id`}),` does not exist or belongs to a different team.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`429 Too Many Requests`})}),_jsx(_components.td,{children:`Per-API-key rate limit exceeded.`})]})]})]}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`2`,id:`fraud-checks`,children:`Fraud checks`}),`\n`,_jsx(_components.p,{children:`The same fraud checks that run for browser-side signups (self-referral, disposable email, paid traffic) also apply here. If any check is configured in BLOCK mode and rejects the signup:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The referral status is set to `,_jsx(_components.code,{children:`rejected`}),` instead of `,_jsx(_components.code,{children:`lead`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.code,{children:`referral.lead`}),` webhook is `,_jsx(_components.strong,{children:`not`}),` emitted.`]}),`\n`,_jsx(_components.li,{children:`No lead-incentive commission is created.`}),`\n`,_jsxs(_components.li,{children:[`The endpoint still returns `,_jsx(_components.code,{children:`201 Created`}),` with the rejected referral object — inspect `,_jsx(_components.code,{children:`data.status`}),` to detect blocks.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`webhooks-fired`,children:`Webhooks fired`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Event`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`referral.lead`})}),_jsx(_components.td,{children:`Conversion succeeded and was not blocked by fraud checks.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`transaction.created`})}),_jsx(_components.td,{children:`Conversion succeeded, was not blocked, and the program has a lead incentive configured for this affiliate (via group incentive or override).`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api/endpoint/clicks/create`,children:_jsx(_components.code,{children:`POST /v1/clicks`})}),` — track the click that you’ll later convert.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api/endpoint/referrals/create`,children:_jsx(_components.code,{children:`POST /v1/referrals`})}),` — alternative endpoint when you want to skip the click stage and record a referral directly.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Record Lead Signup","api":"POST /v1/signups","description":"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js `Affonso.signup()` call.","href":"/api/endpoint/signups/create"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,RequestExample,ResponseExample,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this endpoint when you want to record a lead signup from your own backend instead of relying on the browser pixel. The typical flow is:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Track the click with `,_jsx(_components.a,{href:`/api/endpoint/clicks/create`,children:_jsx(_components.code,{children:`POST /v1/clicks`})}),` — store the returned `,_jsx(_components.code,{children:`id`}),` as your `,_jsx(_components.code,{children:`clickId`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Once the visitor signs up in your application, call `,_jsx(_components.code,{children:`POST /v1/signups`}),` with that `,_jsx(_components.code,{children:`clickId`}),` plus their email and/or your internal user ID.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The endpoint is `,_jsx(_components.strong,{children:`idempotent`}),`: calling it twice with the same `,_jsx(_components.code,{children:`clickId`}),` returns the existing referral without creating duplicates.`]}),`\n`,_jsxs(_components.p,{children:[`If the affiliate’s program has a lead incentive configured, this call also creates the commission transaction and fires the `,_jsx(_components.code,{children:`transaction.created`}),` webhook in addition to `,_jsx(_components.code,{children:`referral.lead`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsx(ParamField,{body:`click_id`,type:`string`,required:true,id:`param-click-id`,children:_jsxs(_components.p,{children:[`The click ID returned by `,_jsx(_components.code,{children:`POST /v1/clicks`}),`. Must belong to your team.`]})}),`\n`,_jsx(ParamField,{body:`email`,type:`string`,id:`param-email`,children:_jsxs(_components.p,{children:[`The lead’s email address. Either `,_jsx(_components.code,{children:`email`}),` or `,_jsx(_components.code,{children:`external_user_id`}),` must be provided. Silently ignored when the program has email tracking disabled.`]})}),`\n`,_jsx(ParamField,{body:`external_user_id`,type:`string`,id:`param-external-user-id`,children:_jsxs(_components.p,{children:[`Your internal identifier for the lead (e.g. database user ID). Either `,_jsx(_components.code,{children:`email`}),` or `,_jsx(_components.code,{children:`external_user_id`}),` must be provided.`]})}),`\n`,_jsx(ParamField,{body:`name`,type:`string`,id:`param-name`,children:_jsx(_components.p,{children:`The lead’s display name. Maximum 255 characters. Silently ignored when the program has name tracking disabled.`})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` on success. Returns `,_jsx(_components.code,{children:`false`}),` only on validation, auth, or not-found errors.`]})}),`\n`,_jsxs(ResponseField,{name:`data`,type:`object`,id:`param-data`,children:[_jsx(_components.p,{children:`The referral object after conversion.`}),_jsxs(Expandable,{title:`Data Object Properties`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id`,children:_jsxs(_components.p,{children:[`Referral ID. Equal to the `,_jsx(_components.code,{children:`click_id`}),` you passed — the same row is transitioned from `,_jsx(_components.code,{children:`click`}),` to `,_jsx(_components.code,{children:`lead`}),`.`]})}),_jsx(ResponseField,{name:`affiliate_id`,type:`string`,id:`param-affiliate-id`,children:_jsx(_components.p,{children:`The affiliate user who owns this lead.`})}),_jsx(ResponseField,{name:`email`,type:`string | null`,id:`param-email-1`,children:_jsx(_components.p,{children:`The lead’s email (omitted when the program disables email tracking).`})}),_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`lead`}),` after successful conversion. `,_jsx(_components.code,{children:`rejected`}),` if a fraud check (self-referral, disposable email, paid traffic) blocked the signup.`]})}),_jsx(ResponseField,{name:`created_at`,type:`string`,id:`param-created-at`,children:_jsx(_components.p,{children:`ISO 8601 timestamp of when the click was originally recorded.`})}),_jsx(ResponseField,{name:`converted_at`,type:`string | null`,id:`param-converted-at`,children:_jsxs(_components.p,{children:[`ISO 8601 timestamp of when the click was converted to a lead. `,_jsx(_components.code,{children:`null`}),` for `,_jsx(_components.code,{children:`lead`}),` status (set later when status moves to `,_jsx(_components.code,{children:`customer`}),`/`,_jsx(_components.code,{children:`active`}),`).`]})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`status-codes`,children:`Status codes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`201 Created`})}),_jsx(_components.td,{children:`Click successfully converted to a lead.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`200 OK`})}),_jsx(_components.td,{children:`Idempotent re-call — the click was already converted. Returns the existing referral.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`400 Bad Request`})}),_jsxs(_components.td,{children:[`Validation error (missing `,_jsx(_components.code,{children:`click_id`}),`, neither `,_jsx(_components.code,{children:`email`}),` nor `,_jsx(_components.code,{children:`external_user_id`}),` provided, invalid email format).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`401 Unauthorized`})}),_jsx(_components.td,{children:`Missing or invalid API key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`404 Not Found`})}),_jsxs(_components.td,{children:[`The `,_jsx(_components.code,{children:`click_id`}),` does not exist or belongs to a different team.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`429 Too Many Requests`})}),_jsx(_components.td,{children:`Per-API-key rate limit exceeded.`})]})]})]}),`\n`,_jsxs(RequestExample,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.affonso.io/v1/signups\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer sk_live_your_api_key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"click_id\": \"ref_clk_xyz789\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\": \"jane@example.com\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"external_user_id\": \"user_42\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"Jane Doe\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`14`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.affonso.io/v1/signups\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` method:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"POST\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Authorization:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `Bearer \"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`process`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`AFFONSO_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` body:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` JSON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`stringify`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` click_id:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` clickId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jane@example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` external_user_id:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` user`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Lead created:\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`13`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os, requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`resp `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests.post(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.affonso.io/v1/signups\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'AFFONSO_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` json`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"click_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: click_id,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"jane@example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"external_user_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(user.id),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`resp.raise_for_status()`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Lead created:\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, resp.json()[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`][`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`]})})})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`201 Created`,numberOfLines:`15`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ref_clk_xyz789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"affiliate_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"aff_abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"jane@example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"customer_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"subscription_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"lead\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jane Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-01-25T11:55:00Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"converted_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`200 OK (idempotent re-call)`,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ref_clk_xyz789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"affiliate_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"aff_abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"jane@example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"lead\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jane Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-01-25T11:55:00Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"converted_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`400 Validation`,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"VALIDATION_ERROR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"At least one of email or external_user_id is required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"issues\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"At least one of email or external_user_id is required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`404 Click not found`,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CLICK_NOT_FOUND\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Click not found or does not belong to your team\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`fraud-checks`,children:`Fraud checks`}),`\n`,_jsx(_components.p,{children:`The same fraud checks that run for browser-side signups (self-referral, disposable email, paid traffic) also apply here. If any check is configured in BLOCK mode and rejects the signup:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The referral status is set to `,_jsx(_components.code,{children:`rejected`}),` instead of `,_jsx(_components.code,{children:`lead`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.code,{children:`referral.lead`}),` webhook is `,_jsx(_components.strong,{children:`not`}),` emitted.`]}),`\n`,_jsx(_components.li,{children:`No lead-incentive commission is created.`}),`\n`,_jsxs(_components.li,{children:[`The endpoint still returns `,_jsx(_components.code,{children:`201 Created`}),` with the rejected referral object — inspect `,_jsx(_components.code,{children:`data.status`}),` to detect blocks.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`webhooks-fired`,children:`Webhooks fired`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Event`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`referral.lead`})}),_jsx(_components.td,{children:`Conversion succeeded and was not blocked by fraud checks.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`transaction.created`})}),_jsx(_components.td,{children:`Conversion succeeded, was not blocked, and the program has a lead incentive configured for this affiliate (via group incentive or override).`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api/endpoint/clicks/create`,children:_jsx(_components.code,{children:`POST /v1/clicks`})}),` — track the click that you’ll later convert.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api/endpoint/referrals/create`,children:_jsx(_components.code,{children:`POST /v1/referrals`})}),` — alternative endpoint when you want to skip the click stage and record a referral directly.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Record Lead Signup","api":"POST /v1/signups","description":"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js `Affonso.signup()` call.","href":"/api/endpoint/signups/create"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Body Parameters","slug":"body-parameters","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[{"title":"Status codes","slug":"status-codes","depth":3,"children":[]}]},{"title":"Fraud checks","slug":"fraud-checks","depth":2,"children":[]},{"title":"Webhooks fired","slug":"webhooks-fired","depth":2,"children":[]},{"title":"Related endpoints","slug":"related-endpoints","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"9\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"https://api.affonso.io/v1/signups\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Authorization: Bearer sk_live_your_api_key\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"click_id\": \"ref_clk_xyz789\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"email\": \"jane@example.com\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"external_user_id\": \"user_42\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"name\": \"Jane Doe\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Node.js","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"typescript\">\u003ccode language=\"typescript\" numberOfLines=\"14\">\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">const\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\"> response\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\"> =\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\"> await\u003c/span>\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\"> fetch\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">(\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://api.affonso.io/v1/signups\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> method:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"POST\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> headers:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> Authorization:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> `Bearer \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#569CD6\">${\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">process\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">env\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\">AFFONSO_API_KEY\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#569CD6\">}\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">`\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"application/json\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> body:\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\"> JSON\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\">stringify\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">({\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> click_id:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> clickId\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> email:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"jane@example.com\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> external_user_id:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> user\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">id\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }),\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">});\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">const\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\">data\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> } \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\">=\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\"> await\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> response\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\">json\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">();\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">console\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\">log\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">(\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Lead created:\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">data\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">id\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">);\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Python","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"python\">\u003ccode language=\"python\" numberOfLines=\"13\">\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">import\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> os, requests\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">resp \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\">=\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> requests.post(\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"https://api.affonso.io/v1/signups\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#9CDCFE\"> headers\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\">=\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Authorization\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">f\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Bearer \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">{\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">os.environ[\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'AFFONSO_API_KEY'\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">]\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">}\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#9CDCFE\"> json\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\">=\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"click_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: click_id,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"email\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"jane@example.com\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"external_user_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4EC9B0\">str\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">(user.id),\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">)\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">resp.raise_for_status()\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#DCDCAA\">print\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">(\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Lead created:\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, resp.json()[\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">][\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">])\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"201 Created","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"15\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ref_clk_xyz789\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"affiliate_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"aff_abc123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"email\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"jane@example.com\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"customer_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"subscription_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"lead\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Jane Doe\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"metadata\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-01-25T11:55:00Z\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"converted_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"200 OK (idempotent re-call)","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"12\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ref_clk_xyz789\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"affiliate_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"aff_abc123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"email\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"jane@example.com\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"lead\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Jane Doe\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-01-25T11:55:00Z\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"converted_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"400 Validation","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"10\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"VALIDATION_ERROR\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"At least one of email or external_user_id is required\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"issues\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"email\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"At least one of email or external_user_id is required\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"404 Click not found","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"7\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"CLICK_NOT_FOUND\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Click not found or does not belong to your team\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Record Lead Signup","path":"/v1/signups","method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"click_id":[{"type":"string","description":"The click ID returned by `POST /v1/clicks` . Must belong to your team.","required":true}],"email":[{"type":"string","description":"The lead’s email address. Either `email` or `external_user_id` must be provided. Silently ignored when the program has email tracking disabled."}],"external_user_id":[{"type":"string","description":"Your internal identifier for the lead (e.g. database user ID). Either `email` or `external_user_id` must be provided."}],"name":[{"type":"string","description":"The lead’s display name. Maximum 255 characters. Silently ignored when the program has name tracking disabled."}]}}],"examples":{"example":{"value":{"click_id":"\u003cstring>","email":"\u003cstring>","external_user_id":"\u003cstring>","name":"\u003cstring>"}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"success":[{"type":"boolean","description":"`true` on success. Returns `false` only on validation, auth, or not-found errors."}],"data":[{"type":"object","properties":{"id":[{"type":"string","description":"Referral ID. Equal to the `click_id` you passed — the same row is transitioned from `click` to `lead` ."}],"affiliate_id":[{"type":"string","description":"The affiliate user who owns this lead."}],"email":[{"type":"object","properties":{},"description":"The lead’s email (omitted when the program disables email tracking)."}],"status":[{"type":"string","description":"`lead` after successful conversion. `rejected` if a fraud check (self-referral, disposable email, paid traffic) blocked the signup."}],"created_at":[{"type":"string","description":"ISO 8601 timestamp of when the click was originally recorded."}],"converted_at":[{"type":"object","properties":{},"description":"ISO 8601 timestamp of when the click was converted to a lead. `null` for `lead` status (set later when status moves to `customer` / `active` )."}]},"description":"The referral object after conversion."}]}}],"examples":{"example":{"value":{"success":true,"data":{"id":"\u003cstring>","affiliate_id":"\u003cstring>","email":{},"status":"\u003cstring>","created_at":"\u003cstring>","converted_at":{}}}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"affonso-20c7dee8","siteName":"Affonso Docs","title":"Record Lead Signup - Affonso Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-22T18:49:29.170Z","originalFileLocation":"api/endpoint/signups/create.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js Affonso.signup() call.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Affonso Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Record Lead Signup - Affonso Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js Affonso.signup() call.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Affonso Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.affonso.io/api/endpoint/signups/create\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://affonso-20c7dee8.mintlify.site/_mintlify/api/og/v2?division=Signups\u0026amp;title=Record+Lead+Signup\u0026amp;description=Convert+a+previously+tracked+click+into+a+lead.+Server-side+equivalent+of+the+pixel.js+%60Affonso.signup%28%29%60+call.\u0026amp;theme=63e88001dc37013e059e384d\u0026amp;signature=cf3610f704eb5eacaa0b5785e8f77f98e6ba0dd7282d09c0554fc1eb440799db\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Record Lead Signup - Affonso Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js Affonso.signup() call.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://affonso-20c7dee8.mintlify.site/_mintlify/api/og/v2?division=Signups\u0026amp;title=Record+Lead+Signup\u0026amp;description=Convert+a+previously+tracked+click+into+a+lead.+Server-side+equivalent+of+the+pixel.js+%60Affonso.signup%28%29%60+call.\u0026amp;theme=63e88001dc37013e059e384d\u0026amp;signature=cf3610f704eb5eacaa0b5785e8f77f98e6ba0dd7282d09c0554fc1eb440799db\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/affonso-20c7dee8/o8Zy3ftrGGF8u7vC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Affonso Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#881337\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.affonso.io/api/endpoint/signups/create\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/endpoint/signups/create.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.affonso.io/#organization\",\"name\":\"Affonso Docs\",\"url\":\"https://docs.affonso.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/affonso-20c7dee8/nWO6r2CUpJ-o-z8l/logo/affonso_logo_small.png?fit=max\u0026auto=format\u0026n=nWO6r2CUpJ-o-z8l\u0026q=85\u0026s=4b239574262c42f95697481e8b29adce\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.affonso.io#website\",\"name\":\"Affonso Docs\",\"url\":\"https://docs.affonso.io\",\"publisher\":{\"@id\":\"https://docs.affonso.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.affonso.io/api/endpoint/signups/create#webpage\",\"url\":\"https://docs.affonso.io/api/endpoint/signups/create\",\"name\":\"Record Lead Signup\",\"description\":\"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js Affonso.signup() call.\",\"dateModified\":\"2026-09-22T18:49:29.170Z\",\"isPartOf\":{\"@id\":\"https://docs.affonso.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.affonso.io/api/endpoint/signups/create#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.affonso.io/api/endpoint/signups/create#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core Resources\",\"item\":\"https://docs.affonso.io/api/endpoint/clicks/create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Record Lead Signup\",\"item\":\"https://docs.affonso.io/api/endpoint/signups/create\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.affonso.io/api/endpoint/signups/create#apireference\",\"headline\":\"Record Lead Signup\",\"name\":\"Record Lead Signup\",\"description\":\"Convert a previously tracked click into a lead. Server-side equivalent of the pixel.js Affonso.signup() call.\",\"url\":\"https://docs.affonso.io/api/endpoint/signups/create\",\"mainEntityOfPage\":{\"@id\":\"https://docs.affonso.io/api/endpoint/signups/create#webpage\"},\"dateModified\":\"2026-09-22T18:49:29.170Z\",\"publisher\":{\"@id\":\"https://docs.affonso.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.affonso.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Affonso Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Affonso Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api/endpoint/signups/create.md","siteName":"Affonso Docs","nav":{"global":{"anchors":[{"anchor":"Home","icon":"home","href":"https://affonso.io"},{"anchor":"Blog","icon":"newspaper","href":"https://affonso.io/blog"},{"anchor":"Help Center","icon":"book-open-cover","href":"https://affonso.io/help"}]},"tabs":[{"tab":"API Reference","groups":[{"group":"Getting Started","pages":[{"title":"API Introduction","href":"/api/introduction"},{"title":"Authentication","href":"/api/authentication"},{"title":"Rate Limits","href":"/api/rate-limits"},{"title":"TypeScript SDK","href":"/api/sdk/typescript"}]},{"group":"Guide","pages":[{"title":"Track With Tracking Pixel","href":"/api/with-tracking-pixel"},{"title":"Track Without Tracking Pixel","href":"/api/without-tracking-pixel"},{"title":"Proxy Setup (Optional)","href":"/api/proxy-setup"},{"title":"Server-Side Tracking","href":"/api/server-side-tracking"},{"title":"Embedded Referral Dashboard","href":"/api/embedded-dashboard"},{"title":"Segment Track Events","href":"/api/segment-track-events"}]},{"group":"Core Resources","pages":[{"group":"Clicks","pages":[{"title":"Track Click","api":"POST https://api.affonso.io/v1/clicks","description":"Record a click event for affiliate tracking. This endpoint uses burst rate limiting for high-frequency tracking.","href":"/api/endpoint/clicks/create"}]},{"group":"Signups","pages":[{"title":"Record Lead Signup","api":"POST /v1/signups","href":"/api/endpoint/signups/create"}]},{"group":"Conversions","pages":[{"title":"Create Conversion","api":"POST https://api.affonso.io/v1/conversions","description":"Create a server-side conversion and let Affonso calculate the commission automatically","href":"/api/endpoint/conversions/create"},{"title":"Refund Conversion","api":"POST https://api.affonso.io/v1/conversions/{id}/refund","href":"/api/endpoint/conversions/refund"}]},{"group":"Events","pages":[{"title":"Create Event","api":"POST https://api.affonso.io/v1/events","href":"/api/endpoint/events/create"}]},{"group":"Affiliates","pages":[{"title":"List Affiliates","api":"GET https://api.affonso.io/v1/affiliates","href":"/api/endpoint/affiliates/list"},{"title":"Get Affiliate","api":"GET https://api.affonso.io/v1/affiliates/{id}","href":"/api/endpoint/affiliates/get"},{"title":"Get Affiliate Analytics","api":"GET https://api.affonso.io/v1/affiliates/{id}/analytics","href":"/api/endpoint/affiliates/analytics"},{"title":"Create Affiliate","api":"POST https://api.affonso.io/v1/affiliates","href":"/api/endpoint/affiliates/create"},{"title":"Update Affiliate","api":"PUT https://api.affonso.io/v1/affiliates/{id}","href":"/api/endpoint/affiliates/update"},{"title":"Delete Affiliate","api":"DELETE https://api.affonso.io/v1/affiliates/{id}","href":"/api/endpoint/affiliates/delete"},{"title":"Generate Portal Login Token","api":"POST https://api.affonso.io/v1/affiliates/{id}/portal-token","href":"/api/endpoint/affiliates/portal-token"}]},{"group":"Fraud Events","pages":[{"title":"List Fraud Events","api":"GET https://api.affonso.io/v1/fraud-events","href":"/api/endpoint/fraud-events/list"},{"title":"Confirm Fraud Events","api":"POST https://api.affonso.io/v1/fraud-events/confirm","href":"/api/endpoint/fraud-events/confirm"},{"title":"Resolve Fraud Events","api":"POST https://api.affonso.io/v1/fraud-events/resolve","href":"/api/endpoint/fraud-events/resolve"}]},{"group":"Referrals","pages":[{"title":"List Referrals","api":"GET https://api.affonso.io/v1/referrals","href":"/api/endpoint/referrals/list"},{"title":"Get Referral","api":"GET https://api.affonso.io/v1/referrals/{id}","href":"/api/endpoint/referrals/get"},{"title":"Create Referral","api":"POST https://api.affonso.io/v1/referrals","href":"/api/endpoint/referrals/create"},{"title":"Update Referral","api":"PUT https://api.affonso.io/v1/referrals/{id}","href":"/api/endpoint/referrals/update"},{"title":"Delete Referral","api":"DELETE https://api.affonso.io/v1/referrals/{id}","href":"/api/endpoint/referrals/delete"}]},{"group":"Commissions","pages":[{"title":"List Commissions","api":"GET https://api.affonso.io/v1/commissions","href":"/api/endpoint/commissions/list"},{"title":"Get Commission","api":"GET https://api.affonso.io/v1/commissions/{id}","href":"/api/endpoint/commissions/get"},{"title":"Create Commission","api":"POST https://api.affonso.io/v1/commissions","href":"/api/endpoint/commissions/create"},{"title":"Create Bonus","api":"POST https://api.affonso.io/v1/commissions/bonus","href":"/api/endpoint/commissions/bonus"},{"title":"Update Commission","api":"PUT https://api.affonso.io/v1/commissions/{id}","href":"/api/endpoint/commissions/update"},{"title":"Delete Commission","api":"DELETE https://api.affonso.io/v1/commissions/{id}","href":"/api/endpoint/commissions/delete"}]},{"group":"Payouts","pages":[{"title":"List Payouts","api":"GET https://api.affonso.io/v1/payouts","href":"/api/endpoint/payouts/list"},{"title":"Get Payout","api":"GET https://api.affonso.io/v1/payouts/{id}","href":"/api/endpoint/payouts/get"},{"title":"Update Payout","api":"PUT https://api.affonso.io/v1/payouts/{id}","href":"/api/endpoint/payouts/update"}]},{"group":"Coupons","pages":[{"title":"List Coupons","api":"GET https://api.affonso.io/v1/coupons","href":"/api/endpoint/coupons/list"},{"title":"Get Coupon","api":"GET https://api.affonso.io/v1/coupons/{id}","href":"/api/endpoint/coupons/get"},{"title":"Create Coupon","api":"POST https://api.affonso.io/v1/coupons","href":"/api/endpoint/coupons/create"},{"title":"Delete Coupon","api":"DELETE https://api.affonso.io/v1/coupons/{id}","href":"/api/endpoint/coupons/delete"}]},{"group":"Embed","pages":[{"title":"Create Embed Token","api":"POST https://api.affonso.io/v1/embed/token","href":"/api/endpoint/embed/create-token"},{"title":"Get Embed Data","api":"GET https://api.affonso.io/v1/embed/data","href":"/api/endpoint/embed/get-data"},{"title":"Create Self-Service Coupon","api":"POST https://api.affonso.io/v1/embed/coupon","href":"/api/endpoint/embed/create-coupon"}]},{"group":"Affiliate Finder","pages":[{"title":"Start Finder Search","api":"POST https://api.affonso.io/v1/finder/searches","href":"/api/endpoint/finder/start-search"},{"title":"List Finder Searches","api":"GET https://api.affonso.io/v1/finder/searches","href":"/api/endpoint/finder/list-searches"},{"title":"List Finder Results","api":"GET https://api.affonso.io/v1/finder/searches/{id}/results","href":"/api/endpoint/finder/list-results"},{"title":"List Finder Shortlist","api":"GET https://api.affonso.io/v1/finder/shortlist","href":"/api/endpoint/finder/list-shortlist"},{"title":"Add Finder Result to Shortlist","api":"POST https://api.affonso.io/v1/finder/shortlist","href":"/api/endpoint/finder/add-shortlist"},{"title":"Update Finder Shortlist Item","api":"PATCH https://api.affonso.io/v1/finder/shortlist/{id}","href":"/api/endpoint/finder/update-shortlist"},{"title":"Delete Finder Shortlist Item","api":"DELETE https://api.affonso.io/v1/finder/shortlist/{id}","href":"/api/endpoint/finder/delete-shortlist"}]}]},{"group":"Program Management","pages":[{"group":"Program Settings","pages":[{"group":"Info","pages":[{"title":"Get Program Info","api":"GET https://api.affonso.io/v1/program","href":"/api/endpoint/program/get-info"},{"title":"Update Program Info","api":"PATCH https://api.affonso.io/v1/program","href":"/api/endpoint/program/update-info"}]},{"group":"Brand Profile","pages":[{"title":"Get Brand Profile","api":"GET https://api.affonso.io/v1/program/brand","href":"/api/endpoint/program/get-brand-profile"},{"title":"Update Brand Profile","api":"PATCH https://api.affonso.io/v1/program/brand","href":"/api/endpoint/program/update-brand-profile"}]},{"group":"Payment Terms","pages":[{"title":"Get Payment Terms","api":"GET https://api.affonso.io/v1/program/payment-terms","href":"/api/endpoint/program/get-payment-terms"},{"title":"Update Payment Terms","api":"PATCH https://api.affonso.io/v1/program/payment-terms","href":"/api/endpoint/program/update-payment-terms"}]},{"group":"Tracking","pages":[{"title":"Get Tracking Settings","api":"GET https://api.affonso.io/v1/program/tracking","href":"/api/endpoint/program/get-tracking"},{"title":"Update Tracking Settings","api":"PATCH https://api.affonso.io/v1/program/tracking","href":"/api/endpoint/program/update-tracking"}]},{"group":"Restrictions","pages":[{"title":"Get Restrictions","api":"GET https://api.affonso.io/v1/program/restrictions","href":"/api/endpoint/program/get-restrictions"},{"title":"Update Restrictions","api":"PATCH https://api.affonso.io/v1/program/restrictions","href":"/api/endpoint/program/update-restrictions"}]},{"group":"Portal","pages":[{"title":"Get Portal Settings","api":"GET https://api.affonso.io/v1/program/portal","href":"/api/endpoint/program/get-portal"},{"title":"Update Portal Settings","api":"PATCH https://api.affonso.io/v1/program/portal","href":"/api/endpoint/program/update-portal"}]},{"group":"Fraud Rules","pages":[{"title":"Get Fraud Rules","api":"GET https://api.affonso.io/v1/program/fraud-rules","href":"/api/endpoint/program/get-fraud-rules"},{"title":"Update Fraud Rules","api":"PATCH https://api.affonso.io/v1/program/fraud-rules","href":"/api/endpoint/program/update-fraud-rules"}]},{"group":"Notifications","pages":[{"title":"List Notification Settings","api":"GET https://api.affonso.io/v1/program/notifications","href":"/api/endpoint/program/list-notifications"},{"title":"Update Notification Setting","api":"PATCH https://api.affonso.io/v1/program/notifications/{emailTypeId}","href":"/api/endpoint/program/update-notification"}]},{"group":"Affiliate Groups","pages":[{"title":"List Groups","api":"GET https://api.affonso.io/v1/program/groups","href":"/api/endpoint/program/list-groups"},{"title":"Get Group","api":"GET https://api.affonso.io/v1/program/groups/{id}","href":"/api/endpoint/program/get-group"},{"title":"Create Group","api":"POST https://api.affonso.io/v1/program/groups","href":"/api/endpoint/program/create-group"},{"title":"Update Group","api":"PATCH https://api.affonso.io/v1/program/groups/{id}","href":"/api/endpoint/program/update-group"},{"title":"Delete Group","api":"DELETE https://api.affonso.io/v1/program/groups/{id}","href":"/api/endpoint/program/delete-group"}]},{"group":"Promotion URLs","pages":[{"title":"List Promotion URLs","api":"GET https://api.affonso.io/v1/program/promotion-urls","href":"/api/endpoint/program/list-promotion-urls"},{"title":"Create Promotion URL","api":"POST https://api.affonso.io/v1/program/promotion-urls","href":"/api/endpoint/program/create-promotion-url"},{"title":"Get Promotion URL","api":"GET https://api.affonso.io/v1/program/promotion-urls/{id}","href":"/api/endpoint/program/get-promotion-url"},{"title":"Update Promotion URL","api":"PATCH https://api.affonso.io/v1/program/promotion-urls/{id}","href":"/api/endpoint/program/update-promotion-url"},{"title":"Delete Promotion URL","api":"DELETE https://api.affonso.io/v1/program/promotion-urls/{id}","href":"/api/endpoint/program/delete-promotion-url"},{"title":"Set Program Default Promotion URL","api":"PUT https://api.affonso.io/v1/program/promotion-urls/default","href":"/api/endpoint/program/set-promotion-url-default"},{"title":"Set Group Default Promotion URL","api":"PUT https://api.affonso.io/v1/program/groups/{groupId}/promotion-url-default","href":"/api/endpoint/program/set-group-promotion-url-default"}]},{"group":"Creatives","pages":[{"title":"List Creatives","api":"GET https://api.affonso.io/v1/program/creatives","href":"/api/endpoint/program/list-creatives"},{"title":"Get Creative","api":"GET https://api.affonso.io/v1/program/creatives/{id}","href":"/api/endpoint/program/get-creative"},{"title":"Create Creative","api":"POST https://api.affonso.io/v1/program/creatives","href":"/api/endpoint/program/create-creative"},{"title":"Update Creative","api":"PATCH https://api.affonso.io/v1/program/creatives/{id}","href":"/api/endpoint/program/update-creative"},{"title":"Delete Creative","api":"DELETE https://api.affonso.io/v1/program/creatives/{id}","href":"/api/endpoint/program/delete-creative"}]}]},{"group":"Campaigns","pages":[{"title":"List Campaigns","api":"GET https://api.affonso.io/v1/program/campaigns","href":"/api/endpoint/campaigns/list"},{"title":"Get Campaign","api":"GET https://api.affonso.io/v1/program/campaigns/{id}","href":"/api/endpoint/campaigns/get"},{"title":"Create Campaign","api":"POST https://api.affonso.io/v1/program/campaigns","href":"/api/endpoint/campaigns/create"},{"title":"Update Campaign","api":"PATCH https://api.affonso.io/v1/program/campaigns/{id}","href":"/api/endpoint/campaigns/update"},{"title":"List Campaign Applications","api":"GET https://api.affonso.io/v1/program/campaigns/{id}/applications","href":"/api/endpoint/campaigns/list-applications"},{"title":"Apply to Campaign","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/applications","href":"/api/endpoint/campaigns/apply"},{"title":"Accept Campaign Application","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/applications/{applicationId}/accept","href":"/api/endpoint/campaigns/accept-application"},{"title":"Reject Campaign Application","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/applications/{applicationId}/reject","href":"/api/endpoint/campaigns/reject-application"},{"title":"Approve Campaign Submission","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/submissions/{submissionId}/approve","href":"/api/endpoint/campaigns/approve-submission"},{"title":"Update Retainer Condition","api":"PATCH https://api.affonso.io/v1/program/campaigns/{id}/applications/{applicationId}/condition","href":"/api/endpoint/campaigns/update-retainer-condition"},{"title":"End Partner Retainer","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/applications/{applicationId}/end-retainer","href":"/api/endpoint/campaigns/end-retainer"},{"title":"Resume Partner Retainer","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/applications/{applicationId}/resume-retainer","href":"/api/endpoint/campaigns/resume-retainer"},{"title":"List Retainer Periods","api":"GET https://api.affonso.io/v1/program/campaigns/{id}/retainer-periods","href":"/api/endpoint/campaigns/list-retainer-periods"},{"title":"Approve Retainer Period","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/retainer-periods/{periodId}/approve","href":"/api/endpoint/campaigns/approve-retainer-period"},{"title":"Reject Retainer Period","api":"POST https://api.affonso.io/v1/program/campaigns/{id}/retainer-periods/{periodId}/reject","href":"/api/endpoint/campaigns/reject-retainer-period"}]},{"group":"Affiliate Onboarding","pages":[{"title":"Get Onboarding Form","api":"GET https://api.affonso.io/v1/onboarding-form","href":"/api/endpoint/onboarding/get-form"},{"title":"Create Onboarding Form","api":"POST https://api.affonso.io/v1/onboarding-form","href":"/api/endpoint/onboarding/create-form"},{"title":"Update Onboarding Form","api":"PATCH https://api.affonso.io/v1/onboarding-form","href":"/api/endpoint/onboarding/update-form"},{"title":"Delete Onboarding Form","api":"DELETE https://api.affonso.io/v1/onboarding-form","href":"/api/endpoint/onboarding/delete-form"},{"title":"Get Affiliate Onboarding Responses","api":"GET https://api.affonso.io/v1/affiliates/{id}/onboarding-responses","href":"/api/endpoint/onboarding/get-responses"},{"title":"Submit Onboarding Responses","api":"POST https://api.affonso.io/v1/affiliates/{id}/onboarding-responses","href":"/api/endpoint/onboarding/submit-responses"}]}]},{"group":"Marketplace","pages":[{"title":"List Marketplace Programs","api":"GET https://api.affonso.io/v1/marketplace","href":"/api/endpoint/marketplace/list"},{"title":"Get Marketplace Program","api":"GET https://api.affonso.io/v1/marketplace/{id}","href":"/api/endpoint/marketplace/get"},{"title":"List Marketplace Campaigns","api":"GET https://api.affonso.io/v1/marketplace/campaigns","href":"/api/endpoint/marketplace/list-campaigns"},{"title":"Get Marketplace Campaign","api":"GET https://api.affonso.io/v1/marketplace/campaigns/{id}","href":"/api/endpoint/marketplace/get-campaign"}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/introduction"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/introduction"}]},{"tab":"Webhooks","pages":[{"title":"Webhooks","href":"/webhooks/introduction"}]}]},"basePath":"","title":"Record Lead Signup - Affonso Docs","buildId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","deploymentId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-BvKnMd7F.js","utils-BMt52org.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CGXZuDGO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dl57XWH2.js","snippetPresets-CWd8CxSk.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BR-Wkc_D.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-YMmi08aZ.js","shallow-DBC1OB78.js","getApiPlaygroundDisplay-Be7mmEzP.js","CodeSnippet-B14o1TgQ.js","CodeSnippets-CJ2q3fTq.js","Page-Chgj7sZe.js","getPastedJson-DnpLXm8x.js","icon-BpkSFtdK.js","MethodPill-BO3zPf-g.js","DuplicateIcon-Bib3qwfw.js","createIcon-CY2noFo3.js","DynamicMarkdown-TAXIW2vN.js","SectionHeading-Dfs3Fmfw.js","axios-vUo_bRtp.js"]}