---
title: "Creates a new signal."
method: POST
path: "/signal"
tags: ["Signal"]
---

# Creates a new signal.

`POST /signal`

## Request body

- CreateSignalEndpointInput
  - `name` string, required — The human-readable name of the signal.
  - `description` string, nullable — Optional description.
  - `audienceId` string, required — The audience the spawned jobs will target.
  - `jobDefinitionId` string, required — The job definition each firing creates a job from.
  - `revisionNumber` integer, nullable — Optional revision pin; omit for "latest at fire time".
  - `intervalSeconds` integer, required — Seconds between consecutive firings. Minimum 60.
  - `isPublic` boolean — If true the signal is readable by every authenticated user.

## Response `200`

OK

- CreateSignalEndpointOutput
  - `id` string, required — The unique identifier of the created signal.
  - `nextRunAt` string, date-time, required — Timestamp at which the first scheduled run will fire.

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Forbidden

---

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