Web search API: find every relevant event across the open web, not just the top results.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
CatchAll API key from platform.newscatcherapi.com
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add existing entities to a dataset.
The dataset ID to add entities to.
List of entity IDs to add (required).
CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add existing entities to a dataset.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| dataset_id* | string | The dataset ID to add entities to. |
| entity_ids* | array | List of entity IDs to add (required). |
{
"type": "object",
"required": [
"dataset_id",
"entity_ids"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID to add entities to."
},
"entity_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of entity IDs to add (required)."
}
},
"additionalProperties": false
}Add one or more resources to a project. Webhooks are first-class project resources: a webhook can belong to several projects at the same time, and deleting a project only detaches its webhooks — it never deletes them.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| resources* | any | A list of resource objects, each `{"resource_type": ..., "resource_id": ...}`. `resource_type` is one of: 'job', 'monitor', 'dataset', 'monitor_group', 'webhook'. May also be passed as a JSON-string array for client compatibility. |
| project_id* | string | The project ID to add resources to. |
{
"type": "object",
"required": [
"project_id",
"resources"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"resources": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
{
"type": "string"
}
],
"description": "A list of resource objects, each `{\"resource_type\": ..., \"resource_id\": ...}`.\n`resource_type` is one of: 'job', 'monitor', 'dataset', 'monitor_group', 'webhook'.\nMay also be passed as a JSON-string array for client compatibility."
},
"project_id": {
"type": "string",
"description": "The project ID to add resources to."
}
},
"additionalProperties": false
}Append entities from a CSV file to an existing dataset. Parses the CSV and appends its entities to the dataset. Each row must have a `name` column; include a `domain` or `description` column (or both) for meaningful enrichment. Duplicate rows (by name) are skipped. To create a new dataset from a CSV, use `create_dataset_from_csv` instead.
| Argument | Type | Description |
|---|---|---|
| file* | string | CSV content (required) — raw CSV text or standard base64-encoded CSV, capped at 10 MB after decoding. Server-side file paths are not accepted. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| dataset_id* | string | The dataset ID to append entities to (required). |
{
"type": "object",
"required": [
"dataset_id",
"file"
],
"properties": {
"file": {
"type": "string",
"description": "CSV content (required) — raw CSV text or standard base64-encoded\nCSV, capped at 10 MB after decoding. Server-side file paths are\nnot accepted."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID to append entities to (required)."
}
},
"additionalProperties": false
}Map a resource (job, monitor, or monitor_group) to a webhook. Use when: - You want a webhook to fire for a specific job or monitor's deliveries.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| webhook_id* | string | The webhook ID to attach the resource to. |
| resource_id* | string | The ID of the job/monitor/monitor_group to map. |
| resource_type* | string | Resource type: 'job', 'monitor', or 'monitor_group'. |
{
"type": "object",
"required": [
"webhook_id",
"resource_type",
"resource_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID to attach the resource to."
},
"resource_id": {
"type": "string",
"description": "The ID of the job/monitor/monitor_group to map."
},
"resource_type": {
"type": "string",
"description": "Resource type: 'job', 'monitor', or 'monitor_group'."
}
},
"additionalProperties": false
}Check API health status. This tool maps to GET /health and does not require an API key.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Optional CatchAll API key. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "Optional CatchAll API key."
}
},
"additionalProperties": false
}Expand a job by processing more records beyond the initial limit. This increases the number of records the system processes (which costs additional credits). Only use this when the user wants MORE data processed. This only applies to jobs originally submitted with `limit`. If a job was submitted without `limit`, there is nothing to continue. The new_limit must be greater than the previous limit when provided. If omitted, API defaults to your plan maximum.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job ID to continue processing |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| new_limit | any | Optional new record processing limit (must exceed the previous limit if provided). |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job ID to continue processing"
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"new_limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional new record processing limit (must exceed the previous limit if provided)."
}
},
"additionalProperties": false
}Create a new dataset. Datasets are collections of entities (companies/people). Connect a dataset to a job via `submit_query(connected_dataset_ids=[...])` to narrow retrieval scope.
| Argument | Type | Description |
|---|---|---|
| name* | string | Human-readable dataset name (required). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| entity_ids | any | Optional list of existing entity IDs to seed the dataset with. |
| project_id | string | Optional project ID to associate this dataset with. |
| description | string | Optional dataset description. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Human-readable dataset name (required)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"entity_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Optional list of existing entity IDs to seed the dataset with."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional project ID to associate this dataset with."
},
"description": {
"type": "string",
"default": "",
"description": "Optional dataset description."
}
},
"additionalProperties": false
}Create a new dataset by uploading a CSV file. The CSV must have at least a `name` column. For meaningful entity enrichment each row should also include a `domain` column or a `description` column (or both) — a row with only a name is accepted but produces lower-quality enrichment. Additional columns are mapped to entity attributes. Max file size is plan-dependent. To add CSV rows to an existing dataset, use `append_csv_to_dataset` instead.
| Argument | Type | Description |
|---|---|---|
| file* | string | CSV content (required) — raw CSV text or standard base64-encoded CSV, capped at 10 MB after decoding. Server-side file paths are not accepted. |
| name* | string | Human-readable dataset name (required). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| project_id | string | Optional project ID to associate this dataset with (new in 1.6.1). |
| description | string | Optional dataset description. |
{
"type": "object",
"required": [
"name",
"file"
],
"properties": {
"file": {
"type": "string",
"description": "CSV content (required) — raw CSV text or standard base64-encoded\nCSV, capped at 10 MB after decoding. Server-side file paths are\nnot accepted."
},
"name": {
"type": "string",
"description": "Human-readable dataset name (required)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional project ID to associate this dataset with (new in 1.6.1)."
},
"description": {
"type": "string",
"default": "",
"description": "Optional dataset description."
}
},
"additionalProperties": false
}Create multiple entities in one call.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| entities* | any | A list of entity objects. Each object requires a ``name`` plus one identifying field for good enrichment: either a top-level ``"description"`` or ``"additional_attributes": {"company_attributes": {"domain": "..."}}``. Also accepts optional ``entity_type`` ('company'/'person'). May also be passed as a JSON-string array. |
{
"type": "object",
"required": [
"entities"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"entities": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
{
"type": "string"
}
],
"description": "A list of entity objects. Each object requires a ``name``\nplus one identifying field for good enrichment: either a top-level\n``\"description\"`` or ``\"additional_attributes\": {\"company_attributes\": {\"domain\": \"...\"}}``.\nAlso accepts optional ``entity_type`` ('company'/'person').\nMay also be passed as a JSON-string array."
}
},
"additionalProperties": false
}Create a single entity (a company or person). ``name`` is required plus at least one identifying field: either ``description`` or ``additional_attributes.company_attributes.domain``.
| Argument | Type | Description |
|---|---|---|
| name* | string | Entity name (required). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| description | string | Optional description of the entity. |
| entity_type | string | Optional entity type: 'company' (default) or 'person'. |
| external_entity_id | any | Optional customer-supplied identifier linking this entity to an external system's record (new in 1.6.3). |
| additional_attributes | any | Optional structured attributes. For companies, use `{"company_attributes": {"alternative_names": [...], "domain": "...", "key_persons": [...], "description": "..."}}`. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Entity name (required)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"description": {
"type": "string",
"default": "",
"description": "Optional description of the entity."
},
"entity_type": {
"type": "string",
"default": "",
"description": "Optional entity type: 'company' (default) or 'person'."
},
"external_entity_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional customer-supplied identifier linking this entity to\nan external system's record (new in 1.6.3)."
},
"additional_attributes": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Optional structured attributes. For companies, use\n`{\"company_attributes\": {\"alternative_names\": [...], \"domain\": \"...\",\n\"key_persons\": [...], \"description\": \"...\"}}`."
}
},
"additionalProperties": false
}Create a recurring monitor from a completed job. Monitors re-run a job's query on a schedule. Use the explore -> refine -> automate pattern: submit a job, refine until results match, then create a monitor. The schedule is defined in natural language (e.g., 'every day at 9 AM EST'). Always include a timezone (in the schedule text or via the `timezone` arg). API-enforced constraints apply: - If `backfill=true`, reference job end_date must be within the last 7 days - If `backfill=false`, reference job age does not matter - Minimum schedule frequency depends on your plan Webhooks are now centralized: register them with `create_webhook`, then pass their IDs here via `webhook_ids` (there is no inline webhook config anymore).
| Argument | Type | Description |
|---|---|---|
| limit | any | Optional max records per run (minimum 10). If omitted, API uses plan default. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| backfill | boolean | Optional gap-fill toggle before first run (default true). |
| schedule* | string | Natural language schedule (e.g., 'every day at 9 AM EST', 'every Monday at 8 AM UTC', 'every 48 hours') |
| timezone | string | Optional IANA timezone for the schedule (e.g. 'America/New_York'). Defaults to UTC. A timezone written into the schedule text overrides this. |
| project_id | string | Optional project ID to associate this monitor with. |
Create a new project. Projects group related resources (jobs, monitors, datasets, monitor_groups) so you can organize work and filter listings by `project_id`.
| Argument | Type | Description |
|---|---|---|
| name* | string | Human-readable project name (required). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| description | string | Optional project description. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Human-readable project name (required)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"description": {
"type": "string",
"default": "",
"description": "Optional project description."
}
},
"additionalProperties": false
}Create a new webhook endpoint. Use when: - You want to register a URL to receive job or monitor result deliveries. - You need a webhook_id to attach to a monitor (via webhook_ids) or a job submission. - You want the webhook associated with a project from the start (pass `project_id`).
| Argument | Type | Description |
|---|---|---|
| url* | string | Target URL that will receive webhook deliveries (required). |
| auth | any | Optional auth object forwarded with each delivery. One of: - {"type": "bearer", "token": "..."} - {"type": "api_key", "header": "X-API-Key", "value": "..."} - {"type": "basic", "username": "...", "password": "..."} |
| name* | string | Human-readable name for the webhook (required). |
| type | string | Optional webhook target type: 'generic' (default), 'slack', 'teams', or 'custom'. 'slack'/'teams' send pre-formatted payloads; 'generic'/'custom' send the raw result payload. |
| method | string | HTTP method for delivery (default 'POST'). One of GET, POST, PUT, PATCH, DELETE. |
| params | any | Optional dict of query string parameters appended to the webhook URL. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
Permanently delete a dataset. The entities the dataset referenced are not deleted; only the dataset and its entity associations are removed.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| dataset_id* | string | The dataset ID to delete. |
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID to delete."
}
},
"additionalProperties": false
}Permanently delete an entity.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| entity_id* | string | The entity ID to delete. |
{
"type": "object",
"required": [
"entity_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"entity_id": {
"type": "string",
"description": "The entity ID to delete."
}
},
"additionalProperties": false
}Permanently delete a job and its results. Use when: - You want to remove a job you no longer need from your account.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job ID to delete. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job ID to delete."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
}
},
"additionalProperties": false
}Permanently delete a monitor and stop its scheduled runs. Use when: - You want to remove a monitor entirely (use `disable_monitor` to only pause it).
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| monitor_id* | string | The monitor ID to delete. |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to delete."
}
},
"additionalProperties": false
}Delete a project. By default the project's resources (jobs, monitors, etc.) are detached but kept. Set `delete_resources=true` to also delete the contained jobs, monitors, datasets, and monitor groups. Webhooks are the exception: they are never deleted by this operation — an attached webhook is only detached from the project and keeps working (it may belong to other projects or resources independently of this one).
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| project_id* | string | The project ID to delete. |
| delete_resources | boolean | If true, also delete the project's resources except webhooks, which are always detached rather than deleted (default false). |
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"project_id": {
"type": "string",
"description": "The project ID to delete."
},
"delete_resources": {
"type": "boolean",
"default": false,
"description": "If true, also delete the project's resources except\nwebhooks, which are always detached rather than deleted (default false)."
}
},
"additionalProperties": false
}Permanently delete a webhook endpoint. Use when: - You want to remove a webhook from your account.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| webhook_id* | string | The webhook ID to delete. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID to delete."
}
},
"additionalProperties": false
}Disable a monitor to stop its scheduled runs. The monitor can be re-enabled later with enable_monitor.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| monitor_id* | string | The monitor ID to disable |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to disable"
}
},
"additionalProperties": false
}Enable a previously disabled monitor to resume its scheduled runs.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| backfill | any | Optional backfill behavior for resume. |
| monitor_id* | string | The monitor ID to enable |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"backfill": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional backfill behavior for resume."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to enable"
}
},
"additionalProperties": false
}Get a single dataset's details.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| dataset_id* | string | The dataset ID to retrieve. |
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID to retrieve."
}
},
"additionalProperties": false
}Get the status history of a dataset (e.g. its enrichment progress over time).
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| dataset_id* | string | The dataset ID to inspect. |
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID to inspect."
}
},
"additionalProperties": false
}Get a single entity's details.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| entity_id* | string | The entity ID to retrieve. |
{
"type": "object",
"required": [
"entity_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"entity_id": {
"type": "string",
"description": "The entity ID to retrieve."
}
},
"additionalProperties": false
}Check the status of a submitted job. Call this after submit_query to see if your job is ready. Status progression: submitted -> analyzing -> fetching -> clustering -> enriching -> completed/failed IMPORTANT: Jobs take several minutes to process. First check after ~1-2 minutes, then poll every 30-60 seconds. Broad searches can take 10-30+ minutes; for long jobs, poll every 60-120 seconds. Do NOT call this tool in a tight loop. Stop polling when status is `completed` or `failed`. Treat `submitted`, `analyzing`, `fetching`, `clustering`, and `enriching` as active states and continue polling. You don't need to wait for completion to pull results. Partial results are available during `enriching` — call pull_results after ~2 minutes, then poll status every 30-60 seconds and pull again for fresher results. Do not stop pulling just because an intermediate pull is empty/unchanged. Use `progress_validated` vs `candidate_records` to track whether more results may still appear (`progress_validated < candidate_records`). If transport/session fails, resume using the same `job_id`.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job ID returned from submit_query |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job ID returned from submit_query"
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
}
},
"additionalProperties": false
}Get the status history of a monitor. Use when: - You want to see the timeline of a monitor's state changes (e.g. active, disabled, errored) and any related details.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| monitor_id* | string | The monitor ID to inspect. |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to inspect."
}
},
"additionalProperties": false
}Get a single project's details.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| project_id* | string | The project ID to retrieve. |
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"project_id": {
"type": "string",
"description": "The project ID to retrieve."
}
},
"additionalProperties": false
}Get a project's resource overview (counts grouped by resource type and status).
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| project_id* | string | The project ID to summarize. |
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"project_id": {
"type": "string",
"description": "The project ID to summarize."
}
},
"additionalProperties": false
}Retrieve plan features and current usage limits for your API key. Use when: - You want to know how many records/jobs/monitors your plan allows. - You want to check current usage against plan limits before running a large job.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
}
},
"additionalProperties": false
}Get current API version. This tool maps to GET /version and does not require an API key.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Optional CatchAll API key. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "Optional CatchAll API key."
}
},
"additionalProperties": false
}Retrieve the full configuration of a specific webhook. Use when: - You want to inspect a webhook's URL, method, headers, or status by its ID.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| webhook_id* | string | The webhook ID to retrieve. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID to retrieve."
}
},
"additionalProperties": false
}Get webhook delivery history, either for a resource or for a webhook. Query in exactly one of two modes: - By resource: pass `resource_type` + `resource_id` to see deliveries made for a specific job/monitor/monitor_group. - By webhook: pass `webhook_id` to see every delivery made through one webhook — including manual test deliveries (from `test_webhook`), which are not tied to a job or monitor and only appear in this mode.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| page_size | integer | Number of results per page (default: 50, max: 500). |
| webhook_id | string | Webhook ID to fetch history for. Mutually exclusive with `resource_type`/`resource_id`. |
| resource_id | string | The ID of the job/monitor/monitor_group. |
| resource_type | string | Resource type: 'job', 'monitor', or 'monitor_group'. Required together with `resource_id` when `webhook_id` is not given. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"page_size": {
"type": "integer",
"default": 50,
"description": "Number of results per page (default: 50, max: 500)."
},
"webhook_id": {
"type": "string",
"default": "",
"description": "Webhook ID to fetch history for. Mutually exclusive with\n`resource_type`/`resource_id`."
},
"resource_id": {
"type": "string",
"default": "",
"description": "The ID of the job/monitor/monitor_group."
},
"resource_type": {
"type": "string",
"default": "",
"description": "Resource type: 'job', 'monitor', or 'monitor_group'.\nRequired together with `resource_id` when `webhook_id` is not given."
}
},
"additionalProperties": false
}Preview suggested validators, enrichments, and date ranges before submitting. Use when: - You want to inspect/edit auto-generated validators/enrichments before submitting. - You want to preview date adjustments via `date_modification_message`. Do not use when: - You want to start processing immediately with final inputs (use `submit_query`). Key behavior: - Preview-only endpoint: does not create a job and does not start processing. - Suggestions are LLM-generated and not deterministic across calls. - To reuse suggestions, pass them explicitly to `submit_query`.
| Argument | Type | Description |
|---|---|---|
| query* | string | Natural language query to preview (required). If you plan to attach a company dataset via `connected_dataset_ids` in the subsequent `submit_query`, do NOT reference the company list here — entity filtering is applied automatically by the dataset, not by the query text. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| context | string | Optional guidance on what to prioritize so suggested validators, enrichments, and dates align with your target data points. If a company dataset will be attached in `submit_query`, note that entity-relevance validators (e.g. `company_is_primary_subject`) will be auto-generated — do not ask for them here. Do not mention things like "company list will be attached". Focus on the event or topic only. |
| fetch_all_watchlist_news | boolean | When `True`, signals that the subsequent job will retrieve all news for connected watchlist entities without topic filtering. Pass this when you intend to use `fetch_all_watchlist_news=True` in `submit_query` so the previewed validators/enrichments are generated accordingly. Requires `connected_dataset_ids` to be set in `submit_query`. Default: `False`. |
List the entities contained in a dataset.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| search | string | Optional text filter on entity name. |
| status | string | Optional status filter: 'pending', 'enriching', 'ready', or 'failed'. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| sort_by | string | Optional sort field: 'created_at', 'name', or 'status'. |
| page_size | integer | Number of results per page (default: 100). |
| dataset_id* | string | The dataset ID whose entities you want. |
| sort_order | string | Optional sort direction: 'asc' or 'desc'. |
| entity_type | string | Optional type filter: 'company' or 'person'. |
List your datasets.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| search | string | Optional text filter on the dataset name. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| sort_by | string | Optional sort field: 'name', 'created_at', or 'status'. |
| ownership | string | Optional ownership filter: 'all', 'own', or 'shared'. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
| project_id | string | Optional filter to datasets belonging to a specific project. |
| sort_order | string | Optional sort direction: 'asc' or 'desc'. |
| latest_status | string | Optional status filter: 'pending', 'enriching', 'ready', or 'failed'. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"search": {
"type": "string",
"default": "",
"description": "Optional text filter on the dataset name."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"sort_by": {
"type": "string",
"default": "",
"description": "Optional sort field: 'name', 'created_at', or 'status'."
},
"ownership": {
"type": "string",
"default": "",
"description": "Optional ownership filter: 'all', 'own', or 'shared'."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional filter to datasets belonging to a specific project."
},
"sort_order": {
"type": "string",
"default": "",
"description": "Optional sort direction: 'asc' or 'desc'."
},
"latest_status": {
"type": "string",
"default": "",
"description": "Optional status filter: 'pending', 'enriching', 'ready', or 'failed'."
}
},
"additionalProperties": false
}List your entities.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| search | string | Optional text filter on entity name. |
| status | string | Optional status filter: 'pending', 'enriching', 'ready', or 'failed'. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| sort_by | string | Optional sort field: 'created_at', 'name', or 'status'. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
| project_id | string | Optional filter to entities belonging to a specific project. |
| sort_order | string | Optional sort direction: 'asc' or 'desc'. |
| entity_type | string | Optional type filter: 'company' or 'person'. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"search": {
"type": "string",
"default": "",
"description": "Optional text filter on entity name."
},
"status": {
"type": "string",
"default": "",
"description": "Optional status filter: 'pending', 'enriching', 'ready', or 'failed'."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"sort_by": {
"type": "string",
"default": "",
"description": "Optional sort field: 'created_at', 'name', or 'status'."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional filter to entities belonging to a specific project."
},
"sort_order": {
"type": "string",
"default": "",
"description": "Optional sort direction: 'asc' or 'desc'."
},
"entity_type": {
"type": "string",
"default": "",
"description": "Optional type filter: 'company' or 'person'."
}
},
"additionalProperties": false
}List all jobs spawned by a monitor. Returns the history of scheduled runs for a monitor.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort order by start_date: 'asc' (default) or 'desc' |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| monitor_id* | string | The monitor ID to list jobs for |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"sort": {
"type": "string",
"default": "asc",
"description": "Sort order by start_date: 'asc' (default) or 'desc'"
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to list jobs for"
}
},
"additionalProperties": false
}List all your monitors. Returns all monitors with their schedule, status, reference query, and webhook config.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| search | string | Optional text filter on the monitor query. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| ownership | string | Optional ownership filter: 'all', 'own', or 'shared'. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
| project_id | string | Optional filter to monitors belonging to a specific project. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"search": {
"type": "string",
"default": "",
"description": "Optional text filter on the monitor query."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"ownership": {
"type": "string",
"default": "",
"description": "Optional ownership filter: 'all', 'own', or 'shared'."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional filter to monitors belonging to a specific project."
}
},
"additionalProperties": false
}List the resources contained in a project.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
| project_id* | string | The project ID whose resources you want. |
| resource_type | string | Optional filter: 'job', 'monitor', 'dataset', 'monitor_group', or 'webhook'. |
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
},
"project_id": {
"type": "string",
"description": "The project ID whose resources you want."
},
"resource_type": {
"type": "string",
"default": "",
"description": "Optional filter: 'job', 'monitor', 'dataset', 'monitor_group', or 'webhook'."
}
},
"additionalProperties": false
}List your projects.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| search | string | Optional text filter on the project name. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| ownership | string | Optional ownership filter: 'all', 'own', or 'shared'. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"search": {
"type": "string",
"default": "",
"description": "Optional text filter on the project name."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"ownership": {
"type": "string",
"default": "",
"description": "Optional ownership filter: 'all', 'own', or 'shared'."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
}
},
"additionalProperties": false
}List the webhooks mapped to a specific resource (job/monitor/monitor_group). Use when: - You have a job or monitor ID and want to know which webhooks will fire for it.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| is_active | any | Optional filter — only active (true) or inactive (false) webhooks. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
| resource_id* | string | The ID of the job/monitor/monitor_group. |
| resource_type* | string | Resource type: 'job', 'monitor', or 'monitor_group'. |
{
"type": "object",
"required": [
"resource_type",
"resource_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional filter — only active (true) or inactive (false) webhooks."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
},
"resource_id": {
"type": "string",
"description": "The ID of the job/monitor/monitor_group."
},
"resource_type": {
"type": "string",
"description": "Resource type: 'job', 'monitor', or 'monitor_group'."
}
},
"additionalProperties": false
}List source groups (named domain allowlists). Use when: - You want to discover reusable, named sets of source domains (public groups plus any organization-visibility groups your organization can access). - You need a group's `slug` to attach to `submit_query` via `source_groups` to scope fetching to that domain allowlist.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| page_size | integer | Number of results per page (default: 100, max: 500). |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 500)."
}
},
"additionalProperties": false
}List all jobs submitted by you. Returns your job history with IDs, queries, statuses, and timestamps.
| Argument | Type | Description |
|---|---|---|
| mode | string | Optional filter by job processing mode: 'base' or 'lite'. |
| page | integer | Page number for pagination (default: 1) |
| search | string | Optional text filter on the job query. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| ownership | string | Optional ownership filter: 'all', 'own', or 'shared'. |
| page_size | integer | Number of results per page (default: 100, max: 1000) |
| project_id | string | Optional filter to jobs belonging to a specific project. |
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"default": "",
"description": "Optional filter by job processing mode: 'base' or 'lite'."
},
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)"
},
"search": {
"type": "string",
"default": "",
"description": "Optional text filter on the job query."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"ownership": {
"type": "string",
"default": "",
"description": "Optional ownership filter: 'all', 'own', or 'shared'."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)"
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional filter to jobs belonging to a specific project."
}
},
"additionalProperties": false
}List the resources mapped to a webhook. Use when: - You want to see which jobs/monitors a webhook is attached to.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
| webhook_id* | string | The webhook ID whose resource mappings you want. |
| resource_type | string | Optional filter: 'job', 'monitor', or 'monitor_group'. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID whose resource mappings you want."
},
"resource_type": {
"type": "string",
"default": "",
"description": "Optional filter: 'job', 'monitor', or 'monitor_group'."
}
},
"additionalProperties": false
}List all your webhooks. Use when: - You want to see all webhook endpoints configured in your account. - You need to find a webhook_id to pass to monitors (via webhook_ids) or jobs.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| page_size | integer | Number of results per page (default: 100, max: 1000). |
| project_id | string | Optional filter to webhooks belonging to a specific project. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100, max: 1000)."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional filter to webhooks belonging to a specific project."
}
},
"additionalProperties": false
}Download a job's results as a CSV file. Use when: - You want the full job output as a CSV for offline analysis or export. - Prefer this over `pull_results` when the consumer needs spreadsheet/CSV format.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job ID to download as CSV. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job ID to download as CSV."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
}
},
"additionalProperties": false
}Download the latest monitor run's results as a CSV file. Use when: - You want the most recent monitor run output as a CSV for offline analysis or export. - Prefer this over `pull_monitor_results` when the consumer needs spreadsheet/CSV format.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| monitor_id* | string | The monitor ID to download results for. |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to download results for."
}
},
"additionalProperties": false
}Retrieve the latest results from a monitor. Returns the most recent run's results including run_info, records, and all_records.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| monitor_id* | string | The monitor ID to pull results from |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to pull results from"
}
},
"additionalProperties": false
}Retrieve the results of a job. Can be called before completion for partial results, or after completion for the full set. Returns clustered, validated, and enriched web results. While job status is active, call this repeatedly (typically page=1) to refresh partial output. When job reaches completed, iterate all pages. If job fails, call once more to capture any partial output.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1). Use total_pages from the response to iterate through all results. |
| job_id* | string | The job ID returned from submit_query |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| page_size | integer | Number of records returned per page (default: 100, max: 1000). |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1). Use total_pages from the response to iterate through all results."
},
"job_id": {
"type": "string",
"description": "The job ID returned from submit_query"
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of records returned per page (default: 100, max: 1000)."
}
},
"additionalProperties": false
}Remove entities from a dataset (the entities themselves are not deleted).
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| dataset_id* | string | The dataset ID to remove entities from. |
| entity_ids* | array | List of entity IDs to remove (required). |
{
"type": "object",
"required": [
"dataset_id",
"entity_ids"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID to remove entities from."
},
"entity_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of entity IDs to remove (required)."
}
},
"additionalProperties": false
}Remove a single resource from a project. This detaches the resource from the project without deleting the resource itself (e.g. removing a webhook only ends its membership in this project; the webhook keeps existing and stays attached to any other projects).
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| project_id* | string | The project ID to remove the resource from. |
| resource_id* | string | The ID of the resource to remove. |
| resource_type* | string | Resource type: 'job', 'monitor', 'dataset', 'monitor_group', or 'webhook'. |
{
"type": "object",
"required": [
"project_id",
"resource_type",
"resource_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"project_id": {
"type": "string",
"description": "The project ID to remove the resource from."
},
"resource_id": {
"type": "string",
"description": "The ID of the resource to remove."
},
"resource_type": {
"type": "string",
"description": "Resource type: 'job', 'monitor', 'dataset', 'monitor_group', or 'webhook'."
}
},
"additionalProperties": false
}Unmap a resource from a webhook. Use when: - You want to stop a webhook from firing for a specific job or monitor.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| webhook_id* | string | The webhook ID to detach the resource from. |
| resource_id* | string | The ID of the mapped job/monitor/monitor_group. |
| resource_type* | string | Resource type: 'job', 'monitor', or 'monitor_group'. |
{
"type": "object",
"required": [
"webhook_id",
"resource_type",
"resource_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID to detach the resource from."
},
"resource_id": {
"type": "string",
"description": "The ID of the mapped job/monitor/monitor_group."
},
"resource_type": {
"type": "string",
"description": "Resource type: 'job', 'monitor', or 'monitor_group'."
}
},
"additionalProperties": false
}Create a new CatchAll processing job from a natural-language query. Use when: - You want to start a new CatchAll web research run from a user query. - You want the API to fetch/process sources and then return structured results. Do not use when: - You want status for an existing job (use `get_job_status`). - You want records for an existing job (use `pull_results`). Key rules: - `query` is required. - You can submit with only `query`; omitted optional fields (`validators`, `enrichments`, `start_date`, `end_date`) are auto-selected/generated by the API. - Optional fields are independent: you can pass any subset (for example, custom `validators` but no `enrichments`), and omitted fields are still auto-selected/generated. - When `connected_dataset_ids` is set, the `query` must describe the **topic or event type only** (e.g. "M&A activity", "regulatory filings", "executive changes"). Do NOT write things like "for my companies", "for the selected list of companies", or "news about my watchlist" — the entity filtering is applied automatically by the connected dataset. Mentioning companies in the query when a dataset is attached is redundant and degrades retrieval quality. - When `connected_dataset_ids` is set, entity-relevance validators (e.g. `company_is_primary_subject`) are generated automatically by the API. Do NOT add them manually to `validators` — they are redundant and may conflict with the auto-generated ones. Only pass validators that describe the **event or topic**, not entity filtering. - `start_date` and `end_date` filter by web page discovery date, not event date. - Discovery dates and extracted event dates can differ. For event-time accuracy, use event-focused validators/enrichments and verify `event_date` in pulled results. - `end_date` must be after `start_date`. - Dates outside your plan lookback limits return API 400. - `limit` controls processed record count (cost-affecting). Omit it to retrieve everything up to your plan's maximum. If provided, must be >= 10. - `validators` / `enrichments` may be passed either as arrays or as JSON-string arrays (for client compatibility). - `validators[].type` must be `boolean` (if omitted, it defaults to `boolean`). - `enrichments[].type` supported values: text, number, date, option, url, company. Basic examples: - validators: `[{"name":"is_acquisition_event","description":"true if page describes an acquisition","type":"boolean"}]` - enrichments: `[{"name":"acquiring_company","description":"Extract acquiring company","type":"company"},{"name":"deal_value","description":"Extract announced deal value","type":"number"}]` Next step: - Save the returned `job_id`. - Poll `get_job_status` and call `pull_results` (partial results can appear before completion).
Send a test delivery to a webhook endpoint. Use when: - You want to verify a webhook URL is reachable and correctly configured before attaching it to a monitor or job.
| Argument | Type | Description |
|---|---|---|
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| payload | any | Optional custom JSON object to send as the test body. If omitted, the API sends a default sample payload. |
| webhook_id* | string | The webhook ID to test. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"payload": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Optional custom JSON object to send as the test body. If omitted,\nthe API sends a default sample payload."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID to test."
}
},
"additionalProperties": false
}Manually trigger webhook delivery for a resource (job/monitor/monitor_group). Use when: - You want to (re-)send a webhook delivery on demand instead of waiting for the automatic dispatch — e.g. to replay a missed or failed delivery.
| Argument | Type | Description |
|---|---|---|
| job_id | string | Optional job ID whose payload should be delivered (e.g. a specific monitor run's job). If omitted, the API picks the resource's payload itself. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| webhook_id* | string | The webhook ID to deliver through. |
| resource_id* | string | The ID of the job/monitor/monitor_group to trigger delivery for. |
| resource_type* | string | Resource type: 'job', 'monitor', or 'monitor_group'. |
{
"type": "object",
"required": [
"webhook_id",
"resource_type",
"resource_id"
],
"properties": {
"job_id": {
"type": "string",
"default": "",
"description": "Optional job ID whose payload should be delivered (e.g. a specific\nmonitor run's job). If omitted, the API picks the resource's payload itself."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID to deliver through."
},
"resource_id": {
"type": "string",
"description": "The ID of the job/monitor/monitor_group to trigger delivery for."
},
"resource_type": {
"type": "string",
"description": "Resource type: 'job', 'monitor', or 'monitor_group'."
}
},
"additionalProperties": false
}Update a dataset's name and/or description.
| Argument | Type | Description |
|---|---|---|
| name | any | Optional new dataset name. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| dataset_id* | string | The dataset ID to update. |
| description | any | Optional new dataset description. |
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional new dataset name."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID to update."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional new dataset description."
}
},
"additionalProperties": false
}Update an entity's name, description, external_entity_id, and/or attributes.
| Argument | Type | Description |
|---|---|---|
| name | any | Optional new entity name. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| entity_id* | string | The entity ID to update. |
| description | any | Optional new description. |
| external_entity_id | any | Optional customer-supplied identifier linking this entity to an external system's record (new in 1.6.3). |
| additional_attributes | any | Optional updated structured attributes (see `create_entity` for the company_attributes shape). |
{
"type": "object",
"required": [
"entity_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional new entity name."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"entity_id": {
"type": "string",
"description": "The entity ID to update."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional new description."
},
"external_entity_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional customer-supplied identifier linking this entity to\nan external system's record (new in 1.6.3)."
},
"additional_attributes": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Optional updated structured attributes\n(see `create_entity` for the company_attributes shape)."
}
},
"additionalProperties": false
}Update a monitor's schedule, timezone, webhook assignments, and per-run limit. Note: reference_job_id cannot be modified through this endpoint. Webhooks are centralized — pass webhook IDs (from `create_webhook`/`list_webhooks`).
| Argument | Type | Description |
|---|---|---|
| limit | any | Optional updated maximum records per run (minimum 10). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| schedule | string | Optional new natural-language schedule to replace the monitor's current one (e.g. 'every day at 9 AM', 'every Monday at 6 PM EST'). Leave unset to keep the current schedule. The scheduler picks up the new schedule on its next reload and the old schedule stops firing. |
| timezone | string | Optional IANA timezone for the new schedule (e.g. 'America/New_York'). Defaults to UTC. Overridden if the schedule text itself contains a timezone. Ignored if `schedule` is not set. |
| monitor_id* | string | The monitor ID to update |
| webhook_ids | any | Optional list of webhook IDs to assign to this monitor. Pass an empty list `[]` to clear all webhook assignments. |
{
"type": "object",
"required": [
"monitor_id"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional updated maximum records per run (minimum 10)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"schedule": {
"type": "string",
"default": "",
"description": "Optional new natural-language schedule to replace the monitor's current\none (e.g. 'every day at 9 AM', 'every Monday at 6 PM EST'). Leave unset to keep\nthe current schedule. The scheduler picks up the new schedule on its next\nreload and the old schedule stops firing."
},
"timezone": {
"type": "string",
"default": "",
"description": "Optional IANA timezone for the new schedule (e.g. 'America/New_York').\nDefaults to UTC. Overridden if the schedule text itself contains a timezone.\nIgnored if `schedule` is not set."
},
"monitor_id": {
"type": "string",
"description": "The monitor ID to update"
},
"webhook_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Optional list of webhook IDs to assign to this monitor.\nPass an empty list `[]` to clear all webhook assignments."
}
},
"additionalProperties": false
}Update a project's name and/or description. Only the fields you provide are changed.
| Argument | Type | Description |
|---|---|---|
| name | any | Optional new project name. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| project_id* | string | The project ID to update. |
| description | any | Optional new project description. |
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional new project name."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"project_id": {
"type": "string",
"description": "The project ID to update."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional new project description."
}
},
"additionalProperties": false
}Update an existing webhook's configuration. Use when: - You want to change a webhook's URL, method, headers, or other settings. - You want to enable or disable a webhook (set `is_active`). - Only the fields you provide are updated; omitted fields remain unchanged.
| Argument | Type | Description |
|---|---|---|
| url | any | Updated target URL. |
| auth | any | Updated auth object. One of: - {"type": "bearer", "token": "..."} - {"type": "api_key", "header": "X-API-Key", "value": "..."} - {"type": "basic", "username": "...", "password": "..."} |
| name | any | Updated webhook name. |
| type | any | Updated webhook type: 'generic', 'slack', 'teams', or 'custom'. |
| method | any | Updated HTTP method: one of GET, POST, PUT, PATCH, DELETE. |
| params | any | Updated dict of query string parameters. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| headers | any | Updated dict of custom HTTP headers. |
| is_active | any | Set to false to disable the webhook (stop deliveries), true to re-enable it. |
Check the quality of a query before submitting a job ("Check Query Quality"). Use when: - You want quick feedback on whether a query is well-formed for CatchAll before spending credits on a job. - You want concrete suggestions to improve a vague or overly broad query. Do not use when: - You want to preview auto-generated validators/enrichments (use `initialize_query`). - You want to actually run a search (use `submit_query`).
| Argument | Type | Description |
|---|---|---|
| query* | string | The natural-language query to assess (required). |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "The natural-language query to assess (required)."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
}
},
"additionalProperties": false
}| webhook_ids | any | Optional list of webhook IDs to notify on each run completion (max 5). |
| reference_job_id* | string | ID of a completed job to use as the template |
{
"type": "object",
"required": [
"reference_job_id",
"schedule"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional max records per run (minimum 10). If omitted, API uses plan default."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"backfill": {
"type": "boolean",
"default": true,
"description": "Optional gap-fill toggle before first run (default true)."
},
"schedule": {
"type": "string",
"description": "Natural language schedule (e.g., 'every day at 9 AM EST', 'every Monday at 8 AM UTC', 'every 48 hours')"
},
"timezone": {
"type": "string",
"default": "",
"description": "Optional IANA timezone for the schedule (e.g. 'America/New_York').\nDefaults to UTC. A timezone written into the schedule text overrides this."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional project ID to associate this monitor with."
},
"webhook_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Optional list of webhook IDs to notify on each run completion (max 5)."
},
"reference_job_id": {
"type": "string",
"description": "ID of a completed job to use as the template"
}
},
"additionalProperties": false
}| headers |
| any |
| Optional dict of custom HTTP headers to include in deliveries. |
| project_id | string | Optional project ID to associate this webhook with immediately upon creation. A webhook can belong to several projects at once; use `add_project_resources` (resource_type 'webhook') to attach it to more. |
| delivery_mode | any | Optional delivery mode: 'full' (default, whole result set in one call) or 'per_record' (one call per article). |
| formatter_config | any | Optional custom payload transformation config dict. |
{
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Target URL that will receive webhook deliveries (required)."
},
"auth": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Optional auth object forwarded with each delivery. One of:\n- {\"type\": \"bearer\", \"token\": \"...\"}\n- {\"type\": \"api_key\", \"header\": \"X-API-Key\", \"value\": \"...\"}\n- {\"type\": \"basic\", \"username\": \"...\", \"password\": \"...\"}"
},
"name": {
"type": "string",
"description": "Human-readable name for the webhook (required)."
},
"type": {
"type": "string",
"default": "",
"description": "Optional webhook target type: 'generic' (default), 'slack', 'teams', or 'custom'.\n'slack'/'teams' send pre-formatted payloads; 'generic'/'custom' send the raw result payload."
},
"method": {
"type": "string",
"default": "POST",
"description": "HTTP method for delivery (default 'POST'). One of GET, POST, PUT, PATCH, DELETE."
},
"params": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Optional dict of query string parameters appended to the webhook URL."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"headers": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Optional dict of custom HTTP headers to include in deliveries."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional project ID to associate this webhook with immediately\nupon creation. A webhook can belong to several projects at once; use\n`add_project_resources` (resource_type 'webhook') to attach it to more."
},
"delivery_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional delivery mode: 'full' (default, whole result set in one call)\nor 'per_record' (one call per article)."
},
"formatter_config": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Optional custom payload transformation config dict."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Natural language query to preview (required). If you plan to attach a\ncompany dataset via `connected_dataset_ids` in the subsequent `submit_query`,\ndo NOT reference the company list here — entity filtering is applied\nautomatically by the dataset, not by the query text."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"context": {
"type": "string",
"default": "",
"description": "Optional guidance on what to prioritize so suggested validators,\nenrichments, and dates align with your target data points. If a company\ndataset will be attached in `submit_query`, note that entity-relevance\nvalidators (e.g. `company_is_primary_subject`) will be auto-generated —\ndo not ask for them here. Do not mention things like \"company list will be attached\".\nFocus on the event or topic only."
},
"fetch_all_watchlist_news": {
"type": "boolean",
"default": false,
"description": "When `True`, signals that the subsequent job will\nretrieve all news for connected watchlist entities without topic filtering.\nPass this when you intend to use `fetch_all_watchlist_news=True` in\n`submit_query` so the previewed validators/enrichments are generated\naccordingly. Requires `connected_dataset_ids` to be set in `submit_query`.\nDefault: `False`."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination (default: 1)."
},
"search": {
"type": "string",
"default": "",
"description": "Optional text filter on entity name."
},
"status": {
"type": "string",
"default": "",
"description": "Optional status filter: 'pending', 'enriching', 'ready', or 'failed'."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"sort_by": {
"type": "string",
"default": "",
"description": "Optional sort field: 'created_at', 'name', or 'status'."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page (default: 100)."
},
"dataset_id": {
"type": "string",
"description": "The dataset ID whose entities you want."
},
"sort_order": {
"type": "string",
"default": "",
"description": "Optional sort direction: 'asc' or 'desc'."
},
"entity_type": {
"type": "string",
"default": "",
"description": "Optional type filter: 'company' or 'person'."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| mode | string | Optional job processing mode: `"lite"` (faster, lower cost, less detail) or `"base"` (default, full extraction). If omitted, the API defaults to `"base"`. |
| limit | any | Optional processing cap (minimum 10); affects cost. Omit to retrieve everything up to your plan's maximum. |
| query* | string | Plain text search intent (required). |
| schema | string | Optional advanced custom JSON schema string that overrides the default extraction schema. Use `initialize_query` to discover a suitable schema. |
| api_key | string | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
| context | string | Optional guidance on what to prioritize (for example, target entities, event types, and specific data points you want captured in enrichments). If a company dataset will be attached, note that entity-relevance validators (e.g. `company_is_primary_subject`) will be auto-generated — do not ask for them here. Do not mention things like "company list will be attached". |
| end_date | string | Optional ISO 8601 UTC end of search window. |
| project_id | string | Optional project ID to associate this job with. |
| start_date | string | Optional ISO 8601 UTC start of search window. |
| validators | any | Optional custom boolean validators (`name`, `description`, `type`), as array or JSON-string array. When `connected_dataset_ids` is set, do NOT include entity-relevance validators such as `company_is_primary_subject` — the API generates those automatically. Only add validators that describe the event or topic (e.g. `is_acquisition_event`). |
| enrichments | any | Optional custom enrichments (`name`, `description`, `type`), as array or JSON-string array. |
| webhook_ids | any | Optional list of webhook IDs to notify when the job completes (max 5 per job). Use `list_webhooks` / `create_webhook` to get IDs. |
| ed_score_min | any | Optional minimum entity-domain relevance score (1-10). Only relevant when `connected_dataset_ids` is set. |
| ed_association_type | string | Optional filter on how strongly a watchlist entity must appear in each event. Only relevant when `connected_dataset_ids` is set. - `"event_associated"`: keep only events where the entity is a **direct actor** (default when connected_dataset_ids is set). - `"mention"`: keep all even where the entity is **merely referenced**. |
| connected_dataset_ids | any | Optional list of dataset IDs whose entities narrow the retrieval scope. When set: (1) entity filtering is applied automatically — do NOT mention the company list or watchlist in `query`; (2) entity-relevance validators such as `company_is_primary_subject` are generated automatically — do NOT add them to `validators`. `ed_score_min` defaults to 2 if not provided. |
| fetch_all_watchlist_news | boolean | When `True`, retrieves **all** news for connected watchlist entities without applying topic filtering from `query`. Requires `connected_dataset_ids` to be set. Default: `False`. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"mode": {
"type": "string",
"default": "",
"description": "Optional job processing mode: `\"lite\"` (faster, lower cost, less detail) or `\"base\"` (default,\nfull extraction). If omitted, the API defaults to `\"base\"`."
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional processing cap (minimum 10); affects cost. Omit to retrieve everything\nup to your plan's maximum."
},
"query": {
"type": "string",
"description": "Plain text search intent (required)."
},
"schema": {
"type": "string",
"default": "",
"description": "Optional advanced custom JSON schema string that overrides the default extraction\nschema. Use `initialize_query` to discover a suitable schema."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"context": {
"type": "string",
"default": "",
"description": "Optional guidance on what to prioritize (for example, target entities,\nevent types, and specific data points you want captured in enrichments).\nIf a company dataset will be attached, note that entity-relevance\nvalidators (e.g. `company_is_primary_subject`) will be auto-generated —\ndo not ask for them here. Do not mention things like \"company list will be attached\"."
},
"end_date": {
"type": "string",
"default": "",
"description": "Optional ISO 8601 UTC end of search window."
},
"project_id": {
"type": "string",
"default": "",
"description": "Optional project ID to associate this job with."
},
"start_date": {
"type": "string",
"default": "",
"description": "Optional ISO 8601 UTC start of search window."
},
"validators": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"description",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"const": "boolean"
},
"description": {
"type": "string"
}
},
"description": "Schema for a custom validator."
}
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional custom boolean validators (`name`, `description`, `type`), as array or JSON-string array.\nWhen `connected_dataset_ids` is set, do NOT include entity-relevance validators such as\n`company_is_primary_subject` — the API generates those automatically. Only add validators\nthat describe the event or topic (e.g. `is_acquisition_event`)."
},
"enrichments": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"description",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"enum": [
"text",
"number",
"date",
"option",
"url",
"company"
],
"type": "string"
},
"description": {
"type": "string"
}
},
"description": "Schema for a custom enrichment."
}
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional custom enrichments (`name`, `description`, `type`), as array or JSON-string array."
},
"webhook_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Optional list of webhook IDs to notify when the job completes (max 5 per job).\nUse `list_webhooks` / `create_webhook` to get IDs."
},
"ed_score_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional minimum entity-domain relevance score (1-10). Only relevant when\n`connected_dataset_ids` is set."
},
"ed_association_type": {
"type": "string",
"default": "",
"description": "Optional filter on how strongly a watchlist entity must appear in\neach event. Only relevant when `connected_dataset_ids` is set.\n- `\"event_associated\"`: keep only events where the entity is a **direct actor** (default when connected_dataset_ids is set).\n- `\"mention\"`: keep all even where the entity is **merely referenced**."
},
"connected_dataset_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Optional list of dataset IDs whose entities narrow the retrieval\nscope. When set: (1) entity filtering is applied automatically — do NOT mention the\ncompany list or watchlist in `query`; (2) entity-relevance validators such as\n`company_is_primary_subject` are generated automatically — do NOT add them to\n`validators`. `ed_score_min` defaults to 2 if not provided."
},
"fetch_all_watchlist_news": {
"type": "boolean",
"default": false,
"description": "When `True`, retrieves **all** news for connected watchlist\nentities without applying topic filtering from `query`. Requires\n`connected_dataset_ids` to be set. Default: `False`."
}
},
"additionalProperties": false
}| webhook_id* | string | The webhook ID to update. |
| delivery_mode | any | Updated delivery mode: 'full' or 'per_record'. |
| formatter_config | any | Updated formatter configuration dict. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Updated target URL."
},
"auth": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Updated auth object. One of:\n- {\"type\": \"bearer\", \"token\": \"...\"}\n- {\"type\": \"api_key\", \"header\": \"X-API-Key\", \"value\": \"...\"}\n- {\"type\": \"basic\", \"username\": \"...\", \"password\": \"...\"}"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Updated webhook name."
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Updated webhook type: 'generic', 'slack', 'teams', or 'custom'."
},
"method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Updated HTTP method: one of GET, POST, PUT, PATCH, DELETE."
},
"params": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Updated dict of query string parameters."
},
"api_key": {
"type": "string",
"default": "",
"description": "CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var."
},
"headers": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Updated dict of custom HTTP headers."
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Set to false to disable the webhook (stop deliveries), true to re-enable it."
},
"webhook_id": {
"type": "string",
"description": "The webhook ID to update."
},
"delivery_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Updated delivery mode: 'full' or 'per_record'."
},
"formatter_config": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Updated formatter configuration dict."
}
},
"additionalProperties": false
}