# Create a customer's lead source Creates a lead source for a customer with a specified ID. A lead source is the marketing campaign that generates customer interaction, a sale, or a trial. For more information, see Lead source attribution. Endpoint: PUT /customers/{id}/lead-source Version: latest Security: SecretApiKey, JWT ## Path parameters: - `id` (string, required) ID of the resource. ## Request fields (application/json): - `medium` (string,null) Category of the lead source traffic. For example, the medium could be organic search, Google ads, Display ads, and so on. - `source` (string,null) Domain, platform, or channel from which the lead source originates. - `campaign` (string,null) Campaign name of the lead source. - `term` (string,null) Term associated with a lead source. - `content` (string,null) Content contained in the lead source content. For example, content could be graphics, video, and so on. - `affiliate` (string,null) Individual or entity that is affiliated with the lead source. - `subAffiliate` (string,null) Individual or entity that is associated with a lead source affiliate. In other products, this field may also be referred to as sub ID or click ID in some. - `salesAgent` (string,null) Name of the sales agent associated with the lead source. - `clickId` (string,null) ID of the lead source click. This value is passed in the ad click URL for tracking and campaign attribution. - `path` (string,null) URL from which the lead source originates. - `referrer` (string,null) Lead source [ URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer). ## Response 201 fields (application/json): - `medium` (string,null) Category of the lead source traffic. For example, the medium could be organic search, Google ads, Display ads, and so on. - `source` (string,null) Domain, platform, or channel from which the lead source originates. - `campaign` (string,null) Campaign name of the lead source. - `term` (string,null) Term associated with a lead source. - `content` (string,null) Content contained in the lead source content. For example, content could be graphics, video, and so on. - `affiliate` (string,null) Individual or entity that is affiliated with the lead source. - `subAffiliate` (string,null) Individual or entity that is associated with a lead source affiliate. In other products, this field may also be referred to as sub ID or click ID in some. - `salesAgent` (string,null) Name of the sales agent associated with the lead source. - `clickId` (string,null) ID of the lead source click. This value is passed in the ad click URL for tracking and campaign attribution. - `path` (string,null) URL from which the lead source originates. - `referrer` (string,null) Lead source [ URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer). - `createdTime` (string) Date and time which is set automatically when the resource is created. - `updatedTime` (string) Date and time which updates automatically when the resource is updated. - `_links` (array) Related links. - `_links.href` (string) Link URL. - `_links.rel` (string) Type of link. Enum: "self", "customer" - `original` (object) Lead source information. ## Response 401 fields (application/json): - `status` (integer) HTTP status code. - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ## Response 403 fields (application/json): - `status` (integer) HTTP status code. - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ## Response 422 fields (application/json): - `status` (integer) HTTP status code. - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. - `invalidFields` (array) Invalid field details. Example: [{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}] - `invalidFields.field` (string) Name of the field. Dot notation is used for nested object field names. - `invalidFields.message` (string) Message field. ## Response 429 fields (application/json): - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". Example: "about:blank" - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. Example: "Rate Limit Exceeded" - `status` (integer) HTTP status code. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. Example: "A request cannot be executed because the user has sent too many requests within a certain period of time" - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.