Link the issue to its campaign by hand, or by list and date again
PUT
/api/v1/workspaces/{workspace}/sponsor-bookings/{id}/campaign
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/sponsor-bookings/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/campaign"
payload := strings.NewReader("{ \"campaignId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\" }")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://reputecast.example.com/api/v1/workspaces/acme-newsletter/sponsor-bookings/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/campaign';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"campaignId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/sponsor-bookings/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/campaign \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "campaignId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Permission: sponsors:manage
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”workspace
required
Workspace slug
string
Workspace slug
id
required
Id
string format: uuid
Id
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
campaignId
string format: uuid
Example generated
{ "campaignId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}Responses
Section titled “Responses”OK
Media typeapplication/json
object
activity
required
Array<object>
object
actor
string
at
required
string format: date-time
data
required
object
key
additional properties
kind
required
string
campaign
object
at
string format: date-time
author
string
byHand
required
boolean
id
required
string
name
required
string
status
required
string
canManage
required
boolean
canShare
required
boolean
canceledAt
string format: date-time
creative
required
object
button
string
headline
string
image
string
link
string
logo
string
text
Up to 280 characters.
string
utm
required
object
campaign
string
medium
string
source
string
creativeDue
string format: date-time
creativeStatus
required
string
currency
required
string
helpers
required
Array<string>
holdUntil
string format: date-time
id
required
string
issue
required
integer format: int64
issueOn
required
string format: date-time
label
required
string
library
required
Array<object>
object
id
required
string
initials
required
string
logoUrl
string
name
required
string
listName
required
string
notes
required
string
payment
required
object
due
string format: date-time
note
required
string
paidCents
integer format: int64
paidOn
string format: date-time
recordedAt
string format: date-time
recordedBy
string
status
required
string
placement
required
string
priceCents
required
integer format: int64
proposal
object
agent
required
string
at
required
string format: date-time
id
required
string
note
required
string
priceCents
required
integer format: int64
sponsor
object
id
required
string
initials
required
string
logoUrl
string
name
required
string
readyAt
string format: date-time
report
object
bookingId
required
string
clickRate
required
number format: double
clickToOpen
required
number format: double
clicks
required
integer format: int64
creative
required
object
button
string
headline
string
image
string
link
string
logo
string
text
Up to 280 characters.
string
utm
required
object
campaign
string
medium
string
source
string
delivered
required
integer format: int64
final
required
boolean
finalAt
string format: date-time
humanOpenRate
required
number format: double
humanOpens
required
integer format: int64
initials
required
string
issue
required
integer format: int64
issueOn
required
string format: date-time
label
required
string
linkCampaign
required
string
linkHost
required
string
links
required
Array<object>
object
clicks
required
integer format: int64
kind
required
string
label
required
string
share
required
number format: double
listName
required
string
placement
required
string
sentAt
string format: date-time
slotName
required
string
sponsor
required
string
sponsorName
required
string
uniqueClickers
required
integer format: int64
visibility
string
shares
required
Array<object>
object
createdAt
required
string format: date-time
createdBy
required
string
every
required
boolean
expiresAt
string format: date-time
id
required
string
lastViewedAt
string format: date-time
url
string
views
required
integer format: int64
slotId
required
string
slotName
required
string
slotPriceCents
required
integer format: int64
sponsor
object
bookedCents
required
integer format: int64
clickRate
number format: double
clickRateIssue
integer format: int64
contactEmail
required
string
contactName
required
string
currency
required
string
hold
required
Array<integer>
holdCents
required
integer format: int64
id
required
string
initials
required
string
issues
required
Array<integer>
logoUrl
required
string
name
required
string
notes
required
string
paidCents
required
integer format: int64
termsDays
required
integer format: int64
website
required
string
status
required
string
Example
{ "creativeStatus": "waiting", "payment": { "status": "unpaid" }, "report": { "links": [ { "kind": "button" } ] }, "status": "proposed"}default
Section titled “default”Error
Media typeapplication/problem+json
object
code
Stable error code, e.g. permission_denied
string
detail
A human-readable explanation specific to this occurrence of the problem.
string
errors
Optional list of individual error details
Array<object>
object
location
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
string
message
Error message text
string
value
The value at the given location
helpers
Members who hold the missing permission
Array<string>
instance
A URI reference that identifies the specific occurrence of the problem.
string format: uri
meta
object
key
additional properties
permission
The missing permission key
string
status
HTTP status code
integer format: int64
title
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
string
type
A URI reference to human-readable documentation for the error.
string format: uri
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}