--- html_meta: "description": "To discover the API interactively, using Postman is recommended." "property=og:description": "To discover the API interactively, using Postman is recommended." "property=og:title": "Explore the API using Postman" "keywords": "Plone, plone.restapi, REST, API, Explore, Postman" --- (exploring-api-postman-onboarding)= # Explore the API using Postman To discover the API interactively, using [Postman] is recommended: ```{admonition} Note The Chrome-Extension version of Postman is deprecated and it is recommended to use the native app available instead. ``` ## Configuration To easily follow links returned by request based on the API, - go to the menu under the {{ fawrench }} wrench icon on the top right - choose {guilabel}`Settings` - activate the option {guilabel}`Retain headers on clicking on links` by selecting {guilabel}`ON`: {{ postman_retain_headers }} This option makes sure, once a {term}`HTTP-Header` is configured, that it will be reused during subsequent {term}`requests`, provided these are initiated by clicking on links resulting from the initial {term}`request`. This way navigating the structure using the API becomes a snap. The option {guilabel}`Send anonymous usage data to Postman` should be deactivated by setting to {guilabel}`OFF`. ## Usage Choose the suitable {term}`HTTP Verb` to be used for your request. This can be selected using the [Postman] {menuselection}`HTTP Verb -> GET` drop-down menu. Enter the {term}`Object URL` of the object that should be the target of a request into the {guilabel}`URL` field right to the {term}`HTTP Verb`: {{ postman_request }} Now set the appropriate HTTP headers. - the {term}`Authorization Header` for the authentication related to the right user - the {term}`Accept Header` to initiate the right behaviour by the API related to this {term}`Request`. ______________________________________________________________________ To set the {term}`Authorization Header`, there is a reserved tab that is responsible to generate the final {term}`Header` based on the {term}`authentication method` with username and password. You have to select: - in the drop-down menu {menuselection}`Basic Auth ->` the term {term}`Basic Auth` as the authentication method, and - a valid existing user with appropriate permissions. After providing these parameters you can create the resulting {term}`Authorization Header` and insert it into the prepared request by clicking on {guilabel}`Preview Request`. {{ postman_basic_auth }} ______________________________________________________________________ Under the {guilabel}`Headers` tab, you now need to insert in the {term}`Accept Header` `application/json` as well: {{ postman_headers }} The request is now ready, and can be sent by clicking on the {guilabel}`Send` button. The {term}`Response` of the server is now displayed below the {term}`Request`. You can follow the links on the `@id` attributes by clicking on them. For every link [Postman] has prepared, another request sharing the same headers can be sent again by clicking on the {guilabel}`Send` button. {{ postman_response }} ```{admonition} Conclusion You can now explore the whole stucture of your application easily via the API using `GET` requests. ``` (rest-api-onboarding-glossary)= % links [postman]: https://www.postman.com/