How to complete the challenge QUERY /todos (200)

QUERY is a safe read method that lets you send query content in the request body. For this challenge, use it to request todos where doneStatus=true.

QUERY /todos (200)

Issue a QUERY request on the /todos end point with form-encoded query content to get only todos which are done. There must exist both done and not done todos to pass this challenge.

  • Use the QUERY method with /todos.
  • Add Content-Type: application/x-www-form-urlencoded.
  • Add Accept: application/json if you want a JSON response.
  • Send doneStatus=true in the request body.
  • Make sure your challenger data has at least one todo with "doneStatus": true and at least one with "doneStatus": false.

Basic Instructions

  • Issue a QUERY request to:
    • https://apichallenges.com/todos
  • The request should have an X-CHALLENGER header so the challenge is tracked.
  • The request body should be form URL encoded:
doneStatus=true

Try it now

If you need fixture data, create one done todo and one not-done todo first. See the solution.

POST /todos to create a done todo fixture
POST /todos to create a not-done comparison todo

Issue the QUERY request with the filter in the body:

QUERY /todos with doneStatus=true to return only done todos

Example Request

> QUERY /todos HTTP/1.1
> Host: apichallenges.com
> User-Agent: rest-client
> X-CHALLENGER: x-challenger-guid
> Content-Type: application/x-www-form-urlencoded
> Accept: application/json
>
> doneStatus=true

Example Response

< HTTP/1.1 200 OK
< Content-Type: application/json
< Accept-Query: application/x-www-form-urlencoded
< X-Challenger: x-challenger-guid

Returned body:

{
  "todos": [
    {
      "id": 41,
      "title": "done todo for query",
      "doneStatus": true,
      "description": "created for query challenge"
    }
  ]
}
Experiment with this endpoint