sanctions_changes
Track sanctions list updates by retrieving additions, removals, and modifications to sanctioned entities since a specified timestamp.
Instructions
Get recent changes to sanctions lists since a given timestamp. Shows additions, removals, and modifications to sanctioned entities. Cost: $0.005 per query. Source: Consolidated sanctions lists.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| since | Yes | ISO 8601 timestamp to get changes since (e.g. 2026-03-01T00:00:00Z) | |
| limit | No | Maximum results (default 50) |
Implementation Reference
- src/tools/sanctions.ts:141-189 (handler)The handler and tool definition for 'sanctions_changes' are implemented together in the 'registerSanctionsTools' function using 'server.registerTool'.
server.registerTool( "sanctions_changes", { title: "Sanctions Changes", description: "Get recent changes to sanctions lists since a given timestamp. Shows additions, " + "removals, and modifications to sanctioned entities. " + "Cost: $0.005 per query. Source: Consolidated sanctions lists.", inputSchema: { since: z .string() .describe("ISO 8601 timestamp to get changes since (e.g. 2026-03-01T00:00:00Z)"), limit: z .number() .int() .min(1) .max(100) .optional() .describe("Maximum results (default 50)"), }, }, async ({ since, limit }) => { const res = await apiGet<SanctionsQueryResponse>( "/api/v1/sanctions/changes", { since, limit: limit ?? 50 }, ); if (!res.ok) { return { content: [ { type: "text" as const, text: `API error (${res.status}): ${JSON.stringify(res.data)}`, }, ], isError: true, }; } const { count, data } = res.data; const warn = stalenessWarning(res); const summary = `${warn}Found ${count} sanctions change(s) since ${since}.`; const json = JSON.stringify(data, null, 2); return { content: [{ type: "text" as const, text: `${summary}\n\n${json}` }], }; }, );