LiveRamp refresh needs a Placement ID, envelope type, and envelope value
Refresh is not retrieve. it is 19 for an ATS envelope or 24 for Meta-scoped. iv is the envelope string from the retrieve call, not the original hash. Cookie sync stays attributed.
it=4 is an identifier type, not an envelope type
Retrieve uses it=4 hashed email. Refresh documents it=19 ATS and it=24 Meta-scoped.
What this pack matches
Rules
Codes are stable. A finding in CI, MCP, or the playground lands on the same id.
| Field | Required | What it checks | Rule ids | Source |
|---|---|---|---|---|
pid |
required | It is the LiveRamp Placement ID. Minimum numeric value: -2147483648. Maximum numeric value: 2147483647. Fix: Send `pid` with the Placement ID LiveRamp issued for this property. | vendor.liveramp-envelope-refresh.param.pid.missingvendor.liveramp-envelope-refresh.param.pid.emptyvendor.liveramp-envelope-refresh.param.pid.invalid |
docs |
it |
required | It is the envelope type. LiveRamp documents `19` ATS envelopes and `24` Meta-scoped envelopes. Retrieve uses identifier types 4, 11, and 15 instead. Fix: Send `it=19` for an ATS envelope, or `it=24` for a Meta-scoped envelope. | vendor.liveramp-envelope-refresh.param.it.missingvendor.liveramp-envelope-refresh.param.it.emptyvendor.liveramp-envelope-refresh.param.it.invalid |
docs |
iv |
required | It is the stored envelope value, not the original hashed identifier. Fix: Send `iv` with the envelope string returned by the retrieve call. | vendor.liveramp-envelope-refresh.param.iv.missingvendor.liveramp-envelope-refresh.param.iv.empty |
docs |
ct |
optional | It is the consent type. LiveRamp documents `4` TCF v2 and `3` CCPA. Fix: Send `ct=4` with a TCF string in `cv`, or `ct=3` for CCPA. | vendor.liveramp-envelope-refresh.param.ct.emptyvendor.liveramp-envelope-refresh.param.ct.invalid |
docs |
atype |
optional | It is the implementation source. LiveRamp documents `1` ATS.js, `2` ATS API, `3` server-to-server, and `4` the mobile SDK. Fix: Send `atype=2` from an API call, or `atype=3` from a server. | vendor.liveramp-envelope-refresh.param.atype.emptyvendor.liveramp-envelope-refresh.param.atype.invalid |
docs |
cv |
optional | LiveRamp accepts cv as the consent string associated with ct. | vendor.liveramp-envelope-refresh.param.cv.empty |
docs |
gpp |
optional | LiveRamp accepts gpp as the GPP consent string. | vendor.liveramp-envelope-refresh.param.gpp.empty |
docs |
gpp_sid |
optional | LiveRamp documents the supported US GPP section identifiers. | vendor.liveramp-envelope-refresh.param.gpp_sid.emptyvendor.liveramp-envelope-refresh.param.gpp_sid.invalid |
docs |
consent_value_required |
required | A selected TCF or CCPA consent type needs its consent string. | vendor.liveramp-envelope-refresh.consent_value_required |
docs |
gpp_section_required |
required | A GPP consent string needs the matching GPP section ID. | vendor.liveramp-envelope-refresh.gpp_section_required |
docs |
gpp_string_required |
required | A GPP section ID needs the matching GPP consent string. | vendor.liveramp-envelope-refresh.gpp_string_required |
docs |
mobile_sdk_deprecated |
recommended | LiveRamp sunset the ATS Mobile SDK on September 30, 2026. Migrate this implementation source to the ATS API. | vendor.liveramp-envelope-refresh.mobile_sdk_deprecated |
docs |
consent_tcf_structure |
required | The cv consent value must use the structure of its declared consent type. | vendor.liveramp-envelope-refresh.consent_tcf_structure |
docs |
consent_us_privacy_structure |
required | The cv consent value must use the structure of its declared consent type. | vendor.liveramp-envelope-refresh.consent_us_privacy_structure |
docs |
consent_positive |
required | For TCF consent, LiveRamp requires a positive consent signal for vendor 97 and purpose 1. | vendor.liveramp-envelope-refresh.consent_positive |
docs |
gpp_SharingNotice |
required | LiveRamp requires SharingNotice values 1 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SharingNotice |
docs |
gpp_SaleOptOutNotice |
required | LiveRamp requires SaleOptOutNotice values 1 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SaleOptOutNotice |
docs |
gpp_SharingOptOutNotice |
required | LiveRamp requires SharingOptOutNotice values 1 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SharingOptOutNotice |
docs |
gpp_TargetedAdvertisingOptOutNotice |
required | LiveRamp requires TargetedAdvertisingOptOutNotice values 1 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_TargetedAdvertisingOptOutNotice |
docs |
gpp_SensitiveDataProcessingOptOutNotice |
required | LiveRamp requires SensitiveDataProcessingOptOutNotice values 0, 1 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SensitiveDataProcessingOptOutNotice |
docs |
gpp_SensitiveDataLimitUseNotice |
required | LiveRamp requires SensitiveDataLimitUseNotice values 0, 1 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SensitiveDataLimitUseNotice |
docs |
gpp_SensitiveDataProcessing |
required | LiveRamp requires SensitiveDataProcessing values 0 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SensitiveDataProcessing |
docs |
gpp_KnownChildSensitiveDataConsents |
required | LiveRamp requires KnownChildSensitiveDataConsents values 0 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_KnownChildSensitiveDataConsents |
docs |
gpp_SaleOptOut |
required | LiveRamp requires SaleOptOut values 2 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SaleOptOut |
docs |
gpp_SharingOptOut |
required | LiveRamp requires SharingOptOut values 2 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_SharingOptOut |
docs |
gpp_TargetedAdvertisingOptOut |
required | LiveRamp requires TargetedAdvertisingOptOut values 2 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_TargetedAdvertisingOptOut |
docs |
gpp_PersonalDataConsents |
required | LiveRamp requires PersonalDataConsents values 0, 2 in the active GPP section. | vendor.liveramp-envelope-refresh.gpp_PersonalDataConsents |
docs |
method |
required | The ATS envelope endpoint is published as GET. Complete HTTP capture contract. | vendor.liveramp-envelope-refresh.http.method.missingvendor.liveramp-envelope-refresh.http.method.emptyvendor.liveramp-envelope-refresh.http.method.invalid |
docs |
headers.origin |
required | LiveRamp requires the origin domain submitted for the Placement privacy review. Presence and serialized-origin syntax are local; placement approval requires account state. Complete HTTP capture contract. Value diagnostic severity: warning. | vendor.liveramp-envelope-refresh.http.headers.origin.missingvendor.liveramp-envelope-refresh.http.headers.origin.emptyvendor.liveramp-envelope-refresh.http.headers.origin.invalid |
docs |
query.atype |
optional | The API query atype identifies the integration method; value 3 means server-to-server. Complete HTTP capture contract. | docs | |
query.atype[] |
optional | Repeated atype values remain observable for the server-to-server header dependency. Complete HTTP capture contract. | docs | |
headers.x-forwarded-for |
required | LiveRamp requires X-Forwarded-For for server-to-server calls. Require it only when every observed atype occurrence is literal 3. Conflicting modes or unresolved macros do not establish the integration mode. Client identity, trusted proxy selection and Placement-country approval require external context. Complete HTTP capture contract. Applies when {"kind":"all_values_in","params":["query.atype","query.atype[]"],"values":["3"]}. Value diagnostic severity: warning. Native JSON type: string or array. | vendor.liveramp-envelope-refresh.http.headers.x-forwarded-for.missingvendor.liveramp-envelope-refresh.http.headers.x-forwarded-for.invalid |
docs |
headers.x-forwarded-for[] |
optional | Repeated X-Forwarded-For lines are retained as normalized array members. Validate the literal chain in each line independently; full macro entries remain unresolved without hiding invalid literal neighbors. Complete HTTP capture contract. Applies when {"kind":"any","conditions":[{"kind":"value_in","param":"query.atype","values":["3"]},{"kind":"value_in","param":"query.atype[]","values":["3"]}]}. Value diagnostic severity: warning. Native JSON type: string. | vendor.liveramp-envelope-refresh.http.headers.x-forwarded-for[].emptyvendor.liveramp-envelope-refresh.http.headers.x-forwarded-for[].invalid |
docs |
http.headers.x-forwarded-for.invalid |
recommended | Supplied X-Forwarded-For client/proxy entries should be IPv4 or IPv6 addresses. Complete macro entries remain unresolved without hiding invalid literal neighbors. Complete HTTP capture contract. | vendor.liveramp-envelope-refresh.http.headers.x-forwarded-for.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/liveramp-envelope-refresh
Try this failing payload in the playground. LiveRamp envelope refresh with identifier type 4.
https://api.rlcdn.com/api/identity/v2/envelope/refresh?pid=14&it=4&iv=Alkc6LgKZzbqHvexyq4hyzxp0zQZnIztut2rFKjmcDtSBbM0rttk5pH2qb8iNkyxCO9kYAKg6oM2rt28dbWV6-lt9BxwoPCabDaOUXN3fr2C1qsCeV9H0qcW3wBPbbnTpxFWI0Wnh7WVPFYrCM8FgziDEBwSoYnUMO9wheayikvFSGX3Qsz1lr0QWnj2dHEMhx5V2QEbhkJ2iwH2zLEaKAt5oVa8EwAf59mOQepN3S_CwQk4C5OkgfZYiUXTYwxpDA
cargo install pixellint
·
npm install pixellint