Appearance
project/new
Creates a new project and initializes its related resources.
What is a project?
A project is the top-level container used by Signal to group jobs, posts, tags, users, and configuration under one label.
Method and path
POST /project/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 |
|---|---|---|---|
name | string | yes | Project name. |
label | string | yes | Project label. The system normalizes it to lowercase and replaces spaces with _. |
description | string | yes | Project description. |
has_alerting | boolean | no | Enables project alerting. Defaults to false when omitted. |
has_engagement_updates | boolean | no | Enables engagement refresh jobs. Defaults to false when omitted. |
has_autosentiment | boolean | no | Enables auto-sentiment behavior. Defaults to false when omitted. |
masterindex_threshold | integer | string | null |
Example request
bash
curl -X POST "$SIGNAL_API_BASE_URL/project/new" \
-H "X-Api-Key: $SIGNAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Project",
"label": "example_project",
"description": "Project used in API examples"
}'json
{
"name": "Example Project",
"label": "example_project",
"description": "Project used in API examples",
"has_alerting": true,
"has_engagement_updates": false,
"has_autosentiment": false,
"masterindex_threshold": 0
}Example response
json
{
"id": 123,
"name": "Example Project",
"label": "example_project",
"description": "Project used in API examples",
"has_alerting": 1,
"masterindex_threshold": 0,
"has_autosentiment": 0,
"has_engagement_updates": 0
}Response fields
| Field | Type | Description |
|---|---|---|
id | integer | Project identifier. |
name | string | Project name. |
label | string | Project label. |
description | string | Project description. |
has_alerting | integer | Flag returned as 0 or 1. |
masterindex_threshold | integer | Master index threshold. |
has_autosentiment | integer | Flag returned as 0 or 1. |
has_engagement_updates | integer | Flag returned as 0 or 1. |
Notes
- The label value
tplis reserved and rejected. - Side effects include project resource initialization; this endpoint is not idempotent.