Skip to main content

Signals API

The Signals API allows you to list and retrieve information about your signals (saved searches).

Authentication Required

All API requests require authentication. See API Overview for details.

List Signals

Get all active signals in a workspace.

GET /api/signals

Query Parameters

ParameterTypeRequiredDescription
workspace_idstringYesThe workspace ID to list signals for

Response

Returns an array of signal objects.

[
{
"_id": "507f1f77bcf86cd799439012",
"name": "Tech Industry Leaders",
"query": "CTO OR \"Chief Technology Officer\"",
"frequency": "daily",
"is_activated": true,
"prompt": "Find posts from CTOs in tech companies",
"query_type": "search_keyword",
"query_identifier": null,
"created_at": "2024-01-10T08:00:00Z",
"updated_at": "2024-01-15T10:30:00Z"
},
{
"_id": "507f1f77bcf86cd799439013",
"name": "Follow Specific Person",
"query": "https://social.com/in/vearnold",
"frequency": "daily",
"is_activated": true,
"prompt": "Track all posts from this user",
"query_type": "user_profile",
"query_identifier": "vearnold",
"created_at": "2024-01-12T09:00:00Z",
"updated_at": "2024-01-12T09:00:00Z"
},
{
"_id": "507f1f77bcf86cd799439014",
"name": "Company Posts",
"query": "https://social.com/company/example-corp",
"frequency": "daily",
"is_activated": true,
"prompt": "Track all posts from this company",
"query_type": "company_profile",
"query_identifier": "12345678",
"created_at": "2024-01-13T10:00:00Z",
"updated_at": "2024-01-13T10:00:00Z"
}
]

Response Fields

FieldTypeDescription
_idstringUnique signal identifier
namestringSignal name
querystringSignal query (varies by query_type)
frequencystringSignal frequency: hourly, daily, weekly
is_activatedbooleanWhether the signal is active
promptstringAI prompt used for this signal
query_typestringType of query: search_keyword, user_profile, company_profile
query_identifierstring | nullUsername for user_profile, company ID for company_profile, or null for search_keyword
created_atstringISO 8601 timestamp
updated_atstringISO 8601 timestamp

Query Type Examples

The query and query_identifier fields vary based on query_type:

Keyword Search (query_type: "search_keyword"):

  • query: Search terms, e.g., "CTO OR \"Chief Technology Officer\""
  • query_identifier: Always null

User Profile Signal (query_type: "user_profile"):

  • query: Profile URL, e.g., "https://social.com/in/vearnold"
  • query_identifier: Username, e.g., "vearnold"

Company Profile Signal (query_type: "company_profile"):

  • query: Company URL, e.g., "https://social.com/company/example-corp"
  • query_identifier: Company ID, e.g., "12345678"

Rate Limiting

  • 30 requests per minute per API key

Example Request

curl -H "X-API-Key: your_api_key_here" \
https://production.viacurrent.com/api/signals?workspace_id=507f1f77bcf86cd799439013

Get Signal

Get detailed information about a specific signal.

GET /api/signals/{signal_id}

Path Parameters

ParameterTypeDescription
signal_idstringThe signal ID to retrieve

Query Parameters

ParameterTypeRequiredDescription
workspace_idstringYesThe workspace ID that owns this signal

Response

{
"_id": "507f1f77bcf86cd799439012",
"name": "Tech Industry Leaders",
"query": "CTO OR \"Chief Technology Officer\"",
"frequency": "daily",
"is_activated": true,
"prompt": "Find posts from CTOs in tech companies",
"query_type": "search_keyword",
"query_identifier": null,
"created_at": "2024-01-10T08:00:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}

Rate Limiting

  • 60 requests per minute per API key

Example Request

curl -H "X-API-Key: your_api_key_here" \
https://production.viacurrent.com/api/signals/507f1f77bcf86cd799439012?workspace_id=507f1f77bcf86cd799439013

Use Cases

Get signal IDs for filtering posts

# 1. List all signals
curl -H "X-API-Key: your_api_key_here" \
https://production.viacurrent.com/api/signals?workspace_id=507f1f77bcf86cd799439013

# 2. Use signal IDs to filter posts
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/posts?workspace_id=507f1f77bcf86cd799439013&signal_ids=507f1f77bcf86cd799439012,507f1f77bcf86cd799439015"

Get engagers for a profile signal

Signals with query_type of user_profile or company_profile have engagers (people who interacted with the tracked profile's posts).

# Get engagers for a profile signal
curl -H "X-API-Key: your_api_key_here" \
"https://production.viacurrent.com/api/engagers/signal/507f1f77bcf86cd799439013?workspace_id=507f1f77bcf86cd799439013&page=1&page_size=100"

Error Responses

400 Bad Request

{
"detail": "Invalid workspace_id format"
}

403 Forbidden

{
"detail": "signal_not_in_workspace"
}

404 Not Found

{
"detail": "Signal not found"
}

429 Too Many Requests

{
"detail": "Rate limit exceeded"
}

Next Steps

Once you have signal IDs, you can: