search_cases_by_contract
Find Cisco support cases linked to specific contract IDs. Filter results by status, date range, and sort options to manage case information.
Instructions
Search for cases associated with specific contract IDs (max 10). Returns cases linked to the specified contracts.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| contract_ids | Yes | Comma-separated list of contract IDs (max 10) | |
| status_flag | No | Return only cases associated with the specified status; O = open, C = closed. If status_flag is O (open), all open cases within the specified date range are returned; if a date range is not specified, all open cases associated with the other search parameters are returned. The maximum range returned is 90 days. The default behavior for this parameter is to return cases of both open and closed status. | |
| date_created_from | No | Beginning date (in UTC) of the range in which to search. For example: 2013-04-23T11:00:14Z Note: The maximum date range currently supported is 90 days. | |
| date_created_to | No | End date (in UTC) of the range in which to search. For example: 2013-04-23T11:00:00Z Note: The maximum date range currently supported is 90 days. | |
| sort_by | No | Sort results by field. UPDATED_DATE: Sort by last modification time (ascending). Default. STATUS: Sort by status (ascending) | UPDATED_DATE |
| page_index | No | Page number for pagination (default: 5) |
Implementation Reference
- src/apis/case-api.ts:48-89 (schema)Tool schema definition with inputSchema, description, and parameters for search_cases_by_contract{ name: 'search_cases_by_contract', description: 'Search for cases associated with specific contract IDs (max 10). Returns cases linked to the specified contracts.', inputSchema: { type: 'object', properties: { contract_ids: { type: 'string', description: 'Comma-separated list of contract IDs (max 10)', pattern: '^[A-Za-z0-9,\\s\\-]+$' }, status_flag: { type: 'string', description: 'Return only cases associated with the specified status; O = open, C = closed. If status_flag is O (open), all open cases within the specified date range are returned; if a date range is not specified, all open cases associated with the other search parameters are returned. The maximum range returned is 90 days. The default behavior for this parameter is to return cases of both open and closed status.', enum: ['O', 'C'] }, date_created_from: { type: 'string', description: 'Beginning date (in UTC) of the range in which to search. For example: 2013-04-23T11:00:14Z Note: The maximum date range currently supported is 90 days.', pattern: '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$' }, date_created_to: { type: 'string', description: 'End date (in UTC) of the range in which to search. For example: 2013-04-23T11:00:00Z Note: The maximum date range currently supported is 90 days.', pattern: '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$' }, sort_by: { type: 'string', description: 'Sort results by field. UPDATED_DATE: Sort by last modification time (ascending). Default. STATUS: Sort by status (ascending)', enum: ['STATUS', 'SEVERITY', 'CREATED_DATE', 'MODIFIED_DATE', 'UPDATED_DATE'], default: 'UPDATED_DATE' }, page_index: { type: 'integer', description: 'Page number for pagination (default: 5)', minimum: 1, default: 5 } }, required: ['contract_ids'] } },
- src/apis/case-api.ts:151-159 (handler)Handler implementation in executeTool method that sets the API endpoint and optional query parameters for the search_cases_by_contract toolcase 'search_cases_by_contract': endpoint = `/cases/contracts/contract_ids/${encodeURIComponent(processedArgs.contract_ids)}`; // Add all optional parameters with defaults if (processedArgs.status_flag) apiParams.status_flag = processedArgs.status_flag; if (processedArgs.date_created_from) apiParams.date_created_from = processedArgs.date_created_from; if (processedArgs.date_created_to) apiParams.date_created_to = processedArgs.date_created_to; apiParams.sort_by = processedArgs.sort_by || 'UPDATED_DATE'; apiParams.page_index = processedArgs.page_index || 5; break;
- src/apis/index.ts:103-103 (registration)Registration of CaseApi instance in ApiRegistry, making its tools (including search_cases_by_contract) availablethis.apis.set('case', new CaseApi());
- src/mcp-server.ts:544-548 (registration)MCP tools/list handler that returns available tools including search_cases_by_contract from the ApiRegistryserver.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: apiRegistry.getAvailableTools(), }; });