interview_list
Retrieve and browse all interviews in the hiring pipeline using cursor pagination to manage interview stages and track candidate progress.
Instructions
List all interviews with cursor pagination.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results per page | |
| cursor | No | Cursor for next page |
Implementation Reference
- src/ashby/server.py:407-434 (handler)The `handle_call_tool` function is the generic handler for all MCP tool calls. It retrieves the API endpoint from `TOOL_ENDPOINT_MAP` based on the tool name and executes the request using `ashby.post`.
@server.call_tool() async def handle_call_tool(name: str, arguments: dict[str, Any]) -> list[types.TextContent]: """Route tool calls to the correct Ashby endpoint, passing arguments directly.""" endpoint = TOOL_ENDPOINT_MAP.get(name) if not endpoint: return [types.TextContent(type="text", text=f"Unknown tool: {name}")] try: # Pass arguments straight through -- tool schemas already use Ashby's # camelCase param names so no translation is needed. response = ashby.post(endpoint, data=arguments if arguments else None) return [types.TextContent(type="text", text=json.dumps(response, indent=2))] except requests.exceptions.HTTPError as e: error_body = "" if e.response is not None: try: error_body = e.response.text except Exception: pass return [ types.TextContent( type="text", text=f"Ashby API error on {endpoint}: {e}\n{error_body}", ) ] except Exception as e: return [types.TextContent(type="text", text=f"Error calling {endpoint}: {e}")] - src/ashby/server.py:301-311 (schema)Schema definition for the `interview_list` tool.
types.Tool( name="interview_list", description="List all interviews with cursor pagination.", inputSchema={ "type": "object", "properties": { "limit": {"type": "integer", "description": "Max results per page"}, "cursor": {"type": "string", "description": "Cursor for next page"}, }, }, ), - src/ashby/server.py:392-392 (registration)Mapping of `interview_list` to the `/interview.list` Ashby API endpoint in the `TOOL_ENDPOINT_MAP` dictionary.
"interview_list": "/interview.list",