One placement test: its copies, the matrix and the guidance
package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/placement/tests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
req, _ := http.NewRequest("GET", 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/placement/tests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'GET', 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 GET \ --url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/placement/tests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'Permission: deliverability:view
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Workspace slug
Workspace slug
Responses
Section titled “Responses”OK
object
When the campaign is scheduled or was sent
Draft, scheduled, sent, template or the transactional template’s key
object
Why the provider refused the copy
The mailbox’s own name: Junk Email, Bulk, Spamverdacht
object
Delivered, deferred, soft_bounce, hard_bounce, complaint, rejected…
Primary, Promotions, Focused, Other
object
object
The seed’s mailbox provider (iCloud)
object
object
object
object
object
object
object
object
The blocking checks, in the reader’s language
One sentence per blocking check
Late copies found until then update the result
object
object
object
object
object
object
object
The seed’s mailbox provider (iCloud)
object
object
object
The seed’s status now (removed when it’s gone)
Copies missing then are Not arrived
Example
{ "contentKind": "campaign", "copies": [ { "folder": "inbox", "reason": "signin_failed", "status": "queued" } ], "counts": { "notCheckedSeeds": [ { "reason": "signin_failed" } ] }, "deleteAfter": "24h", "finishReason": "all_found", "guidance": [ { "cause": "readiness" } ], "origin": "placement", "providers": [ { "counts": { "notCheckedSeeds": [ { "reason": "signin_failed" } ] }, "fastest": { "folder": "inbox" }, "slowest": { "folder": "inbox" } } ], "status": "sending", "through": "route"}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"}