API v3 is live and in beta: expect possible malfunctions and breaking changes in the coming days. If you find a bug, please report it to your Sillage contact.

Get a client's signal setup

Retrieve one of a client's signal setups by ID.

Retrieves one signal setup by ID, with its signal template embedded and its parameters as applied.

Use the id returned by List a client's signal setups or Set up a signal for a client.

Route

GET/api/v3/partner/workspaces/{partner_workspace_id}/signal-setups/{signal_setup_id}

Path parameters

ParameterTypeDescription
partner_workspace_idstringYour own ID for the client workspace, as you chose it at creation. URL-encode it in the path.
signal_setup_idintegerID of the signal setup, from the list or create endpoint.

Example request

curl "https://api.getsillage.com/api/v3/partner/workspaces/ws_123/signal-setups/42" \
  -H "Authorization: Bearer $SILLAGE_MASTER_KEY"

Success response

Status: 200 OK

{
  "data": {
    "id": 42,
    "signal_template": {
      "id": 2,
      "key": "mentioned-my-brand",
      "name": "Mentioned my brand",
      "description": "Detect when prospects mention your brand on LinkedIn.",
      "row_summary": "Posts naming your product anywhere on LinkedIn.",
      "category": "my_network",
      "status": "live",
      "subjects": ["person"],
      "scopes": ["discovery", "account_monitoring"],
      "tags": [],
      "pricing": {
        "account_monitoring": {
          "signal_bucket": "essential",
          "credits": 50,
          "unit": "per_key_account_per_month"
        },
        "discovery": {
          "credits": 20,
          "unit": "signal_found"
        }
      },
      "archived_at": null
    },
    "name": "Acme brand mentions",
    "status": "enabled",
    "parameters": {
      "scopes": ["discovery"],
      "keywords": ["acme.com"]
    },
    "schedule": null,
    "persona_id": 7,
    "created_at": "2026-09-18T12:00:00.000Z",
    "last_detected_at": "2026-09-20T08:30:00.000Z"
  }
}

Response fields

FieldTypeDescription
data.idintegerID of the signal setup.
data.signal_templateobjectThe signal template this setup is for, as List a client's signal templates returns it, without its setup block. It carries the template's id, key, name, category, status, subjects, scopes, tags, pricing and the other fields listed there.
data.namestringDisplay name for this setup.
data.statusstringenabled when the setup is active, disabled when it is paused. An active setup runs every week when it has a schedule, and otherwise only when you launch a signal run.
data.parametersobjectThe parameters the setup runs with, as applied: the ones you sent, plus the default of every parameter you left out. They are validated against the setup.fields of the signal template. The schedule is not one of them: it has its own schedule field.
data.schedulestring or null"weekly" when the setup runs every week, null when it has no schedule.
data.persona_idinteger or nullThe persona this setup belongs to. null when it is tied to no persona (see Persona required). It never changes.
data.last_detected_atstring or nullWhen this setup last found a signal you can list, null while it has found none.
data.created_atstringWhen this setup was created.

Errors

StatusMeaning
401The master key is missing or invalid.
404No workspace found for this partner_workspace_id, or no signal setup matches this ID.
422signal_setup_id is not a valid ID. Also returned when partner_workspace_id is invalid. A query parameter is sent: this route takes none, and errors names the parameter.
429Rate limit exceeded.
500An unexpected server error occurred.

Error responses use RFC 9457 problem documents with Content-Type: application/problem+json. type is always about:blank; code tells one problem from another, detail says what went wrong this time, and errors names the field at fault.

On this page