curl --request GET \
--url https://api.interchange.io/api/v2/storefront/proposals \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/storefront/proposals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/storefront/proposals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"id": 4503599627370495,
"proposalCode": "PRP-XK4A29",
"operatorId": "<string>",
"operatorRef": {
"domain": "acme.com"
},
"label": "<string>",
"notes": "<string>",
"status": "active",
"expiresAt": "2023-11-07T05:31:56Z",
"proposalId": "<string>",
"discoverySessionId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"firstViewedAt": "2023-11-07T05:31:56Z",
"lastViewedAt": "2023-11-07T05:31:56Z",
"redeemedAt": "2023-11-07T05:31:56Z",
"redeemedInMediaBuyId": "<string>"
}
]{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}List storefront proposals
List storefront proposals for the seller, filterable by status and operator.
curl --request GET \
--url https://api.interchange.io/api/v2/storefront/proposals \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/storefront/proposals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/storefront/proposals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"id": 4503599627370495,
"proposalCode": "PRP-XK4A29",
"operatorId": "<string>",
"operatorRef": {
"domain": "acme.com"
},
"label": "<string>",
"notes": "<string>",
"status": "active",
"expiresAt": "2023-11-07T05:31:56Z",
"proposalId": "<string>",
"discoverySessionId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"firstViewedAt": "2023-11-07T05:31:56Z",
"lastViewedAt": "2023-11-07T05:31:56Z",
"redeemedAt": "2023-11-07T05:31:56Z",
"redeemedInMediaBuyId": "<string>"
}
]{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Query Parameters
Filter by status
active, redeemed, expired, revoked Filter by buyer operator
1 - 255Page size (default 20, max 100)
0 < x <= 100Number of rows to skip
0 <= x <= 9007199254740991Response
List storefront proposals
Proposal row id
0 < x <= 9007199254740991Short shareable handle. Sellers give this to buyers; buyers pass it to discover_products.
"PRP-XK4A29"
Encoded buyer identity retained for backwards compatibility. Use operatorRef for the structured form.
Structured buyer identity for redemption auth.
- Option 1
- Option 2
Show child attributes
Show child attributes
Proposal lifecycle status. 'active': available to redeem. 'redeemed': buyer has applied it to a media buy. 'expired': past TTL. 'revoked': seller withdrew.
active, redeemed, expired, revoked ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$The protocol-level proposalId from the saved discovery snapshot
Discovery session id this proposal was captured from (for traceability)
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$