Skip to content

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

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

Request body

FieldTypeRequiredDescription
namestringyesProject name.
labelstringyesProject label. The system normalizes it to lowercase and replaces spaces with _.
descriptionstringyesProject description.
has_alertingbooleannoEnables project alerting. Defaults to false when omitted.
has_engagement_updatesbooleannoEnables engagement refresh jobs. Defaults to false when omitted.
has_autosentimentbooleannoEnables auto-sentiment behavior. Defaults to false when omitted.
masterindex_thresholdintegerstringnull

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

FieldTypeDescription
idintegerProject identifier.
namestringProject name.
labelstringProject label.
descriptionstringProject description.
has_alertingintegerFlag returned as 0 or 1.
masterindex_thresholdintegerMaster index threshold.
has_autosentimentintegerFlag returned as 0 or 1.
has_engagement_updatesintegerFlag returned as 0 or 1.

Notes

  • The label value tpl is reserved and rejected.
  • Side effects include project resource initialization; this endpoint is not idempotent.

Doc rev.1.12.3 2026.05.08