# ReqRes

> A hosted fake REST API for testing: page through sample users and colors, and send creates, updates, deletes, sign-ups and log-ins that answer like a real API but store nothing. Good for trying out a workflow's loops and error handling. No account or API key required.

App · 9 actions. Web page: https://docs.lodol.com/docs/integrations/reqres

## Actions

### Create user

Send a new user to ReqRes, which answers like a real API: with a new id and a creation time. ReqRes stores nothing, so this is safe to run as often as you like. No API key required.

**Inputs**

- Name (`name`, text, required): The new user's name.
- Job (`job`, text): The new user's job.

**Outputs**

- `created_at` (text): When ReqRes answered, as an ISO 8601 time.
- `id` (text): The id ReqRes gave the new user, e.g. '941'. It is made up for the answer: the user is not stored.
- `job` (text): The job sent, if any.
- `name` (text): The name sent.

**Example output**

```json
{
  "created_at": "2026-10-16T18:44:26.271Z",
  "id": "941",
  "job": "leader",
  "name": "morpheus"
}
```

### Delete user

Send a delete for a user to ReqRes, which answers 204 No Content like a real API. ReqRes stores nothing, so this is safe to run as often as you like. No API key required.

**Inputs**

- User id (`reqres_user_id`, number, required): The sample user's id, 1 to 12. At least 1.

**Outputs**

- `deleted` (true/false): True when ReqRes accepted the delete (HTTP 204).
- `status_code` (number): The HTTP status ReqRes answered with, 204 on success.
- `user_id` (number): The id of the user deleted.

**Example output**

```json
{
  "deleted": true,
  "status_code": 204,
  "user_id": 2
}
```

### Get color

Get one of ReqRes's sample colors by id: its name, year, hex code and Pantone number. No API key required.

**Inputs**

- Color id (`color_id`, number, required): The sample color's id, 1 to 12. At least 1.

**Outputs**

- `color` (object): A ReqRes sample color (its 'unknown' resource).

**Example output**

```json
{
  "color": {
    "hex": "#C74375",
    "id": 2,
    "name": "fuchsia rose",
    "pantone_value": "17-2031",
    "year": 2001
  }
}
```

### Get user

Get one of ReqRes's sample users by id: name, email and avatar. An id above 12 fails with 'not found', which is handy for testing error handling. No API key required.

**Inputs**

- User id (`reqres_user_id`, number, required): The sample user's id, 1 to 12. At least 1.

**Outputs**

- `user` (object): A ReqRes sample user.

**Example output**

```json
{
  "user": {
    "avatar_url": "https://reqres.in/img/faces/2-image.jpg",
    "email": "janet.weaver@reqres.in",
    "first_name": "Janet",
    "full_name": "Janet Weaver",
    "id": 2,
    "last_name": "Weaver"
  }
}
```

### List colors

List a page of ReqRes's 12 sample colors (its 'unknown' resource): Pantone colors of the year with name, year, hex code and Pantone number. No API key required.

**Inputs**

- Page (`page`, number): Which page to return, starting at 1. Defaults to the first. At least 1.
- Per page (`per_page`, number): How many colors to put on a page, 1 to 12. Defaults to 6. From 1 to 12.

**Outputs**

- `colors` (list): The colors on this page.
- `count` (number): How many colors are on this page.
- `has_more` (true/false): True when a later page follows this one.
- `next_page` (number): The next page's number, or null on the last page.
- `page` (number): This page's number.
- `per_page` (number): How many colors fit on a page.
- `total` (number): How many colors there are in all.
- `total_pages` (number): How many pages there are at this page size.

**Example output**

```json
{
  "colors": [
    {
      "hex": "#C74375",
      "id": 2,
      "name": "fuchsia rose",
      "pantone_value": "17-2031",
      "year": 2001
    }
  ],
  "count": 1,
  "has_more": true,
  "next_page": 3,
  "page": 2,
  "per_page": 1,
  "total": 12,
  "total_pages": 12
}
```

### List users

List a page of ReqRes's 12 sample users, with name, email and avatar, plus the paging details. Handy for testing a loop over pages. No API key required.

**Inputs**

- Page (`page`, number): Which page to return, starting at 1. Defaults to the first. At least 1.
- Per page (`per_page`, number): How many users to put on a page, 1 to 12. Defaults to 6. From 1 to 12.

**Outputs**

- `count` (number): How many users are on this page.
- `has_more` (true/false): True when a later page follows this one.
- `next_page` (number): The next page's number, or null on the last page.
- `page` (number): This page's number.
- `per_page` (number): How many users fit on a page.
- `total` (number): How many users there are in all.
- `total_pages` (number): How many pages there are at this page size.
- `users` (list): The users on this page.

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "next_page": 3,
  "page": 2,
  "per_page": 1,
  "total": 12,
  "total_pages": 12,
  "users": [
    {
      "avatar_url": "https://reqres.in/img/faces/2-image.jpg",
      "email": "janet.weaver@reqres.in",
      "first_name": "Janet",
      "full_name": "Janet Weaver",
      "id": 2,
      "last_name": "Weaver"
    }
  ]
}
```

### Log in

Log in as one of ReqRes's sample users and get back a made-up token. A missing password or an unknown address comes back with 'success' false and the reason, so you can test both outcomes. No API key required.

**Inputs**

- Email (`email`, text, required): One of ReqRes's sample users' addresses, such as eve.holt@reqres.in. Any other address is refused, which is handy for testing a failure.
- Password (`password`, text): Any made-up password; ReqRes only checks that one is given. Leave it empty to test a refusal. Never use a real password: this is a public test service.

**Outputs**

- `email` (text): The address sent.
- `error` (text): Why ReqRes refused, e.g. 'Missing password', or null on success.
- `success` (true/false): True when ReqRes accepted the address and password. False when it refused them; the reason is in 'error'.
- `token` (text): The made-up token ReqRes returns, or null when refused.

**Example output**

```json
{
  "email": "eve.holt@reqres.in",
  "error": null,
  "success": true,
  "token": "QpwL5tke4Pnpja7X4"
}
```

### Register

Register one of ReqRes's sample users and get back their id and a made-up token. Any other address, or a missing password, comes back with 'success' false and the reason, so you can test both outcomes. No API key required.

**Inputs**

- Email (`email`, text, required): One of ReqRes's sample users' addresses, such as eve.holt@reqres.in. Any other address is refused, which is handy for testing a failure.
- Password (`password`, text): Any made-up password; ReqRes only checks that one is given. Leave it empty to test a refusal. Never use a real password: this is a public test service.

**Outputs**

- `email` (text): The address sent.
- `error` (text): Why ReqRes refused, e.g. 'Missing password', or null on success.
- `id` (number): The sample user's id, or null when refused.
- `success` (true/false): True when ReqRes accepted the address and password. False when it refused them; the reason is in 'error'.
- `token` (text): The made-up token ReqRes returns, or null when refused.

**Example output**

```json
{
  "email": "eve.holt@reqres.in",
  "error": null,
  "id": 4,
  "success": true,
  "token": "QpwL5tke4Pnpja7X4"
}
```

### Update user

Send a new name or job for a user to ReqRes, as a PUT or a PATCH, and get back what was sent with an update time. ReqRes stores nothing, so this is safe to run as often as you like. No API key required.

**Inputs**

- User id (`reqres_user_id`, number, required): The sample user's id, 1 to 12. At least 1.
- Name (`name`, text): The user's new name. Give a name, a job or both.
- Job (`job`, text): The user's new job. Give a name, a job or both.
- Method (`update_method`, text): Send the update as a PUT (replace the user) or a PATCH (change only these fields). Defaults to PUT. One of: `PUT` (Replace (PUT)), `PATCH` (Update the given fields (PATCH)). Default: `PUT`.

**Outputs**

- `job` (text): The job sent, or null when only the name was sent.
- `name` (text): The name sent, or null when only the job was sent.
- `update_method` (text): 'PUT' or 'PATCH': how the update was sent.
- `updated_at` (text): When ReqRes answered, as an ISO 8601 time.
- `user_id` (number): The id of the user updated.

**Example output**

```json
{
  "job": "zion resident",
  "name": "morpheus",
  "update_method": "PUT",
  "updated_at": "2026-10-16T18:44:27.472Z",
  "user_id": 2
}
```
