Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert’s definition and its matched results are stored as part of the alerts feature.
Prefer the terminal? This endpoint is also a command in the Particle CLI: pick Particle CLI in the request example’s language menu. Install the Particle CLI.
Replacement watch target for ENTITY_MENTION and PODCAST_SPEAKER alerts — exactly one entity. Alerts created before the one-entity rule keep their multi-entity watch list until this field is next written. Rejected on KEYWORD_MENTION alerts.
Replacement phrase for KEYWORD_MENTION alerts. Rejected on other kinds, and when too broad (see create). Matches already recorded keep the phrase they fired on.
How often matches are delivered: REALTIME (a separate email per match), DAILY (one bundled email each morning at 13:00 UTC), or WEEKLY (one bundled email Monday 13:00 UTC). Defaults to REALTIME.
What signal the alert watches for. ENTITY_MENTION fires whenever a watched entity is mentioned in a podcast episode. PODCAST_SPEAKER fires only when a watched entity is themself an identified speaker on the episode, in one of the alert's speaker roles. By default those are GUEST, PANELIST, CORRESPONDENT, AUDIENCE (which absorbs callers, listeners, and other audience-side roles after server-side canonicalization), and SOUNDBITE_SPEAKER (an excerpted clip of them played on the episode); HOST is excluded by default because hosting the show isn't an appearance. speaker_roles replaces the default set. KEYWORD_MENTION fires whenever the alert's keyword is spoken in a podcast episode, for names the entity resolvers don't know; it watches a keyword instead of entities. Kind is fixed at creation.
Persistent narrowing applied to every surface the alert produces: the matches list, the realtime email, and the daily/weekly digest. Absent = no filters (every detected match is surfaced).
KEYWORD_MENTION alerts only: the phrase the alert watches (see the create request's keyword for how it matches). Absent on entity alerts.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Particle API","colors":{"primary":"#0369a1","light":"#0369a1","dark":"#0369a1"},"logo":{"light":"https://mintcdn.com/particle-c40da4e2/tk5mmLn_iJIxNhbI/logo/light.svg?fit=max\u0026auto=format\u0026n=tk5mmLn_iJIxNhbI\u0026q=85\u0026s=a659784e597694177292b154cc1808f4","dark":"https://mintcdn.com/particle-c40da4e2/i9nEIhB1W5dtahvW/logo/dark.svg?fit=max\u0026auto=format\u0026n=i9nEIhB1W5dtahvW\u0026q=85\u0026s=53bcea9f9026f0bf0083447adbc1d006"},"favicon":"https://mintcdn.com/particle-c40da4e2/tk5mmLn_iJIxNhbI/favicon.png?fit=max\u0026auto=format\u0026n=tk5mmLn_iJIxNhbI\u0026q=85\u0026s=f4b42e6e90da406c6f1e6b4b8615113c","api":{"examples":{"languages":["curl","bash"],"autogenerate":false}},"appearance":{"default":"dark","strict":true},"background":{"color":{"dark":"#0C0D0D"}},"navbar":{"links":[{"href":"https://status.particle.pro","label":"Status"},{"href":"mailto:api@particle.pro","label":"Support"}],"primary":{"type":"button","label":"API Dashboard","href":"https://platform.particle.pro"}},"footer":{"socials":{"x":"https://x.com/particle_news","github":"https://github.com/particlepro","linkedin":"https://linkedin.com/company/particle-news"}},"fonts":{"family":"Geist","weight":400},"styling":{"codeblocks":"dark","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor","vscode",{"title":"Connect Particle Pro MCP","description":"Install the Particle Pro MCP server in your AI client","icon":"plug","href":"/mcp/quickstart"},{"title":"Set up an AI agent","description":"Hand your agent agents.md and it connects itself","icon":"robot","href":"https://api.particle.pro/agents.md"}],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"particle-c40da4e2","hasAudioNarration":false,"actualSubdomain":"particle-c40da4e2","customDomains":["docs.particle.pro"],"gitSource":{"type":"github","owner":"mongoosehq","repo":"api","deployBranch":"main","contentDirectory":"server/particlepro/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae50444bbaf7eb08d127dd1","collectionId":"a4bcb438-95e1-4f42-a5b0-5c37fe24cb33","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae50444bbaf7eb08d127dd1"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae50444bbaf7eb08d127dd1","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API reference","count":169},{"language":"default","tag":"Guides","count":126},{"language":"default","tag":"Errors","count":70},{"language":"default","tag":"MCP server","count":58},{"language":"default","tag":"Podcasts","count":58},{"language":"default","tag":"Tools","count":51},{"language":"default","tag":"Billing \u0026 subscription","count":30},{"language":"default","tag":"Alerts","count":27},{"language":"default","tag":"People","count":21},{"language":"default","tag":"Companies","count":17}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"api@particle.news","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.dark #mdx-content,html.dark #page-title,html.dark h1,html.dark h2,html.dark h3{color:rgba(255,255,255,.9)}html.dark #sidebar a,html.dark .accordion,html.dark [class*=tooltip]{color:rgba(255,255,255,.6)}html.dark .method-pill,html.dark [class*=admonition] p,html.dark [class*=breadcrumb],html.dark [class*=callout] p,html.dark [class*=eyebrow]{color:rgba(255,255,255,.5)}html.dark footer,html.dark footer *{color:rgba(255,255,255,.2)}html.dark .accordion,html.dark .card,html.dark .code-block,html.dark .steps,html.dark .tabs{border-color:rgba(255,255,255,.15)}html.dark .card{border-radius:.75rem}html.dark .code-block{border-radius:.5rem}html.dark .code-block pre{background-color:#1a1b1b}.dark\\:border-white\\/\\[0\\.07\\]:is(.dark *){border-color:rgba(255,255,255,.15)}html.dark #sidebar{background-color:#0c0d0d;border-color:rgba(255,255,255,.15)}html.dark,html.dark *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}html.dark ::-webkit-scrollbar,html.dark::-webkit-scrollbar{width:6px;height:6px}html.dark ::-webkit-scrollbar-track,html.dark::-webkit-scrollbar-track{background:0 0}html.dark ::-webkit-scrollbar-thumb,html.dark::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}html.dark ::-webkit-scrollbar-thumb:hover,html.dark::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}"}],"page":{"pagePath":"api-reference/alerts/update-an-alert","slug":"/api-reference/alerts/update-an-alert","pageMetadata":{"title":"Update an alert","description":"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert's definition and its matched results are stored as part of the alerts feature.","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/alerts/{id}","href":"/api-reference/alerts/update-an-alert","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert’s definition and its matched results are stored as part of the alerts feature.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,strong:`strong`,..._provideComponents(),...props.components},{Tip}=_components;if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(Tip,{children:[`Prefer the terminal? This endpoint is also a command in the Particle CLI: pick `,_jsx(_components.strong,{children:`Particle CLI`}),` in the request example’s language menu. `,_jsx(_components.a,{href:`https://cli.particle.pro`,children:`Install the Particle CLI`}),`.`]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Update an alert","description":"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert's definition and its matched results are stored as part of the alerts feature.","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/alerts/{id}","href":"/api-reference/alerts/update-an-alert","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert's definition and its matched results are stored as part of the alerts feature.","operationId":"update-alert","parameters":["8701d8e9-9955-4098-b961-22992c5a9f6e"],"requestBody":"d713122d-3414-49d9-a160-e42806c99022","responses":{"200":"0edcc7fb-0a48-4916-af64-519cab005669","default":"8f501dad-c895-4d91-8d51-e1fb8e4d94f7"},"summary":"Update an alert","tags":["Alerts","tier:standard"],"x-codeSamples":[{"label":"cURL","lang":"curl","source":"curl -X PATCH \\\n -H \"X-API-Key: $PARTICLE_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"delivery_cadence\": \"DAILY\"\n}' \\\n \"https://api.particle.pro/v1/alerts/{id}\""},{"label":"Particle CLI","lang":"bash","source":"# Install: https://cli.particle.pro\nparticle alert update \u003cid> --cadence DAILY"}],"x-cost-weight":1,"x-entitlement-priced":true,"x-mint":{"content":"\u003cTip>Prefer the terminal? This endpoint is also a command in the Particle CLI: pick **Particle CLI** in the request example's language menu. [Install the Particle CLI](https://cli.particle.pro).\u003c/Tip>"},"x-pagination":"none","x-tier":"standard","method":"patch","type":"path","servers":["bc7c60ad-8b90-43eb-b968-32aa4dec56b4"],"security":["a5428769-866c-42c7-a004-c213d9b7ee43","0ced4d8f-1c3f-4d2a-8de5-c63f277c6d53"],"path":"/v1/alerts/{id}","baseUrlOptions":["https://api.particle.pro"],"title":"Update an alert","codeSamples":[{"label":"cURL","lang":"curl","source":"curl -X PATCH \\\n -H \"X-API-Key: $PARTICLE_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"delivery_cadence\": \"DAILY\"\n}' \\\n \"https://api.particle.pro/v1/alerts/{id}\""},{"label":"Particle CLI","lang":"bash","source":"# Install: https://cli.particle.pro\nparticle alert update \u003cid> --cadence DAILY"}],"requestExampleLanguages":["bash","bash"],"requiredOnlyExamples":false,"disableCodeSampleGeneration":true,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"8701d8e9-9955-4098-b961-22992c5a9f6e":{"description":"Alert ID","in":"path","name":"id","required":true,"schema":{"description":"Alert ID","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"example":{"delivery_cadence":"DAILY"},"schema":{"additionalProperties":false,"properties":{"delivery_cadence":{"enum":["REALTIME","DAILY","WEEKLY"],"type":"string","uniqueKey":"delivery_cadence","typeLabel":"enum\u003cstring>"},"description":{"maxLength":2000,"type":"string","uniqueKey":"description","typeLabel":"string"},"entities":{"description":"Replacement watch target for ENTITY_MENTION and PODCAST_SPEAKER alerts — exactly one entity. Alerts created before the one-entity rule keep their multi-entity watch list until this field is next written. Rejected on KEYWORD_MENTION alerts.","items":{"additionalProperties":false,"properties":{"entity_id":{"type":"string","isRequired":true,"uniqueKey":"entities.items.[INDEX].entity_id","typeLabel":"string"},"entity_type":{"enum":["PERSON","COMPANY","KNOWLEDGE_GRAPH_ENTITY"],"type":"string","isRequired":true,"uniqueKey":"entities.items.[INDEX].entity_type","typeLabel":"enum\u003cstring>"},"image_url":{"description":"Image URL for the watched entity (headshot for PERSON, logo for COMPANY, image for KGE). Omitted from the response when no image is available.","type":"string","uniqueKey":"entities.items.[INDEX].image_url","typeLabel":"string"},"name":{"description":"Display name of the watched entity. Omitted from the response when the underlying record cannot be resolved (e.g. deleted).","type":"string","uniqueKey":"entities.items.[INDEX].name","typeLabel":"string"}},"required":["entity_type","entity_id"],"type":"object","uniqueKey":"entities.items.[INDEX]","typeLabel":"object"},"maxItems":1,"minItems":1,"type":"array","uniqueKey":"entities","typeLabel":"object[]"},"filters":{"additionalProperties":false,"properties":{"languages":{"oneOf":[{"description":"Primary language tags the source episode must be in. Accepts a 2-3 letter primary tag (e.g. 'en', 'de', 'sma') and tolerates an optional 2-4 char region or script subtag for readability (e.g. 'pt-BR', 'zh-Hant'); matching is on the PRIMARY tag only, so 'pt-BR' surfaces every Portuguese episode regardless of region and 'pt-BR' + 'pt-PT' collapse to one. Empty or missing means all languages are surfaced. Codes are compared case-insensitively; the API echoes back the canonical primary-tag form.","items":{"type":"string","uniqueKey":"filters.languages.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"filters.languages.oneOf.0","typeLabel":"string[]"},{"description":"Primary language tags the source episode must be in. Accepts a 2-3 letter primary tag (e.g. 'en', 'de', 'sma') and tolerates an optional 2-4 char region or script subtag for readability (e.g. 'pt-BR', 'zh-Hant'); matching is on the PRIMARY tag only, so 'pt-BR' surfaces every Portuguese episode regardless of region and 'pt-BR' + 'pt-PT' collapse to one. Empty or missing means all languages are surfaced. Codes are compared case-insensitively; the API echoes back the canonical primary-tag form.","items":{"type":"string"},"type":"null","uniqueKey":"filters.languages.oneOf.1","typeLabel":"null"}],"uniqueKey":"filters.languages","typeLabel":"string[] | null"},"relevance":{"description":"EVERYTHING (the default) returns both on-target and incidental matches — the watched entity is correctly identified in both, only the depth of discussion differs. RELEVANT narrows to on-target only: matches where the watched entity is the subject being discussed, dropping passing mentions. Wrong-entity matches (knowledge-graph name collisions, e.g. the podcast 'Truckie' for an alert on the town 'Truckee') are globally suppressed before any filter runs.","enum":["EVERYTHING","RELEVANT"],"type":"string","uniqueKey":"filters.relevance","typeLabel":"enum\u003cstring>"},"source_popularity":{"description":"ANY (the default) keeps matches from every source. POPULAR keeps only matches whose source podcast scores in the top 5% by chart-popularity percentile (Podcast.Popularity >= 0.95; cume_dist over current chart entries, multi-region weighted). Podcasts that aren't currently charting drop out.","enum":["ANY","POPULAR"],"type":"string","uniqueKey":"filters.source_popularity","typeLabel":"enum\u003cstring>"},"speaker_roles":{"oneOf":[{"description":"PODCAST_SPEAKER alerts only. REPLACES (not intersects with) the default appearance set the alert matches against. Default when omitted is GUEST, PANELIST, CORRESPONDENT, AUDIENCE, SOUNDBITE_SPEAKER — HOST is intentionally excluded because hosting the show isn't an appearance. Setting ['HOST'] flips that — only HOST appearances match. Setting ['GUEST'] alone narrows further. Sending this on an ENTITY_MENTION alert returns 422 — the wire layer can't tell at validation time, so the handler boundary rejects it once the parent kind is known. Input casing is not significant — 'guest' and 'GUEST' are the same value — and the filter is persisted and echoed back in canonical uppercase form. Raw STT/LLM labels like CALLER or REPORTER are not accepted because podcast_episode_speakers.role canonicalizes to the buckets above at write time.","items":{"enum":["HOST","GUEST","PANELIST","CORRESPONDENT","AUDIENCE","SOUNDBITE_SPEAKER"],"type":"string","uniqueKey":"filters.speaker_roles.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","uniqueKey":"filters.speaker_roles.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"description":"PODCAST_SPEAKER alerts only. REPLACES (not intersects with) the default appearance set the alert matches against. Default when omitted is GUEST, PANELIST, CORRESPONDENT, AUDIENCE, SOUNDBITE_SPEAKER — HOST is intentionally excluded because hosting the show isn't an appearance. Setting ['HOST'] flips that — only HOST appearances match. Setting ['GUEST'] alone narrows further. Sending this on an ENTITY_MENTION alert returns 422 — the wire layer can't tell at validation time, so the handler boundary rejects it once the parent kind is known. Input casing is not significant — 'guest' and 'GUEST' are the same value — and the filter is persisted and echoed back in canonical uppercase form. Raw STT/LLM labels like CALLER or REPORTER are not accepted because podcast_episode_speakers.role canonicalizes to the buckets above at write time.","items":{"enum":["HOST","GUEST","PANELIST","CORRESPONDENT","AUDIENCE","SOUNDBITE_SPEAKER"],"type":"string"},"type":"null","uniqueKey":"filters.speaker_roles.oneOf.1","typeLabel":"null"}],"uniqueKey":"filters.speaker_roles","typeLabel":"enum\u003cstring>[] | null"},"speaker_statement_characteristics":{"description":"ENTITY_MENTION alerts only. Keeps a match only when one of its mention lines was said the way you ask: keys are axes (sentiment, certainty, specificity, temporal_orientation), values comma-separated labels, e.g. {\"sentiment\": \"negative\"} for criticism of the watched entity or {\"specificity\": \"specific\", \"temporal_orientation\": \"future\"} for concrete predictions about it. Labels on one axis OR together, axes AND. Mention lines the filter does not accept are not marked is_mention, and mention_count counts only the accepted ones. A mention line that carries no labels (outside topic and interview segments, or too short to read) never matches. Sending this on a PODCAST_SPEAKER or KEYWORD_MENTION alert returns 422. See https://docs.particle.pro/podcasts/speaker-statement-characteristics.","properties":{"certainty":{"description":"The certainty labels to keep: hedged, neutral, confident. Comma-separate labels to accept any of them (hedged,confident); repeating the key accepts any of its values too.","examples":["confident","hedged,confident"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.certainty","typeLabel":"string"},"sentiment":{"description":"The sentiment labels to keep: negative, neutral, positive. Comma-separate labels to accept any of them (negative,positive); repeating the key accepts any of its values too.","examples":["positive","negative,positive"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.sentiment","typeLabel":"string"},"specificity":{"description":"The specificity labels to keep: vague, neutral, specific. Comma-separate labels to accept any of them (vague,specific); repeating the key accepts any of its values too.","examples":["specific","vague,specific"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.specificity","typeLabel":"string"},"temporal_orientation":{"description":"The temporal_orientation labels to keep: past, present, future. Comma-separate labels to accept any of them (past,future); repeating the key accepts any of its values too.","examples":["future","past,future"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.temporal_orientation","typeLabel":"string"}},"type":"object","uniqueKey":"filters.speaker_statement_characteristics","typeLabel":"object"}},"type":"object","description":"Replace the alert's filter set wholesale. Omit to leave the existing filters unchanged; send an empty object {} to clear all filters.","uniqueKey":"filters","typeLabel":"object"},"is_active":{"description":"Toggle whether the alert produces matches. False pauses; true resumes.","type":"boolean","uniqueKey":"is_active","typeLabel":"boolean"},"keyword":{"description":"Replacement phrase for KEYWORD_MENTION alerts. Rejected on other kinds, and when too broad (see create). Matches already recorded keep the phrase they fired on.","maxLength":100,"type":"string","uniqueKey":"keyword","typeLabel":"string"},"notifications":{"items":{"additionalProperties":false,"properties":{"type":{"description":"Delivery channel type. EMAIL writes to email; SLACK posts a message to a channel in a connected Slack workspace; WEBHOOK POSTs a signed JSON payload to a configured webhook connection.","enum":["EMAIL","SLACK","WEBHOOK"],"type":"string","isRequired":true,"uniqueKey":"notifications.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"created_by":{"additionalProperties":false,"properties":{"id":{"description":"Creator's user ID","type":"string","isRequired":true,"uniqueKey":"notifications.items.[INDEX].created_by.id","typeLabel":"string"},"name":{"description":"Creator's display name","type":"string","isRequired":true,"uniqueKey":"notifications.items.[INDEX].created_by.name","typeLabel":"string"}},"required":["id","name"],"type":"object","description":"User who added this destination. Server-populated.","uniqueKey":"notifications.items.[INDEX].created_by","typeLabel":"object"},"email":{"description":"Required when type=EMAIL.","format":"email","type":"string","uniqueKey":"notifications.items.[INDEX].email","typeLabel":"string\u003cemail>"},"id":{"type":"string","uniqueKey":"notifications.items.[INDEX].id","typeLabel":"string"},"slack_channel_id":{"description":"Required when type=SLACK. Slack vendor channel id (e.g. C01234XYZ for public channels, G... for private channels). Must be a channel returned by GET /v1/projects/{projectId}/slack/connections/{id}/channels.","type":"string","uniqueKey":"notifications.items.[INDEX].slack_channel_id","typeLabel":"string"},"slack_channel_name":{"description":"Optional. Display label for the destination channel. The server overwrites this from the cached slack_channels row on save, so clients do not need to supply it.","type":"string","uniqueKey":"notifications.items.[INDEX].slack_channel_name","typeLabel":"string"},"slack_connection_id":{"description":"Required when type=SLACK. The Slack workspace connection that owns the channel. Any active connection belonging to the alert's project is accepted, whichever surface installed it, so an alert created in one app can be managed from the other.","type":"string","uniqueKey":"notifications.items.[INDEX].slack_connection_id","typeLabel":"string"},"webhook_connection_id":{"description":"Required when type=WEBHOOK. The webhook connection that receives the signed payload.","type":"string","uniqueKey":"notifications.items.[INDEX].webhook_connection_id","typeLabel":"string"}},"required":["type"],"type":"object","uniqueKey":"notifications.items.[INDEX]","typeLabel":"object"},"maxItems":20,"minItems":1,"type":"array","uniqueKey":"notifications","typeLabel":"object[]"},"title":{"maxLength":200,"minLength":1,"type":"string","uniqueKey":"title","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"delivery_cadence":"DAILY"}}},"exampleType":"examples"}},"required":true,"exampleType":"examples"},"responses":{"0edcc7fb-0a48-4916-af64-519cab005669":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"created_at":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"delivery_cadence":{"description":"How often matches are delivered: REALTIME (a separate email per match), DAILY (one bundled email each morning at 13:00 UTC), or WEEKLY (one bundled email Monday 13:00 UTC). Defaults to REALTIME.","type":"string","isRequired":true,"uniqueKey":"delivery_cadence","typeLabel":"string"},"entities":{"oneOf":[{"items":{"additionalProperties":false,"properties":{"entity_id":{"type":"string","isRequired":true,"uniqueKey":"entities.oneOf.0.items.[INDEX].entity_id","typeLabel":"string"},"entity_type":{"enum":["PERSON","COMPANY","KNOWLEDGE_GRAPH_ENTITY"],"type":"string","isRequired":true,"uniqueKey":"entities.oneOf.0.items.[INDEX].entity_type","typeLabel":"enum\u003cstring>"},"image_url":{"description":"Image URL for the watched entity (headshot for PERSON, logo for COMPANY, image for KGE). Omitted from the response when no image is available.","type":"string","uniqueKey":"entities.oneOf.0.items.[INDEX].image_url","typeLabel":"string"},"name":{"description":"Display name of the watched entity. Omitted from the response when the underlying record cannot be resolved (e.g. deleted).","type":"string","uniqueKey":"entities.oneOf.0.items.[INDEX].name","typeLabel":"string"}},"required":["entity_type","entity_id"],"type":"object","uniqueKey":"entities.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"entities.oneOf.0","typeLabel":"object[]"},{"items":{"additionalProperties":false,"properties":{"entity_id":{"type":"string"},"entity_type":{"enum":["PERSON","COMPANY","KNOWLEDGE_GRAPH_ENTITY"],"type":"string"},"image_url":{"description":"Image URL for the watched entity (headshot for PERSON, logo for COMPANY, image for KGE). Omitted from the response when no image is available.","type":"string"},"name":{"description":"Display name of the watched entity. Omitted from the response when the underlying record cannot be resolved (e.g. deleted).","type":"string"}},"required":["entity_type","entity_id"],"type":"object"},"type":"null","isRequired":true,"uniqueKey":"entities.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entities","typeLabel":"object[] | null"},"id":{"type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"is_active":{"description":"Whether the alert produces matches. Disabled alerts retain history but accumulate no new matches until re-enabled.","type":"boolean","isRequired":true,"uniqueKey":"is_active","typeLabel":"boolean"},"kind":{"description":"What signal the alert watches for. ENTITY_MENTION fires whenever a watched entity is mentioned in a podcast episode. PODCAST_SPEAKER fires only when a watched entity is themself an identified speaker on the episode, in one of the alert's speaker roles. By default those are GUEST, PANELIST, CORRESPONDENT, AUDIENCE (which absorbs callers, listeners, and other audience-side roles after server-side canonicalization), and SOUNDBITE_SPEAKER (an excerpted clip of them played on the episode); HOST is excluded by default because hosting the show isn't an appearance. speaker_roles replaces the default set. KEYWORD_MENTION fires whenever the alert's keyword is spoken in a podcast episode, for names the entity resolvers don't know; it watches a keyword instead of entities. Kind is fixed at creation.","enum":["ENTITY_MENTION","PODCAST_SPEAKER","KEYWORD_MENTION"],"type":"string","isRequired":true,"uniqueKey":"kind","typeLabel":"enum\u003cstring>"},"notifications":{"oneOf":[{"items":{"additionalProperties":false,"properties":{"type":{"description":"Delivery channel type. EMAIL writes to email; SLACK posts a message to a channel in a connected Slack workspace; WEBHOOK POSTs a signed JSON payload to a configured webhook connection.","enum":["EMAIL","SLACK","WEBHOOK"],"type":"string","isRequired":true,"uniqueKey":"notifications.oneOf.0.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"created_by":{"additionalProperties":false,"properties":{"id":{"description":"Creator's user ID","type":"string","isRequired":true,"uniqueKey":"notifications.oneOf.0.items.[INDEX].created_by.id","typeLabel":"string"},"name":{"description":"Creator's display name","type":"string","isRequired":true,"uniqueKey":"notifications.oneOf.0.items.[INDEX].created_by.name","typeLabel":"string"}},"required":["id","name"],"type":"object","description":"User who added this destination. Server-populated.","uniqueKey":"notifications.oneOf.0.items.[INDEX].created_by","typeLabel":"object"},"email":{"description":"Required when type=EMAIL.","format":"email","type":"string","uniqueKey":"notifications.oneOf.0.items.[INDEX].email","typeLabel":"string\u003cemail>"},"id":{"type":"string","uniqueKey":"notifications.oneOf.0.items.[INDEX].id","typeLabel":"string"},"slack_channel_id":{"description":"Required when type=SLACK. Slack vendor channel id (e.g. C01234XYZ for public channels, G... for private channels). Must be a channel returned by GET /v1/projects/{projectId}/slack/connections/{id}/channels.","type":"string","uniqueKey":"notifications.oneOf.0.items.[INDEX].slack_channel_id","typeLabel":"string"},"slack_channel_name":{"description":"Optional. Display label for the destination channel. The server overwrites this from the cached slack_channels row on save, so clients do not need to supply it.","type":"string","uniqueKey":"notifications.oneOf.0.items.[INDEX].slack_channel_name","typeLabel":"string"},"slack_connection_id":{"description":"Required when type=SLACK. The Slack workspace connection that owns the channel. Any active connection belonging to the alert's project is accepted, whichever surface installed it, so an alert created in one app can be managed from the other.","type":"string","uniqueKey":"notifications.oneOf.0.items.[INDEX].slack_connection_id","typeLabel":"string"},"webhook_connection_id":{"description":"Required when type=WEBHOOK. The webhook connection that receives the signed payload.","type":"string","uniqueKey":"notifications.oneOf.0.items.[INDEX].webhook_connection_id","typeLabel":"string"}},"required":["type"],"type":"object","uniqueKey":"notifications.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"notifications.oneOf.0","typeLabel":"object[]"},{"items":{"additionalProperties":false,"properties":{"created_by":{"additionalProperties":false,"properties":{"id":{"description":"Creator's user ID","type":"string"},"name":{"description":"Creator's display name","type":"string"}},"required":["id","name"],"type":"object","description":"User who added this destination. Server-populated."},"email":{"description":"Required when type=EMAIL.","format":"email","type":"string"},"id":{"type":"string"},"slack_channel_id":{"description":"Required when type=SLACK. Slack vendor channel id (e.g. C01234XYZ for public channels, G... for private channels). Must be a channel returned by GET /v1/projects/{projectId}/slack/connections/{id}/channels.","type":"string"},"slack_channel_name":{"description":"Optional. Display label for the destination channel. The server overwrites this from the cached slack_channels row on save, so clients do not need to supply it.","type":"string"},"slack_connection_id":{"description":"Required when type=SLACK. The Slack workspace connection that owns the channel. Any active connection belonging to the alert's project is accepted, whichever surface installed it, so an alert created in one app can be managed from the other.","type":"string"},"type":{"description":"Delivery channel type. EMAIL writes to email; SLACK posts a message to a channel in a connected Slack workspace; WEBHOOK POSTs a signed JSON payload to a configured webhook connection.","enum":["EMAIL","SLACK","WEBHOOK"],"type":"string"},"webhook_connection_id":{"description":"Required when type=WEBHOOK. The webhook connection that receives the signed payload.","type":"string"}},"required":["type"],"type":"object"},"type":"null","isRequired":true,"uniqueKey":"notifications.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"notifications","typeLabel":"object[] | null"},"project_id":{"type":"string","isRequired":true,"uniqueKey":"project_id","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"updated_at":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"created_by":{"additionalProperties":false,"properties":{"id":{"description":"Creator's user ID","type":"string","isRequired":true,"uniqueKey":"created_by.id","typeLabel":"string"},"name":{"description":"Creator's display name","type":"string","isRequired":true,"uniqueKey":"created_by.name","typeLabel":"string"}},"required":["id","name"],"type":"object","description":"User who created the alert. Null when the alert was created via an API key.","uniqueKey":"created_by","typeLabel":"object"},"description":{"type":"string","uniqueKey":"description","typeLabel":"string"},"filters":{"additionalProperties":false,"properties":{"languages":{"oneOf":[{"description":"Primary language tags the source episode must be in. Accepts a 2-3 letter primary tag (e.g. 'en', 'de', 'sma') and tolerates an optional 2-4 char region or script subtag for readability (e.g. 'pt-BR', 'zh-Hant'); matching is on the PRIMARY tag only, so 'pt-BR' surfaces every Portuguese episode regardless of region and 'pt-BR' + 'pt-PT' collapse to one. Empty or missing means all languages are surfaced. Codes are compared case-insensitively; the API echoes back the canonical primary-tag form.","items":{"type":"string","uniqueKey":"filters.languages.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"filters.languages.oneOf.0","typeLabel":"string[]"},{"description":"Primary language tags the source episode must be in. Accepts a 2-3 letter primary tag (e.g. 'en', 'de', 'sma') and tolerates an optional 2-4 char region or script subtag for readability (e.g. 'pt-BR', 'zh-Hant'); matching is on the PRIMARY tag only, so 'pt-BR' surfaces every Portuguese episode regardless of region and 'pt-BR' + 'pt-PT' collapse to one. Empty or missing means all languages are surfaced. Codes are compared case-insensitively; the API echoes back the canonical primary-tag form.","items":{"type":"string"},"type":"null","uniqueKey":"filters.languages.oneOf.1","typeLabel":"null"}],"uniqueKey":"filters.languages","typeLabel":"string[] | null"},"relevance":{"description":"EVERYTHING (the default) returns both on-target and incidental matches — the watched entity is correctly identified in both, only the depth of discussion differs. RELEVANT narrows to on-target only: matches where the watched entity is the subject being discussed, dropping passing mentions. Wrong-entity matches (knowledge-graph name collisions, e.g. the podcast 'Truckie' for an alert on the town 'Truckee') are globally suppressed before any filter runs.","enum":["EVERYTHING","RELEVANT"],"type":"string","uniqueKey":"filters.relevance","typeLabel":"enum\u003cstring>"},"source_popularity":{"description":"ANY (the default) keeps matches from every source. POPULAR keeps only matches whose source podcast scores in the top 5% by chart-popularity percentile (Podcast.Popularity >= 0.95; cume_dist over current chart entries, multi-region weighted). Podcasts that aren't currently charting drop out.","enum":["ANY","POPULAR"],"type":"string","uniqueKey":"filters.source_popularity","typeLabel":"enum\u003cstring>"},"speaker_roles":{"oneOf":[{"description":"PODCAST_SPEAKER alerts only. REPLACES (not intersects with) the default appearance set the alert matches against. Default when omitted is GUEST, PANELIST, CORRESPONDENT, AUDIENCE, SOUNDBITE_SPEAKER — HOST is intentionally excluded because hosting the show isn't an appearance. Setting ['HOST'] flips that — only HOST appearances match. Setting ['GUEST'] alone narrows further. Sending this on an ENTITY_MENTION alert returns 422 — the wire layer can't tell at validation time, so the handler boundary rejects it once the parent kind is known. Input casing is not significant — 'guest' and 'GUEST' are the same value — and the filter is persisted and echoed back in canonical uppercase form. Raw STT/LLM labels like CALLER or REPORTER are not accepted because podcast_episode_speakers.role canonicalizes to the buckets above at write time.","items":{"enum":["HOST","GUEST","PANELIST","CORRESPONDENT","AUDIENCE","SOUNDBITE_SPEAKER"],"type":"string","uniqueKey":"filters.speaker_roles.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","uniqueKey":"filters.speaker_roles.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"description":"PODCAST_SPEAKER alerts only. REPLACES (not intersects with) the default appearance set the alert matches against. Default when omitted is GUEST, PANELIST, CORRESPONDENT, AUDIENCE, SOUNDBITE_SPEAKER — HOST is intentionally excluded because hosting the show isn't an appearance. Setting ['HOST'] flips that — only HOST appearances match. Setting ['GUEST'] alone narrows further. Sending this on an ENTITY_MENTION alert returns 422 — the wire layer can't tell at validation time, so the handler boundary rejects it once the parent kind is known. Input casing is not significant — 'guest' and 'GUEST' are the same value — and the filter is persisted and echoed back in canonical uppercase form. Raw STT/LLM labels like CALLER or REPORTER are not accepted because podcast_episode_speakers.role canonicalizes to the buckets above at write time.","items":{"enum":["HOST","GUEST","PANELIST","CORRESPONDENT","AUDIENCE","SOUNDBITE_SPEAKER"],"type":"string"},"type":"null","uniqueKey":"filters.speaker_roles.oneOf.1","typeLabel":"null"}],"uniqueKey":"filters.speaker_roles","typeLabel":"enum\u003cstring>[] | null"},"speaker_statement_characteristics":{"description":"ENTITY_MENTION alerts only. Keeps a match only when one of its mention lines was said the way you ask: keys are axes (sentiment, certainty, specificity, temporal_orientation), values comma-separated labels, e.g. {\"sentiment\": \"negative\"} for criticism of the watched entity or {\"specificity\": \"specific\", \"temporal_orientation\": \"future\"} for concrete predictions about it. Labels on one axis OR together, axes AND. Mention lines the filter does not accept are not marked is_mention, and mention_count counts only the accepted ones. A mention line that carries no labels (outside topic and interview segments, or too short to read) never matches. Sending this on a PODCAST_SPEAKER or KEYWORD_MENTION alert returns 422. See https://docs.particle.pro/podcasts/speaker-statement-characteristics.","properties":{"certainty":{"description":"The certainty labels to keep: hedged, neutral, confident. Comma-separate labels to accept any of them (hedged,confident); repeating the key accepts any of its values too.","examples":["confident","hedged,confident"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.certainty","typeLabel":"string"},"sentiment":{"description":"The sentiment labels to keep: negative, neutral, positive. Comma-separate labels to accept any of them (negative,positive); repeating the key accepts any of its values too.","examples":["positive","negative,positive"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.sentiment","typeLabel":"string"},"specificity":{"description":"The specificity labels to keep: vague, neutral, specific. Comma-separate labels to accept any of them (vague,specific); repeating the key accepts any of its values too.","examples":["specific","vague,specific"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.specificity","typeLabel":"string"},"temporal_orientation":{"description":"The temporal_orientation labels to keep: past, present, future. Comma-separate labels to accept any of them (past,future); repeating the key accepts any of its values too.","examples":["future","past,future"],"type":"string","uniqueKey":"filters.speaker_statement_characteristics.temporal_orientation","typeLabel":"string"}},"type":"object","uniqueKey":"filters.speaker_statement_characteristics","typeLabel":"object"}},"type":"object","description":"Persistent narrowing applied to every surface the alert produces: the matches list, the realtime email, and the daily/weekly digest. Absent = no filters (every detected match is surfaced).","uniqueKey":"filters","typeLabel":"object"},"keyword":{"description":"KEYWORD_MENTION alerts only: the phrase the alert watches (see the create request's keyword for how it matches). Absent on entity alerts.","type":"string","uniqueKey":"keyword","typeLabel":"string"}},"required":["id","project_id","title","kind","delivery_cadence","is_active","entities","notifications","created_at","updated_at"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"created_at":"2023-11-07T05:31:56Z","delivery_cadence":"\u003cstring>","entities":[{"entity_id":"\u003cstring>","entity_type":"PERSON","image_url":"\u003cstring>","name":"\u003cstring>"}],"id":"\u003cstring>","is_active":true,"kind":"ENTITY_MENTION","notifications":[{"type":"EMAIL","created_by":{"id":"\u003cstring>","name":"\u003cstring>"},"email":"jsmith@example.com","id":"\u003cstring>","slack_channel_id":"\u003cstring>","slack_channel_name":"\u003cstring>","slack_connection_id":"\u003cstring>","webhook_connection_id":"\u003cstring>"}],"project_id":"\u003cstring>","title":"\u003cstring>","updated_at":"2023-11-07T05:31:56Z","created_by":{"id":"\u003cstring>","name":"\u003cstring>"},"description":"\u003cstring>","filters":{"languages":["\u003cstring>"],"relevance":"EVERYTHING","source_popularity":"ANY","speaker_roles":["HOST"],"speaker_statement_characteristics":{"certainty":"confident","sentiment":"positive","specificity":"specific","temporal_orientation":"future"}},"keyword":"\u003cstring>"}}},"exampleType":"generated"}},"description":"OK","exampleType":"generated"},"8f501dad-c895-4d91-8d51-e1fb8e4d94f7":{"content":{"application/problem+json":{"schema":{"additionalProperties":false,"properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","examples":["Property foo is required but is missing."],"type":"string","uniqueKey":"detail","typeLabel":"string"},"error_code":{"type":"string","uniqueKey":"error_code","typeLabel":"string"},"errors":{"oneOf":[{"description":"Optional list of individual error details","items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.oneOf.0.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.oneOf.0.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.oneOf.0.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors.oneOf.0","typeLabel":"object[]"},{"description":"Optional list of individual error details","items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string"},"message":{"description":"Error message text","type":"string"},"value":{"description":"The value at the given location"}},"type":"object"},"type":"null","uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"object[] | null"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","examples":["https://example.com/error-log/abc123"],"format":"uri","type":"string","uniqueKey":"instance","typeLabel":"string\u003curi>"},"resolve":{"additionalProperties":false,"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"resolve.message","typeLabel":"string"},"action":{"type":"string","uniqueKey":"resolve.action","typeLabel":"string"},"endpoint":{"type":"string","uniqueKey":"resolve.endpoint","typeLabel":"string"},"method":{"type":"string","uniqueKey":"resolve.method","typeLabel":"string"},"url":{"type":"string","uniqueKey":"resolve.url","typeLabel":"string"}},"required":["message"],"type":"object","uniqueKey":"resolve","typeLabel":"object"},"status":{"description":"HTTP status code","examples":[400],"format":"int64","type":"integer","uniqueKey":"status","typeLabel":"integer\u003cint64>"},"title":{"description":"A short, human-readable summary of the problem type. This value should not change between occurrences of the error.","examples":["Bad Request"],"type":"string","uniqueKey":"title","typeLabel":"string"},"type":{"default":"about:blank","description":"A URI reference to human-readable documentation for the error.","examples":["https://example.com/errors/example"],"format":"uri","type":"string","uniqueKey":"type","typeLabel":"string\u003curi>"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"Property foo is required but is missing.","error_code":"\u003cstring>","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}],"instance":"https://example.com/error-log/abc123","resolve":{"message":"\u003cstring>","action":"\u003cstring>","endpoint":"\u003cstring>","method":"\u003cstring>","url":"\u003cstring>"},"status":400,"title":"Bad Request","type":"https://example.com/errors/example"}}},"exampleType":"generated"}},"description":"Error","exampleType":"generated"}},"security":{"a5428769-866c-42c7-a004-c213d9b7ee43":{"ApiKeyHeader":{"description":"Pass your API key in the X-API-Key header (recommended).","in":"header","name":"X-API-Key","type":"apiKey","scopes":[],"schemeName":"ApiKeyHeader"}},"0ced4d8f-1c3f-4d2a-8de5-c63f277c6d53":{"BearerAuth":{"description":"Pass your API key as a Bearer token in the Authorization header.","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"bc7c60ad-8b90-43eb-b968-32aa4dec56b4":{"url":"https://api.particle.pro"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"Pass your API key in the X-API-Key header (recommended).","in":"header","name":"X-API-Key","type":"apiKey","scopes":[],"schemeName":"ApiKeyHeader"},"schema":{"title":"X-API-Key","type":"string","description":"Pass your API key in the X-API-Key header (recommended).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyHeader","name":"X-API-Key"}],"title":"ApiKeyHeader"},{"schemes":[{"scheme":{"description":"Pass your API key as a Bearer token in the Authorization header.","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Pass your API key as a Bearer token in the Authorization header.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"particle-c40da4e2","siteName":"Particle API","title":"Update an alert - Particle API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T20:55:41.372Z","originalFileLocation":"api-reference/alerts/update-an-alert.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert\u0026#x27;s definition and its matched results are stored as part of the alerts feature.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Particle API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update an alert - Particle API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert\u0026#x27;s definition and its matched results are stored as part of the alerts feature.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Particle API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.particle.pro/api-reference/alerts/update-an-alert\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://particle-c40da4e2.mintlify.app/_mintlify/api/og/v2?division=Alerts\u0026amp;title=Update+an+alert\u0026amp;description=Partially+update+an+alert.+Provided+fields+replace+existing+values%3B+the+entities+list%2C+when+provided%2C+replaces+the+watched+entity+%28exactly+one%29.+Alerts+are+not+\u0026amp;theme=cc76b59effb7ea31e0037892\u0026amp;signature=bf536320a42e8a882c2486f16f37cf22794d4200eb6bff1d1bae9c820102fc13\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update an alert - Particle API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert\u0026#x27;s definition and its matched results are stored as part of the alerts feature.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://particle-c40da4e2.mintlify.app/_mintlify/api/og/v2?division=Alerts\u0026amp;title=Update+an+alert\u0026amp;description=Partially+update+an+alert.+Provided+fields+replace+existing+values%3B+the+entities+list%2C+when+provided%2C+replaces+the+watched+entity+%28exactly+one%29.+Alerts+are+not+\u0026amp;theme=cc76b59effb7ea31e0037892\u0026amp;signature=bf536320a42e8a882c2486f16f37cf22794d4200eb6bff1d1bae9c820102fc13\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/particle-c40da4e2/Uccj8-qi0DrvBDRY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Particle API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0369a1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.particle.pro/api-reference/alerts/update-an-alert\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/alerts/update-an-alert.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.particle.pro/#organization\",\"name\":\"Particle API\",\"url\":\"https://docs.particle.pro\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/particle-c40da4e2/tk5mmLn_iJIxNhbI/logo/light.svg?fit=max\u0026auto=format\u0026n=tk5mmLn_iJIxNhbI\u0026q=85\u0026s=a659784e597694177292b154cc1808f4\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.particle.pro#website\",\"name\":\"Particle API\",\"url\":\"https://docs.particle.pro\",\"publisher\":{\"@id\":\"https://docs.particle.pro/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert#webpage\",\"url\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert\",\"name\":\"Update an alert\",\"description\":\"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert's definition and its matched results are stored as part of the alerts feature.\",\"dateModified\":\"2026-10-30T20:55:41.372Z\",\"isPartOf\":{\"@id\":\"https://docs.particle.pro#website\"},\"breadcrumb\":{\"@id\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Alerts\",\"item\":\"https://docs.particle.pro/api-reference/alerts/get-a-single-alert-delivery\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update an alert\",\"item\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert#apireference\",\"headline\":\"Update an alert\",\"name\":\"Update an alert\",\"description\":\"Partially update an alert. Provided fields replace existing values; the entities list, when provided, replaces the watched entity (exactly one). Alerts are not covered by zero data retention: the alert's definition and its matched results are stored as part of the alerts feature.\",\"url\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert\",\"mainEntityOfPage\":{\"@id\":\"https://docs.particle.pro/api-reference/alerts/update-an-alert#webpage\"},\"dateModified\":\"2026-10-30T20:55:41.372Z\",\"publisher\":{\"@id\":\"https://docs.particle.pro/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.particle.pro#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Particle API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Particle API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"API documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Alerts","sidebarTitle":"Alerts overview","icon":"bell","href":"/api-reference/alerts"}]},{"group":"Alerts","pages":[{"title":"Get a single alert delivery","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/deliveries/{id}","href":"/api-reference/alerts/get-a-single-alert-delivery"},{"title":"Get the exact JSON a webhook delivery POSTed","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/deliveries/{id}/webhook-payload","href":"/api-reference/alerts/get-the-exact-json-a-webhook-delivery-posted"},{"title":"Preview alert disable action","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/disable","href":"/api-reference/alerts/preview-alert-disable-action"},{"title":"Disable an alert via email-footer token","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/alerts/disable","href":"/api-reference/alerts/disable-an-alert-via-email-footer-token"},{"title":"Get a single alert match","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/matches/{id}","href":"/api-reference/alerts/get-a-single-alert-match"},{"title":"Get the status and result of an alert preview","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/preview/{previewId}","href":"/api-reference/alerts/get-the-status-and-result-of-an-alert-preview"},{"title":"Get an alert","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/{id}","href":"/api-reference/alerts/get-an-alert"},{"title":"Delete an alert","description":"Soft-delete an alert. Existing matches and deliveries are retained for audit but no further matches will be produced. Only the alert's creator or an organization OWNER or ADMIN can delete it; an API key acts as the user who created the key. Any other caller receives 403.","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/alerts/{id}","href":"/api-reference/alerts/delete-an-alert"},{"title":"Update an alert","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/alerts/{id}","href":"/api-reference/alerts/update-an-alert"},{"title":"List deliveries for an alert","description":"Returns the email delivery audit log for the given alert.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/{id}/deliveries","href":"/api-reference/alerts/list-deliveries-for-an-alert"},{"title":"List matches for an alert","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts/{id}/matches","href":"/api-reference/alerts/list-matches-for-an-alert"},{"title":"Send a test webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/alerts/{id}/test-webhook","href":"/api-reference/alerts/send-a-test-webhook"},{"title":"List alerts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{projectId}/alerts","href":"/api-reference/alerts/list-alerts"},{"title":"Create an alert","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{projectId}/alerts","href":"/api-reference/alerts/create-an-alert"},{"title":"Preview match frequency for an alert before creating it","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{projectId}/alerts/preview","href":"/api-reference/alerts/preview-match-frequency-for-an-alert-before-creating-it"}]},{"group":"Companies","pages":[{"title":"List companies","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies","href":"/api-reference/companies/list-companies"},{"title":"Get a company","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}","href":"/api-reference/companies/get-a-company"},{"title":"List company competitors","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/competitors","href":"/api-reference/companies/list-company-competitors"},{"title":"List a company's external profiles","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/external-links","href":"/api-reference/companies/list-a-companys-external-profiles"},{"title":"List company people","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/people","href":"/api-reference/companies/list-company-people"},{"title":"Get company advertising profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/podcast/advertising","href":"/api-reference/companies/get-company-advertising-profile"},{"title":"List company podcast advertising placements","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/podcast/advertising/placements","href":"/api-reference/companies/list-company-podcast-advertising-placements"},{"title":"List podcasts carrying company advertising","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/podcast/advertising/podcasts","href":"/api-reference/companies/list-podcasts-carrying-company-advertising"},{"title":"List podcasts a company could advertise on next","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/podcast/recommendations","href":"/api-reference/companies/list-podcasts-a-company-could-advertise-on-next"},{"title":"List company products","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/products","href":"/api-reference/companies/list-company-products"},{"title":"Get how a company's people speak","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/companies/{id}/statement-characteristics","href":"/api-reference/companies/get-how-a-companys-people-speak"}]},{"group":"Embed","pages":[{"title":"Get clip embed","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/embed/clips/{id}","href":"/api-reference/embed/get-clip-embed"},{"title":"Get clip embed transcript","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/embed/clips/{id}/transcript","href":"/api-reference/embed/get-clip-embed-transcript"},{"title":"Get episode embed code","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/embed/episodes/{episode_id}/code","href":"/api-reference/embed/get-episode-embed-code"}]},{"group":"Entities","pages":[{"title":"List entities","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entities","href":"/api-reference/entities/list-entities"},{"title":"Look up people and companies by external identifier","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entities/lookup","href":"/api-reference/entities/look-up-people-and-companies-by-external-identifier"},{"title":"Search entities","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entities/search","href":"/api-reference/entities/search-entities"},{"title":"List entity types","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entities/types","href":"/api-reference/entities/list-entity-types"},{"title":"Get an entity","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entities/{id}","href":"/api-reference/entities/get-an-entity"}]},{"group":"Account","pages":[{"title":"Identify your API key","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/me","href":"/api-reference/account/identify-your-api-key"},{"title":"Get your API key's usage","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/me/usage","href":"/api-reference/account/get-your-api-keys-usage"}]},{"group":"People","pages":[{"title":"Find experts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/expertise","href":"/api-reference/people/find-experts"},{"title":"List fields of research","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/fields","href":"/api-reference/people/list-fields-of-research"},{"title":"Get a field of research","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/fields/{code}","href":"/api-reference/people/get-a-field-of-research"},{"title":"Rank a field of research's guests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/fields/{code}/guests","href":"/api-reference/people/rank-a-field-of-researchs-guests"},{"title":"Rank the podcasts that book a field of research","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/fields/{code}/podcasts","href":"/api-reference/people/rank-the-podcasts-that-book-a-field-of-research"},{"title":"List occupations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/occupations","href":"/api-reference/people/list-occupations"},{"title":"Get an occupation","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/occupations/{code}","href":"/api-reference/people/get-an-occupation"},{"title":"Rank an occupation's guests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/occupations/{code}/guests","href":"/api-reference/people/rank-an-occupations-guests"},{"title":"Rank the podcasts that book an occupation","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/occupations/{code}/podcasts","href":"/api-reference/people/rank-the-podcasts-that-book-an-occupation"},{"title":"Get a Person","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/{id}","href":"/api-reference/people/get-a-person"},{"title":"Get a Person's expertise","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/{id}/expertise","href":"/api-reference/people/get-a-persons-expertise"},{"title":"Get how a Person speaks","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/{id}/statement-characteristics","href":"/api-reference/people/get-how-a-person-speaks"},{"title":"List a Person's external profiles","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/people/{slug}/external-links","href":"/api-reference/people/list-a-persons-external-profiles"}]},{"group":"Podcasts","pages":[{"title":"List and search podcasts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts","href":"/api-reference/podcasts/list-and-search-podcasts"},{"title":"Download the show archive","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/archive/download","href":"/api-reference/podcasts/download-the-show-archive"},{"title":"Look up podcasts by external platform identifier","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/lookup","href":"/api-reference/podcasts/look-up-podcasts-by-external-platform-identifier"},{"title":"Search podcasts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/search","href":"/api-reference/podcasts/search-podcasts"},{"title":"Get podcast catalog statistics","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/stats","href":"/api-reference/podcasts/get-podcast-catalog-statistics"},{"title":"List podcast topics","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/topics","href":"/api-reference/podcasts/list-podcast-topics"},{"title":"Get a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}","href":"/api-reference/podcasts/get-a-podcast"},{"title":"Get podcast advertising profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/advertising","href":"/api-reference/podcasts/get-podcast-advertising-profile"},{"title":"Get a podcast's latest bias analysis","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/bias","href":"/api-reference/podcasts/get-a-podcasts-latest-bias-analysis"},{"title":"List episodes for a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/episodes","href":"/api-reference/podcasts/list-episodes-for-a-podcast"},{"title":"List a podcast's third-party platform presences","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/external-links","href":"/api-reference/podcasts/list-a-podcasts-third-party-platform-presences"},{"title":"Get a podcast's format profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/format","href":"/api-reference/podcasts/get-a-podcasts-format-profile"},{"title":"List entity mentions in a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/mentions","href":"/api-reference/podcasts/list-entity-mentions-in-a-podcast"},{"title":"List sponsors a podcast could pitch","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/recommendations/sponsors","href":"/api-reference/podcasts/list-sponsors-a-podcast-could-pitch"},{"title":"List related podcasts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/related","href":"/api-reference/podcasts/list-related-podcasts"},{"title":"Get a podcast's latest brand suitability assessment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/suitability","href":"/api-reference/podcasts/get-a-podcasts-latest-brand-suitability-assessment"}]},{"group":"Podcast Advertising","pages":[{"title":"Get sponsor co-occurrence","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/co-occurrence","href":"/api-reference/podcast-advertising/get-sponsor-co-occurrence"},{"title":"Get advertising leaderboard","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/leaderboard","href":"/api-reference/podcast-advertising/get-advertising-leaderboard"},{"title":"Get advertising leaderboard preview","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/leaderboard/preview","href":"/api-reference/podcast-advertising/get-advertising-leaderboard-preview"},{"title":"Get publisher advertising leaderboard","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/publishers/leaderboard","href":"/api-reference/podcast-advertising/get-publisher-advertising-leaderboard"},{"title":"List sponsors","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/sponsors","href":"/api-reference/podcast-advertising/list-sponsors"},{"title":"List trending sponsors","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/sponsors/trends","href":"/api-reference/podcast-advertising/list-trending-sponsors"},{"title":"Get a sponsor","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/sponsors/{id}","href":"/api-reference/podcast-advertising/get-a-sponsor"},{"title":"List podcasts for a sponsor","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/sponsors/{id}/podcasts","href":"/api-reference/podcast-advertising/list-podcasts-for-a-sponsor"},{"title":"List publishers for a sponsor","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/sponsors/{id}/publishers","href":"/api-reference/podcast-advertising/list-publishers-for-a-sponsor"},{"title":"List ad segments for a sponsor","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/sponsors/{id}/segments","href":"/api-reference/podcast-advertising/list-ad-segments-for-a-sponsor"},{"title":"Get advertising timeseries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/advertising/timeseries","href":"/api-reference/podcast-advertising/get-advertising-timeseries"},{"title":"Get publisher advertising profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/advertising","href":"/api-reference/podcast-advertising/get-publisher-advertising-profile"},{"title":"List publisher's podcasts ranked by ad volume","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/advertising/podcasts","href":"/api-reference/podcast-advertising/list-publishers-podcasts-ranked-by-ad-volume"},{"title":"List sponsors for a publisher","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/advertising/sponsors","href":"/api-reference/podcast-advertising/list-sponsors-for-a-publisher"},{"title":"List sponsors advertising on a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/advertising/sponsors","href":"/api-reference/podcast-advertising/list-sponsors-advertising-on-a-podcast"}]},{"group":"Podcast Bias","pages":[{"title":"Rank publishers by political bias metric","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/bias/publishers/leaderboard","href":"/api-reference/podcast-bias/rank-publishers-by-political-bias-metric"},{"title":"List publishers with podcasts in a bias bucket","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/bias/{result}/publishers","href":"/api-reference/podcast-bias/list-publishers-with-podcasts-in-a-bias-bucket"},{"title":"Get publisher political bias profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/bias","href":"/api-reference/podcast-bias/get-publisher-political-bias-profile"},{"title":"List analyzed podcasts for a publisher","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/bias/podcasts","href":"/api-reference/podcast-bias/list-analyzed-podcasts-for-a-publisher"}]},{"group":"Podcast Clips","pages":[{"title":"List clips","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/clips","href":"/api-reference/podcast-clips/list-clips"},{"title":"Get a clip","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/clips/{id}","href":"/api-reference/podcast-clips/get-a-clip"},{"title":"List clips for an episode","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/clips","href":"/api-reference/podcast-clips/list-clips-for-an-episode"}]},{"group":"Podcast Transcripts","pages":[{"title":"Get clip transcript","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/clips/{id}/transcript","href":"/api-reference/podcast-transcripts/get-clip-transcript"},{"title":"Get episode transcript","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/transcript","href":"/api-reference/podcast-transcripts/get-episode-transcript"},{"title":"Get entity mentions in transcript","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/transcript/mentions","href":"/api-reference/podcast-transcripts/get-entity-mentions-in-transcript"},{"title":"Get a transcript excerpt around a moment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/transcript/preview","href":"/api-reference/podcast-transcripts/get-a-transcript-excerpt-around-a-moment"},{"title":"Get word-level transcript","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/transcript/words","href":"/api-reference/podcast-transcripts/get-word-level-transcript"},{"title":"Get segment transcript","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/segments/{id}/transcript","href":"/api-reference/podcast-transcripts/get-segment-transcript"}]},{"group":"Entity Charts","pages":[{"title":"List entity charts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/entities/charts","href":"/api-reference/entity-charts/list-entity-charts"},{"title":"Get an entity chart","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/entities/charts/{category}","href":"/api-reference/entity-charts/get-an-entity-chart"}]},{"group":"Podcast Episodes","pages":[{"title":"List episodes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes","href":"/api-reference/podcast-episodes/list-episodes"},{"title":"List the episode archive","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/archive","href":"/api-reference/podcast-episodes/list-the-episode-archive"},{"title":"Download the episode archive","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/archive/download","href":"/api-reference/podcast-episodes/download-the-episode-archive"},{"title":"Replay the episode archive","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/archive/stream","href":"/api-reference/podcast-episodes/replay-the-episode-archive"},{"title":"Poll the episode feed","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/feed","href":"/api-reference/podcast-episodes/poll-the-episode-feed"},{"title":"Look up episodes by external identifier","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/lookup","href":"/api-reference/podcast-episodes/look-up-episodes-by-external-identifier"},{"title":"Stream episodes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/stream","href":"/api-reference/podcast-episodes/stream-episodes"},{"title":"Stream episodes (POST)","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/podcasts/episodes/stream","href":"/api-reference/podcast-episodes/stream-episodes-post"},{"title":"Get episode timeseries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/timeseries","href":"/api-reference/podcast-episodes/get-episode-timeseries"},{"title":"Get an episode","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}","href":"/api-reference/podcast-episodes/get-an-episode"},{"title":"List ads in an episode","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/ads","href":"/api-reference/podcast-episodes/list-ads-in-an-episode"},{"title":"List entities in an episode","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/entities","href":"/api-reference/podcast-episodes/list-entities-in-an-episode"},{"title":"List an episode's guest expertise","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/expertise","href":"/api-reference/podcast-episodes/list-an-episodes-guest-expertise"},{"title":"List related episodes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/related","href":"/api-reference/podcast-episodes/list-related-episodes"},{"title":"List speakers in an episode","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/speakers","href":"/api-reference/podcast-episodes/list-speakers-in-an-episode"},{"title":"List topics for an episode","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/topics","href":"/api-reference/podcast-episodes/list-topics-for-an-episode"}]},{"group":"Podcast Episode Search","pages":[{"title":"Search podcast episode content","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/search","href":"/api-reference/podcast-episode-search/search-podcast-episode-content"},{"title":"Search podcast dialogue for entity mentions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/mentions","href":"/api-reference/podcast-episode-search/search-podcast-dialogue-for-entity-mentions"},{"title":"List an entity's mentions by podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/mentions/by-podcast","href":"/api-reference/podcast-episode-search/list-an-entitys-mentions-by-podcast"},{"title":"Get mention share of voice","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/mentions/share-of-voice","href":"/api-reference/podcast-episode-search/get-mention-share-of-voice"},{"title":"Compare how subjects are spoken of","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/mentions/share-of-voice/compare","href":"/api-reference/podcast-episode-search/compare-how-subjects-are-spoken-of"},{"title":"Get mention timeseries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/mentions/timeseries","href":"/api-reference/podcast-episode-search/get-mention-timeseries"}]},{"group":"Podcast Segments","pages":[{"title":"List segments for an episode","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/episodes/{id}/segments","href":"/api-reference/podcast-segments/list-segments-for-an-episode"},{"title":"List segments","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/segments","href":"/api-reference/podcast-segments/list-segments"},{"title":"Get a segment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/segments/{id}","href":"/api-reference/podcast-segments/get-a-segment"}]},{"group":"Podcast Guests","pages":[{"title":"List podcast guests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/guests","href":"/api-reference/podcast-guests/list-podcast-guests"},{"title":"List trending podcast guests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/guests/trends","href":"/api-reference/podcast-guests/list-trending-podcast-guests"},{"title":"Get a podcast guest profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/guests/{id}","href":"/api-reference/podcast-guests/get-a-podcast-guest-profile"},{"title":"List appearances for a podcast guest","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/guests/{id}/appearances","href":"/api-reference/podcast-guests/list-appearances-for-a-podcast-guest"},{"title":"List podcasts a guest has appeared on","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/guests/{id}/podcasts","href":"/api-reference/podcast-guests/list-podcasts-a-guest-has-appeared-on"},{"title":"List podcasts a guest could plausibly appear on next","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/guests/{id}/recommendations/podcasts","href":"/api-reference/podcast-guests/list-podcasts-a-guest-could-plausibly-appear-on-next"},{"title":"Get a guest's brand-suitability exposure profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/guests/{id}/suitability","href":"/api-reference/podcast-guests/get-a-guests-brand-suitability-exposure-profile"},{"title":"List the guest roster for a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/guests","href":"/api-reference/podcast-guests/list-the-guest-roster-for-a-podcast"},{"title":"Get the expertise of a podcast's guests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/guests/expertise","href":"/api-reference/podcast-guests/get-the-expertise-of-a-podcasts-guests"},{"title":"List a podcast's guests in an occupation or field","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/guests/expertise/{code}","href":"/api-reference/podcast-guests/list-a-podcasts-guests-in-an-occupation-or-field"},{"title":"List guests a podcast could plausibly book","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/recommendations/guests","href":"/api-reference/podcast-guests/list-guests-a-podcast-could-plausibly-book"}]},{"group":"Podcast Publishers","pages":[{"title":"List podcast publishers","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers","href":"/api-reference/podcast-publishers/list-podcast-publishers"},{"title":"Get a podcast publisher","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}","href":"/api-reference/podcast-publishers/get-a-podcast-publisher"},{"title":"List podcasts for a publisher","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/podcasts","href":"/api-reference/podcast-publishers/list-podcasts-for-a-publisher"},{"title":"Get a publisher's brand suitability profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/suitability","href":"/api-reference/podcast-publishers/get-a-publishers-brand-suitability-profile"},{"title":"List a publisher's podcasts with their suitability verdicts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/publishers/{id}/suitability/podcasts","href":"/api-reference/podcast-publishers/list-a-publishers-podcasts-with-their-suitability-verdicts"}]},{"group":"Podcast Rankings","pages":[{"title":"List podcast rankings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/rankings","href":"/api-reference/podcast-rankings/list-podcast-rankings"},{"title":"List ranking categories","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/rankings/categories","href":"/api-reference/podcast-rankings/list-ranking-categories"},{"title":"List ranking countries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/rankings/countries","href":"/api-reference/podcast-rankings/list-ranking-countries"},{"title":"Get chart slot history","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/rankings/history","href":"/api-reference/podcast-rankings/get-chart-slot-history"},{"title":"List ranking movers","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/rankings/movers","href":"/api-reference/podcast-rankings/list-ranking-movers"},{"title":"List ranking sources","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/rankings/sources","href":"/api-reference/podcast-rankings/list-ranking-sources"},{"title":"List current rankings for a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/rankings","href":"/api-reference/podcast-rankings/list-current-rankings-for-a-podcast"},{"title":"Get historical rankings for a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/rankings/history","href":"/api-reference/podcast-rankings/get-historical-rankings-for-a-podcast"},{"title":"Summarize a podcast's chart presence","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/rankings/summary","href":"/api-reference/podcast-rankings/summarize-a-podcasts-chart-presence"}]},{"group":"Podcast Requests","pages":[{"title":"List podcast requests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/requests","href":"/api-reference/podcast-requests/list-podcast-requests"},{"title":"Request a podcast we don't index","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/podcasts/requests","href":"/api-reference/podcast-requests/request-a-podcast-we-dont-index"},{"title":"Get a podcast request","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/requests/{id}","href":"/api-reference/podcast-requests/get-a-podcast-request"}]},{"group":"Podcast Brand Suitability","pages":[{"title":"Get publishers ranked by exposure to a brand-safety category","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/suitability/categories/{code}/publishers","href":"/api-reference/podcast-brand-suitability/get-publishers-ranked-by-exposure-to-a-brand-safety-category"},{"title":"Get a cross-publisher suitability leaderboard","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/suitability/publishers/leaderboard","href":"/api-reference/podcast-brand-suitability/get-a-cross-publisher-suitability-leaderboard"}]},{"group":"Podcast Transcription","pages":[{"title":"List transcription requests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/transcription/requests","href":"/api-reference/podcast-transcription/list-transcription-requests"},{"title":"Request an episode's transcription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/podcasts/transcription/requests","href":"/api-reference/podcast-transcription/request-an-episodes-transcription"},{"title":"Get a transcription request","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/transcription/requests/{id}","href":"/api-reference/podcast-transcription/get-a-transcription-request"}]},{"group":"Podcast Ratings","pages":[{"title":"List ratings for a podcast","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/ratings","href":"/api-reference/podcast-ratings/list-ratings-for-a-podcast"},{"title":"Summarize a podcast's ratings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/podcasts/{id}/ratings/summary","href":"/api-reference/podcast-ratings/summarize-a-podcasts-ratings"}]},{"group":"Slack Connections","pages":[{"title":"List Slack connections for a project","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{projectId}/slack/connections","href":"/api-reference/slack-connections/list-slack-connections-for-a-project"},{"title":"Initiate a Slack workspace OAuth install","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{projectId}/slack/connections/initiate","href":"/api-reference/slack-connections/initiate-a-slack-workspace-oauth-install"},{"title":"Delete a Slack connection","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/projects/{projectId}/slack/connections/{id}","href":"/api-reference/slack-connections/delete-a-slack-connection"},{"title":"List channels for a Slack connection","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{projectId}/slack/connections/{id}/channels","href":"/api-reference/slack-connections/list-channels-for-a-slack-connection"},{"title":"Complete a Slack workspace OAuth install","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/slack/connections/callback","href":"/api-reference/slack-connections/complete-a-slack-workspace-oauth-install"}]},{"group":"Webhook Connections","pages":[{"title":"List webhook connections for a project","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{projectId}/webhooks/connections","href":"/api-reference/webhook-connections/list-webhook-connections-for-a-project"},{"title":"Create a webhook connection","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{projectId}/webhooks/connections","href":"/api-reference/webhook-connections/create-a-webhook-connection"},{"title":"Get a webhook connection","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{projectId}/webhooks/connections/{id}","href":"/api-reference/webhook-connections/get-a-webhook-connection"},{"title":"Delete a webhook connection","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/projects/{projectId}/webhooks/connections/{id}","href":"/api-reference/webhook-connections/delete-a-webhook-connection"},{"title":"Rotate a webhook connection's signing secret","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{projectId}/webhooks/connections/{id}/secret/rotate","href":"/api-reference/webhook-connections/rotate-a-webhook-connections-signing-secret"}]},{"group":"Topics","pages":[{"title":"List topics","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/topics","href":"/api-reference/topics/list-topics"},{"title":"Get a topic","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/topics/{id}","href":"/api-reference/topics/get-a-topic"}]}]},{"tab":"MCP server","pages":[{"title":"MCP server","href":"/mcp/overview"}]}]},"basePath":"","title":"Update an alert - Particle API","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}