Nuvelics documentation
APIAPI reference

Pitch requests

Ask Nuvelics for a pitch from material you choose, and follow the request until the pitch is ready.

GET
/api/tenant/v1/pitch-requests

Authorization

headerx-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.

Response Body

The caller's own requests still building or failed, made in the last 7 days, newest first, at most 20

application/json
  1. response
items*array<>
included?

Sideloads: the file names and article titles of the seeds, which name them only by id

Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/pitch-requests'
Example Response
{  "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"      }    }  }}
POST
/api/tenant/v1/pitch-requests

Authorization

headerx-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.

Request Body

application/json
  1. body
newsdeskId*string

The desk the pitch is for, of the caller's org

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
eventDate?string

ISO 8601 date (YYYY-MM-DD) of the event, overriding the one the brief would carry

Formatdate
angle?string

The 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

Length1 <= length <= 1000
replacesPitchId?string

A draft the caller created this preview replaces once it lands

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
xCredentialId?string

An org credential tagged with the X preset; required when any URL is an X post

Match^[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

Items1 <= items <= 10

Response Body

Accepted: the request is queued, pending; poll it until it is done (with its draft's pitchId) or failed

application/json
  1. response
id*string

Manual pitch request identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
newsdeskId*string

Newsdesk identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
status*string

pending until the worker claims it, claimed while the brief is written, then done or failed; dismissed once its creator drops a failed one

Value in"pending""claimed""done""failed""dismissed"
eventDate*string

The request's own event date (YYYY-MM-DD), if it set one

Formatdate
angle*string

The pitch angle the request was made with, if it set one

replacesPitchId*string

Pitch identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
xCredentialId*string

Credential identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
seeds*array<||||>

The seeds as stored, normalized: duplicates collapsed, library URLs as articles

pitchId*string

The draft pitch, once the request is done

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
warnings*array<>
failure*
createdAt*string
Formatdate-time
updatedAt*string
Formatdate-time
included?

Sideloads: the file names and article titles of the seeds, which name them only by id

Example Request
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"    }  ]}'
Example Response
{  "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"      }    }  }}

Poll a pitch request

GET
/api/tenant/v1/pitch-requests/{id}

Authorization

headerx-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.

Path Parameters

id*string

UUID v7, base32-encoded (26 Crockford chars)

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$

Response Body

The request: its status and, once done, its draft's pitchId

application/json
  1. response
id*string

Manual pitch request identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
newsdeskId*string

Newsdesk identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
status*string

pending until the worker claims it, claimed while the brief is written, then done or failed; dismissed once its creator drops a failed one

Value in"pending""claimed""done""failed""dismissed"
eventDate*string

The request's own event date (YYYY-MM-DD), if it set one

Formatdate
angle*string

The pitch angle the request was made with, if it set one

replacesPitchId*string

Pitch identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
xCredentialId*string

Credential identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
seeds*array<||||>

The seeds as stored, normalized: duplicates collapsed, library URLs as articles

pitchId*string

The draft pitch, once the request is done

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
warnings*array<>
failure*
createdAt*string
Formatdate-time
updatedAt*string
Formatdate-time
included?

Sideloads: the file names and article titles of the seeds, which name them only by id

Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/pitch-requests/string'
Example Response
{  "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"      }    }  }}
POST
/api/tenant/v1/pitch-requests/{id}/dismiss

Authorization

headerx-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.

Path Parameters

id*string

UUID v7, base32-encoded (26 Crockford chars)

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$

Response Body

Request dismissed

application/json
  1. response
id*string

Manual pitch request identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
newsdeskId*string

Newsdesk identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
status*string

pending until the worker claims it, claimed while the brief is written, then done or failed; dismissed once its creator drops a failed one

Value in"pending""claimed""done""failed""dismissed"
eventDate*string

The request's own event date (YYYY-MM-DD), if it set one

Formatdate
angle*string

The pitch angle the request was made with, if it set one

replacesPitchId*string

Pitch identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
xCredentialId*string

Credential identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
seeds*array<||||>

The seeds as stored, normalized: duplicates collapsed, library URLs as articles

pitchId*string

The draft pitch, once the request is done

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
warnings*array<>
failure*
createdAt*string
Formatdate-time
updatedAt*string
Formatdate-time
included?

Sideloads: the file names and article titles of the seeds, which name them only by id

Example Request
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/pitch-requests/string/dismiss'
Example Response
{  "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"      }    }  }}

Report a problem with this page

On this page