Counter a proposal
curl --request POST \
--url https://workspace.passionfroot.me/api/creators/v1/proposals/{proposalId}/counter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"placements": [
{
"productId": "<string>",
"date": "<string>"
}
],
"basePriceCents": 1073741824
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
placements: [{productId: '<string>', date: '<string>'}],
basePriceCents: 1073741824
})
};
fetch('https://workspace.passionfroot.me/api/creators/v1/proposals/{proposalId}/counter', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://workspace.passionfroot.me/api/creators/v1/proposals/{proposalId}/counter"
payload = {
"placements": [
{
"productId": "<string>",
"date": "<string>"
}
],
"basePriceCents": 1073741824
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"proposalId": "<string>",
"collaborationId": "<string>",
"requestId": "<string>",
"status": "offer_pending",
"createdBy": "creator",
"priceCents": 123,
"budgetCents": 123,
"currency": "<string>",
"packageName": "<string>",
"placements": [
{
"date": "<string>",
"postType": "<string>",
"platform": "<string>"
}
],
"comment": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "Too many requests, please try again later."
}{
"error": "<string>"
}Proposals
Counter a proposal
Cancels the pending proposal and replaces it with a new proposal on the same collaboration.
POST
/
proposals
/
{proposalId}
/
counter
Counter a proposal
curl --request POST \
--url https://workspace.passionfroot.me/api/creators/v1/proposals/{proposalId}/counter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"placements": [
{
"productId": "<string>",
"date": "<string>"
}
],
"basePriceCents": 1073741824
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
placements: [{productId: '<string>', date: '<string>'}],
basePriceCents: 1073741824
})
};
fetch('https://workspace.passionfroot.me/api/creators/v1/proposals/{proposalId}/counter', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://workspace.passionfroot.me/api/creators/v1/proposals/{proposalId}/counter"
payload = {
"placements": [
{
"productId": "<string>",
"date": "<string>"
}
],
"basePriceCents": 1073741824
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"proposalId": "<string>",
"collaborationId": "<string>",
"requestId": "<string>",
"status": "offer_pending",
"createdBy": "creator",
"priceCents": 123,
"budgetCents": 123,
"currency": "<string>",
"packageName": "<string>",
"placements": [
{
"date": "<string>",
"postType": "<string>",
"platform": "<string>"
}
],
"comment": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "Too many requests, please try again later."
}{
"error": "<string>"
}Authorizations
Create an API key from Settings → API in an approved Creator workspace.
Headers
Unique key for one logical write. Reuse the key and identical body for retries.
Required string length:
1 - 255Path Parameters
Body
application/json
Required array length:
1 - 100 elementsShow child attributes
Show child attributes
Creator list price for the entire proposal in the collaboration currency.
Required range:
1 <= x <= 2147483647Required range:
1 <= x <= 365Response
The proposal's current state.
Show child attributes
Show child attributes