Get a campaign's contract
Gets a link to the contract creators sign for one campaign, as the download in the dashboard does, live campaigns included. The link works for an hour; ask again for a fresh one. contract is null when the campaign has no contract uploaded yet.
GET
https://api.tryscouty.com/v1/campaigns/{campaignId}/contract - Scope
campaigns:read - Read
- MCP tool
scouty_get_contract
Authorization
Send a Scouty token as a bearer token in the Authorization header. The token needs the campaigns:read scope, or the call answers 403 insufficient_scope. Tokens and scopes
Authorization: Bearer $SCOUTY_TOKENPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
campaignId | integer | Required | The campaign whose contract to fetch. |
Errors
A refusal answers { "error": { "code", "message" } }. Branch on code; the message is for a person. Every error and its fix
| Status | error.code | Meaning |
|---|---|---|
| 401 Unauthorized | missing_token invalid_token token_revoked token_expired token_orphaned | No token, or one that is not recognized, revoked or expired. |
| 403 Forbidden | insufficient_scope wrong_principal | The token does not carry the scope this capability needs. |
| 404 Not Found | not_found | No such route, or no such campaign for this client. |
| 429 Too Many Requests | rate_limited | Too many requests this minute. Retry-After says how long is left. |