list_external_invoices
Retrieve a paginated list of external invoices for a specific integration. Use integration ID, optional includes, and page parameters.
Instructions
List external invoices for an integration. GET /integrations/{integrationId}/external-invoices. Optional: include, itemPerPage, pageNo.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| integrationId | Yes | Company integration ID (required) | |
| include | No | Comma-separated attributes to include | |
| itemPerPage | No | Items per page | |
| pageNo | No | Page number |
Implementation Reference
- Tool handler that validates args with Zod schema and delegates to integrationService.listExternalInvoices.
async function handler(client: Client, args: Record<string, unknown> | undefined) { const parsed = schema.safeParse(args); if (!parsed.success) { return errorResult(parsed.error.errors.map((e) => e.message).join("; ")); } const { integrationId, include, itemPerPage, pageNo } = parsed.data; return handleToolCall(() => integrationService.listExternalInvoices(client, integrationId, { include, itemPerPage, pageNo, }) ); } - Zod validation schema for list_external_invoices inputs.
const schema = z.object({ integrationId: z.string().min(1, "integrationId is required"), include: z.string().optional(), itemPerPage: z.number().int().min(1).optional(), pageNo: z.number().int().min(1).optional(), }); - src/tools/integrations/listExternalInvoices.ts:45-48 (registration)Exports the Tool object with definition and handler, imported in integrations/index.ts and registered via registerIntegrationTools().
export const listExternalInvoicesTool: Tool = { definition, handler, }; - src/tools/integrations/index.ts:16-27 (registration)Registration point in the integrations tool array; also re-exported in src/tools/index.ts.
export function registerIntegrationTools(): Tool[] { return [ listIntegrationsTool, getIntegrationConfigTool, getIntegrationByKeyTool, listIntegrationsByKeyTool, listExternalInvoicesTool, listExternalProductsTool, getExternalProductTool, listOrderStatusesTool, ]; } - Service function that makes the actual GET request to /integrations/{integrationId}/external-invoices with query params.
/** GET /integrations/{integrationId}/external-invoices */ export async function listExternalInvoices( client: Client, integrationId: string, params?: ListExternalInvoicesParams ): Promise<unknown> { const search = new URLSearchParams(); if (params?.include) search.append("include", params.include); if (params?.itemPerPage != null) search.append("itemPerPage", String(params.itemPerPage)); if (params?.pageNo != null) search.append("pageNo", String(params.pageNo)); const q = search.toString(); return client.get<unknown>(`/integrations/${integrationId}/external-invoices${q ? `?${q}` : ""}`); }