Pitch requests
Ask Nuvelics for a pitch from material you choose, and follow the request until the pitch is ready.
x-api-key<token>A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.
The caller's own requests still building or failed, made in the last 7 days, newest first, at most 20
application/json- response
items*array<>included?Sideloads: the file names and article titles of the seeds, which name them only by id
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/pitch-requests'{ "items": [ { "id": "string", "newsdeskId": "string", "status": "pending", "eventDate": "2019-08-24", "angle": "string", "replacesPitchId": "string", "xCredentialId": "string", "seeds": [ { "kind": "text", "text": "string" } ], "pitchId": "string", "warnings": [ { "code": "string", "index": 0, "detail": "string" } ], "failure": { "reason": "string", "seeds": [ { "index": 0, "reason": "string", "detail": "string" } ] }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "included": { "seedNames": { "assets": { "property1": "string", "property2": "string" }, "articles": { "property1": "string", "property2": "string" } } } } ], "included": { "seedNames": { "assets": { "property1": "string", "property2": "string" }, "articles": { "property1": "string", "property2": "string" } } }}x-api-key<token>A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.
application/json- body
newsdeskId*stringThe desk the pitch is for, of the caller's org
^[0-7][0-9A-HJKMNP-TV-Z]{25}$eventDate?stringISO 8601 date (YYYY-MM-DD) of the event, overriding the one the brief would carry
dateangle?stringThe framing the brief should take, 1 to 1000 characters. It steers the title, summary and why it matters; every claim still comes from the seeds. Omit it rather than send it blank
1 <= length <= 1000replacesPitchId?stringA draft the caller created this preview replaces once it lands
^[0-7][0-9A-HJKMNP-TV-Z]{25}$xCredentialId?stringAn org credential tagged with the X preset; required when any URL is an X post
^[0-7][0-9A-HJKMNP-TV-Z]{25}$seeds*array<||||>The pitch's evidence, in order: 1 to 10 seeds, at most 5 URLs and at most 5 files
1 <= items <= 10Accepted: the request is queued, pending; poll it until it is done (with its draft's pitchId) or failed
application/json- response
id*stringManual pitch request identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$newsdeskId*stringNewsdesk identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$status*stringpending until the worker claims it, claimed while the brief is written, then done or failed; dismissed once its creator drops a failed one
"pending""claimed""done""failed""dismissed"eventDate*stringThe request's own event date (YYYY-MM-DD), if it set one
dateangle*stringThe pitch angle the request was made with, if it set one
replacesPitchId*stringPitch identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$xCredentialId*stringCredential identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$seeds*array<||||>The seeds as stored, normalized: duplicates collapsed, library URLs as articles
pitchId*stringThe draft pitch, once the request is done
^[0-7][0-9A-HJKMNP-TV-Z]{25}$warnings*array<>failure*createdAt*stringdate-timeupdatedAt*stringdate-timeincluded?Sideloads: the file names and article titles of the seeds, which name them only by id
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/pitch-requests' \ -H 'Content-Type: application/json' \ -d '{ "newsdeskId": "string", "seeds": [ { "kind": "text", "text": "string" } ]}'{ "id": "string", "newsdeskId": "string", "status": "pending", "eventDate": "2019-08-24", "angle": "string", "replacesPitchId": "string", "xCredentialId": "string", "seeds": [ { "kind": "text", "text": "string" } ], "pitchId": "string", "warnings": [ { "code": "string", "index": 0, "detail": "string" } ], "failure": { "reason": "string", "seeds": [ { "index": 0, "reason": "string", "detail": "string" } ] }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "included": { "seedNames": { "assets": { "property1": "string", "property2": "string" }, "articles": { "property1": "string", "property2": "string" } } }}x-api-key<token>A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.
id*stringUUID v7, base32-encoded (26 Crockford chars)
^[0-7][0-9A-HJKMNP-TV-Z]{25}$The request: its status and, once done, its draft's pitchId
application/json- response
id*stringManual pitch request identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$newsdeskId*stringNewsdesk identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$status*stringpending until the worker claims it, claimed while the brief is written, then done or failed; dismissed once its creator drops a failed one
"pending""claimed""done""failed""dismissed"eventDate*stringThe request's own event date (YYYY-MM-DD), if it set one
dateangle*stringThe pitch angle the request was made with, if it set one
replacesPitchId*stringPitch identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$xCredentialId*stringCredential identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$seeds*array<||||>The seeds as stored, normalized: duplicates collapsed, library URLs as articles
pitchId*stringThe draft pitch, once the request is done
^[0-7][0-9A-HJKMNP-TV-Z]{25}$warnings*array<>failure*createdAt*stringdate-timeupdatedAt*stringdate-timeincluded?Sideloads: the file names and article titles of the seeds, which name them only by id
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/pitch-requests/string'{ "id": "string", "newsdeskId": "string", "status": "pending", "eventDate": "2019-08-24", "angle": "string", "replacesPitchId": "string", "xCredentialId": "string", "seeds": [ { "kind": "text", "text": "string" } ], "pitchId": "string", "warnings": [ { "code": "string", "index": 0, "detail": "string" } ], "failure": { "reason": "string", "seeds": [ { "index": 0, "reason": "string", "detail": "string" } ] }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "included": { "seedNames": { "assets": { "property1": "string", "property2": "string" }, "articles": { "property1": "string", "property2": "string" } } }}x-api-key<token>A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.
id*stringUUID v7, base32-encoded (26 Crockford chars)
^[0-7][0-9A-HJKMNP-TV-Z]{25}$Request dismissed
application/json- response
id*stringManual pitch request identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$newsdeskId*stringNewsdesk identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$status*stringpending until the worker claims it, claimed while the brief is written, then done or failed; dismissed once its creator drops a failed one
"pending""claimed""done""failed""dismissed"eventDate*stringThe request's own event date (YYYY-MM-DD), if it set one
dateangle*stringThe pitch angle the request was made with, if it set one
replacesPitchId*stringPitch identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$xCredentialId*stringCredential identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$seeds*array<||||>The seeds as stored, normalized: duplicates collapsed, library URLs as articles
pitchId*stringThe draft pitch, once the request is done
^[0-7][0-9A-HJKMNP-TV-Z]{25}$warnings*array<>failure*createdAt*stringdate-timeupdatedAt*stringdate-timeincluded?Sideloads: the file names and article titles of the seeds, which name them only by id
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/pitch-requests/string/dismiss'{ "id": "string", "newsdeskId": "string", "status": "pending", "eventDate": "2019-08-24", "angle": "string", "replacesPitchId": "string", "xCredentialId": "string", "seeds": [ { "kind": "text", "text": "string" } ], "pitchId": "string", "warnings": [ { "code": "string", "index": 0, "detail": "string" } ], "failure": { "reason": "string", "seeds": [ { "index": 0, "reason": "string", "detail": "string" } ] }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "included": { "seedNames": { "assets": { "property1": "string", "property2": "string" }, "articles": { "property1": "string", "property2": "string" } } }}