rest_describe
Send an HTTP request to any REST API endpoint and receive its response structure with generated TypeScript interfaces, without the full response body.
Instructions
Execute an HTTP request and return the response structure (keys, types, array lengths) AND generated TypeScript interfaces — without the full body. Ideal for large responses. PRIMARY PURPOSE: The main goal of API response analysis is to derive TypeScript type definitions. Always present the generated TypeScript interfaces without being asked — this is the expected output for feature ports and migrations. Base URL: https://api.example.com/v1. AUTONOMOUS CONTEXT RESOLUTION — When the endpoint comes from code analysis (feature-port, migration, Vuex store dispatch, API service file): DO NOT call blindly with missing parameters. First investigate the source code context:
Path params (:id, :slug) — find actual values in component data, props, route params, or hardcoded in the store action
Query params — inspect the Vuex action, API service call, or component for the params/query object passed to the request
Request body — check what payload is dispatched or composed in the action
If a value is purely dynamic (e.g. user-selected at runtime), use a representative test value and document the assumption. The goal is to make a real API call that returns representative data for type extraction.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (for POST/PUT/PATCH) | |
| query | No | Query string parameters | |
| method | Yes | HTTP method | |
| headers | No | Additional request headers | |
| endpoint | Yes | Path only (e.g. "/users"). Resolved to: https://api.example.com/v1/... | |
| typeName | No | Root interface name for generated TypeScript (default: "ApiResponse") |