API Visualizer
How do apps ask servers for data?
Loading the simulation…
How do apps ask servers for data?
Loading the simulation…
The five methods against one collection, with the store shown after each. POST and PUT are each sent twice so idempotency is demonstrated rather than asserted, and the last request is refused with the one status that names what would have worked.
9 steps. Pause, step back or replay any of them.
Nothing selected
Click anything on the map (a device, a cable, or a moving message) to see what it is.
Fields of the resource are explained by its own definition; everything else comes from a specification or a convention, and the badge on each says which.
Keys with a coloured name are explained — open one. What is not explained is this resource’s own data.
[0]
[1]
Three resources, each reachable at two paths: the collection, and one member of it. They take different verbs because they are different resources that happen to share a prefix — POST to a collection creates a member, and POST to a member means nothing.
On each chip, S marks a safe method — one that changes nothing, so a prefetcher, a crawler, or a browser restoring tabs may perform it unbidden — and I marks an idempotent one, which a proxy or a retry library may repeat after a timeout. POST is the only method that is neither, and every idempotency key ever written exists because of that.
Published writing. The resource every verb in this module is demonstrated on.
/articlescollection/articles/1one memberReplies to articles. Present so the explorer has a second resource to compare against.
/commentscollection/comments/1one memberLong-running exports. Creating one is asynchronous, which is why it answers 202 and not 201.
/reportscollection/reports/1one memberBuild a request against the bundled mock API. Nothing here reaches a network: “send” is a function call, the response is its return value, and the only thing that changes is a value held in this page. There is no host field in the form and no fetch anywhere in this module.