Stop selling a product; its buyers keep their downloads
package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/archive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/archive';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/archive \ --header 'Authorization: Bearer <token>'Permission: products:publish (sensitive)
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Workspace slug
Workspace slug
Responses
Section titled “Responses”OK
object
The draft’s fields that differ from what’s live
object
No sales page chosen: the default product page
The template has a draft but no published version
object
object
Revoke access when a payment is refunded or disputed
The transactional template of the delivery email
object
The list a buyer who ticks it joins, with its double opt-in
The exact text, kept as consent
object
Empty for the default product page
object
What the content is: pdf, zip, xlsx…, empty when it couldn’t be told
PDF, ZIP, XLSX
object
object
object
object
Revoke access when a payment is refunded or disputed
The transactional template of the delivery email
object
The list a buyer who ticks it joins, with its double opt-in
The exact text, kept as consent
object
Empty for the default product page
object
object
Contacts still in the flow or through it
Contacts who left because their payment was refunded
object
object
object
Empty for the default product page
object
Essential or optional
The live version; 0 when none is published
Example
{ "checks": [ { "key": "stripe", "route": "Postmark, then Amazon SES" } ], "draft": { "price": { "kind": "one_time" } }, "live": { "price": { "kind": "one_time" } }, "pages": [ { "status": "draft" } ], "payments": { "mode": "live" }, "salesPage": { "path": "/field-guide", "status": "draft" }, "status": "draft"}default
Section titled “default”Error
object
Stable error code, e.g. permission_denied
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
Members who hold the missing permission
A URI reference that identifies the specific occurrence of the problem.
object
The missing permission key
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}