---
title: "Create signal"
method: POST
path: "/v1/projects/{projectSlug}/signals"
tags: ["Signals"]
---

# Create signal

`POST /v1/projects/{projectSlug}/signals`

Creates a user-defined signal with its membership detector — from `settings` (a `judge` LLM detector or a deterministic `rule`), or a raw `script` (advanced). The script is validated at save time (422 on a compile error). Detectors collect forward from creation; there is no historical backfill.

## Path parameters

- `projectSlug` string, required — Project slug (human-readable identifier)

## Request body

- CreateSignalBody
  - `name` string, required — Human-readable name. Used to derive the slug.
  - `description` string, required — What this signal captures.
  - `priority` 'low' | 'medium' | 'high' | 'urgent' | 'null', nullable — Manual triage priority. Null/omitted leaves it unset.
  - `filters` object, nullable — Row-local pre-gate restricting which traces the evaluation runs against. Omitted = all traces.
  - `evaluation` union, required — The signal's membership detector. Provide exactly one of `settings` or `script`.
    - object
      - `settings` union, required — Declarative detector config. `judge` compiles to an LLM script; `rule` compiles to a deterministic script over the session.
        - object
          - `kind` 'judge', required
          - `criteria` string, required
        - object
          - `kind` 'rule', required
          - `match` 'all' | 'any'
          - `conditions` union[], required
            - union
              - …
    - object
      - `script` string, required — Raw sandbox evaluation script (advanced). Must compile in the QuickJS runtime.

## Response `201`

Signal created

- CreateSignalResponse
  - `id` string, required — Created signal id.
  - `slug` string, required — URL-safe identifier; use it on the other signal endpoints.
  - `evaluationId` string, required — Id of the signal's detector evaluation.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.net/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.net/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/latitude-dev/latitude/revisions/a0bf72a85607/schema)
