get_case_details
Retrieve comprehensive case information including status, severity, description, and all attributes for a specific Cisco support case ID.
Instructions
Get detailed information for a single case ID. Returns comprehensive case information including status, severity, description, and all case attributes.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Single case ID to get details for (e.g., "123456789") |
Implementation Reference
- src/apis/case-api.ts:33-47 (schema)Tool schema definition for get_case_details, specifying the inputSchema with required case_id parameter.{ name: 'get_case_details', description: 'Get detailed information for a single case ID. Returns comprehensive case information including status, severity, description, and all case attributes.', inputSchema: { type: 'object', properties: { case_id: { type: 'string', description: 'Single case ID to get details for (e.g., "123456789")', pattern: '^[0-9]+$' } }, required: ['case_id'] } },
- src/apis/case-api.ts:135-176 (handler)The executeTool method implements the handler logic for get_case_details (and other case tools), validating args, setting the specific endpoint `/cases/details/case_id/{case_id}`, and making the API call.async executeTool(name: string, args: ToolArgs, meta?: { progressToken?: string }): Promise<CaseApiResponse> { const { processedArgs } = this.validateTool(name, args); let endpoint: string; let apiParams: Record<string, any> = {}; switch (name) { case 'get_case_summary': endpoint = `/cases/case_ids/${encodeURIComponent(processedArgs.case_ids)}`; apiParams.sort_by = processedArgs.sort_by || 'UPDATED_DATE'; break; case 'get_case_details': endpoint = `/cases/details/case_id/${encodeURIComponent(processedArgs.case_id)}`; break; case '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; case 'search_cases_by_user': endpoint = `/cases/users/user_ids/${encodeURIComponent(processedArgs.user_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; default: throw new Error(`Tool implementation not found: ${name}`); } return await this.makeApiCall(endpoint, apiParams) as CaseApiResponse; }
- src/apis/index.ts:102-103 (registration)Registers the CaseApi instance in the ApiRegistry's apis map, making its tools (including get_case_details) available via getAvailableTools().this.apis.set('bug', new BugApi()); this.apis.set('case', new CaseApi());