Appearance
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
| Header | Required | Description |
|---|---|---|
X-Api-Key or X_API_KEY | yes | API key. |
Content-Type | yes | application/json. |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
type | string | yes | Job type code. |
label | string | yes | Job label. |
active | boolean | no | Active state. Defaults to true when omitted. |
freq | integer | yes | Execution interval in seconds. |
notes | string | no | Free-text notes. |
search | string | no | Search string. |
searchLang | string | no | Search language code. |
searchJson | object | no | Structured search object used by composed search platforms. |
options | object | no | Additional options, including platform-specific settings. |
projects | array<integer> | no | Linked project ids. |
project_id | integer | no | Convenience field for a single linked project. |
limited | boolean | no | Limited-mode flag. Backend rules can override this value. |
Job type codes
Use the type field to select the platform/source integration for the job.
| Code | Platform | Description |
|---|---|---|
wh | Web news/blogs | Generic web and news ingestion source. |
tw | X (Twitter) | X/Twitter source collection. |
tc | X channel | X/Twitter channel collection flow. |
ig | Instagram source collection. | |
ic | Instagram channel | Instagram channel collection flow. |
nf | Facebook (public pages) ingestion source. | |
nc | Facebook channel | Facebook (public page) ingestion source. |
tt | TikTok | TikTok source collection. |
tc | TikTok channel | TikTok profile collection. |
tg | Telegram | Telegram channel/post collection. (limited) |
yt | YouTube | YouTube source collection. (limited) |
bsky | Bluesky | Bluesky source collection. |
in | LinkedIn 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_idis provided, the API converts it into a single-itemprojectslist. - If the created job is active, the endpoint enqueues it immediately.