TestingAPIs is still being built. If something breaks, email support@testingapis.com.

API map

Runs in your browser; nothing is uploaded

See an OpenAPI, Swagger, Postman, HAR or cURL file as an interactive map of its groups and endpoints.

Source

No API loaded

Paste an OpenAPI or Swagger document, a Postman collection, a HAR recording or cURL commands into Source, or drop a file on the page. The map shows the API, its groups and every endpoint; click one for its parameters, body and responses.
  • The free endpoints of this site's API
  • OpenAPI 3.0 with tags
  • Postman collection v2.1 with folders
  • Groups of endpoints as arrays
  • One request per curl
Paste or open an API description

What is an API map?

An API description such as an OpenAPI document or a Postman collection is written for machines first. Even a small one runs to hundreds of lines, and the shape of the API (which resources it has, which operations each one supports, where the writes are) is spread across all of them. An API map draws that shape: the API in the middle, its groups around it, and every endpoint as a card coloured by its HTTP method.

The groups come from the document itself. In OpenAPI and Swagger they are the tags on each operation, so an operation with two tags appears in both groups; untagged operations go into Default. In a Postman collection they are the folders, nested as deep as the collection nests them. A HAR recording is grouped by host, and a plain JSON file by its arrays of endpoints.

The map is a reading aid, not a replacement for the document. Click a card to see what the document declares about that endpoint: its full URL, path and query parameters, headers, authentication, request body and the responses it lists. Nothing is called; to send requests, use the API playground or the docs.

How to use this tool

  1. 1Paste an API description into the Source pane, open a file with Open (Ctrl+O), or drop a file on the page. JSON and YAML both work. To see how it looks first, pick one of the Examples.
  2. 2The map draws as you type. While the text can't be read (half typed, or a missing comma), the status bar says which line is wrong and the map keeps showing the last version that could be read.
  3. 3Drag the background or scroll to move around. Ctrl+scroll, or a pinch on a trackpad or touch screen, zooms where the pointer is. The overview in the lower left shows where you are on a large map; click in it to jump there.
  4. 4Choose a layout: Orbit, Tree, Flowchart, Radial or Mind map. Collapse a group with the arrow on its card, or all of them at once, to see the outline of a large API.
  5. 5Search by name or path, or filter by method, to light up the matching endpoints. Press Enter in the search box to go from one match to the next.
  6. 6Click a card for its details. Share makes a link that carries the document in the part after #, which is never sent to the server.

Troubleshooting

No endpoints were found
The document was read, but nothing in it looks like an endpoint. An OpenAPI document needs a paths object, a Postman collection needs an item array, and a plain JSON file needs objects with a url or path. A Postman environment export holds only variables; export the collection itself.
This isn't valid JSON or YAML
The status bar gives the line. In YAML, a value that contains a colon followed by a space, or a comma inside { … }, needs quotes. In JSON, look for a trailing comma or a missing quote.
This looks like XML
WSDL and other XML descriptions aren't read here yet. If the service also publishes an OpenAPI document, use that.
The same endpoint appears twice
In OpenAPI an operation is shown under each of its tags, which is how most documentation tools present it. The count in the status bar counts each operation once.

Frequently asked questions

Which formats can the API map read?

OpenAPI 3.0 and 3.1 and Swagger 2.0 in JSON or YAML, Postman collections v2.0, v2.1 and the older v1, HAR recordings from a browser's network panel, one or more cURL commands, and plain JSON lists of endpoints. WSDL isn't supported yet.

Is my API description uploaded anywhere?

No. The document is read by JavaScript in this tab and drawn there; nothing is sent to our server. A share link carries the document in the URL fragment, which browsers don't send to servers either.

Why are some endpoints shown with no parameters?

The map shows what the document declares. When a format declares no parameters, as with cURL or a plain list, the map still reads path placeholders such as {id} or :id and query keys from the URL, and marks them as found in the URL.

Does it handle large APIs?

Yes. Above about 160 cards the layouts switch to a packed form that grows with the square root of the number of endpoints, cards far out of view aren't drawn, and zoomed far out each card is drawn as a plain block in its method's colour.