Skip to content

job/new

Creates a new job.

What is a job?

A job is a scheduled collection definition. It tells Signal what source to query, how often to run, and which projects should receive the collected posts.

Method and path

POST /job/new

Authentication

Authentication is required. See Authentication.

Permissions

Accessible to tier 1 and 2 users.

Request headers

HeaderRequiredDescription
X-Api-Key or X_API_KEYyesAPI key.
Content-Typeyesapplication/json.

Request body

FieldTypeRequiredDescription
typestringyesJob type code.
labelstringyesJob label.
activebooleannoActive state. Defaults to true when omitted.
freqintegeryesExecution interval in seconds.
notesstringnoFree-text notes.
searchstringnoSearch string.
searchLangstringnoSearch language code.
searchJsonobjectnoStructured search object used by composed search platforms.
optionsobjectnoAdditional options, including platform-specific settings.
projectsarray<integer>noLinked project ids.
project_idintegernoConvenience field for a single linked project.
limitedbooleannoLimited-mode flag. Backend rules can override this value.

Job type codes

Use the type field to select the platform/source integration for the job.

CodePlatformDescription
whWeb news/blogsGeneric web and news ingestion source.
twX (Twitter)X/Twitter source collection.
tcX channelX/Twitter channel collection flow.
igInstagramInstagram source collection.
icInstagram channelInstagram channel collection flow.
nfFacebookFacebook (public pages) ingestion source.
ncFacebook channelFacebook (public page) ingestion source.
ttTikTokTikTok source collection.
tcTikTok channelTikTok profile collection.
tgTelegramTelegram channel/post collection. (limited)
ytYouTubeYouTube source collection. (limited)
bskyBlueskyBluesky source collection.
inLinkedInLinkedIn source collection.

Example request

bash
curl -X POST "$SIGNAL_API_BASE_URL/job/new" \
  -H "X-Api-Key: $SIGNAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "<project_id>",
    "label": "Example Job",
    "type": "wh",
    "active": true,
    "freq": "<frequency_seconds>",
    "search": "\"example phrase\""
  }'
json
{
  "project_id": "<project_id>",
  "label": "Example Job",
  "type": "wh",
  "active": true,
  "freq": "<frequency_seconds>",
  "search": "\"example phrase\"",
  "searchLang": "it",
  "notes": "Example notes"
}

Example response

json
{
  "id": "<job_id>",
  "label": "Example Job",
  "type": "wh",
  "freq": "<frequency_seconds>",
  "notes": "Example notes",
  "lastrun": null,
  "active": true,
  "limited": false,
  "searchLang": "it",
  "search": "\"example phrase\"",
  "options": {},
  "toRestart": null,
  "efficiency": null,
  "projects": ["<project_id>"]
}

Notes

  • When project_id is provided, the API converts it into a single-item projects list.
  • If the created job is active, the endpoint enqueues it immediately.

Doc rev.1.12.3 2026.05.08