{
  "info": {
    "name": "Playground API Collection",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "http://playground-api-xi.vercel.app"
    }
  ],
  "item": [
    {
      "name": "USERS",
      "item": [
        {
          "name": "GET /users",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/users",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users"
              ]
            },
            "description": "Retrieve a paginated list of users. Results merge shared global user records with session sandbox overlays (newly created users appear at the top)."
          }
        },
        {
          "name": "GET /users/:id",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/users/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users",
                ":id"
              ]
            },
            "description": "Retrieve a single user by ID. Supports plain integer IDs for global records (e.g. 1) and string IDs formatted as local-<uuid> for session sandbox records."
          }
        },
        {
          "name": "POST /users",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/users",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users"
              ]
            },
            "description": "Create a new session sandbox user record. Returns a local-<uuid> formatted ID with _sandbox: 'created'. Each session identity is capped at 30 created records.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Leanne Graham\",\n  \"username\": \"bret\",\n  \"email\": \"sincere@april.biz\",\n  \"phone\": \"+1-770-555-0123\",\n  \"website\": \"hildegard.org\",\n  \"address\": {\n    \"street\": \"Kulas Light\",\n    \"city\": \"Gwenborough\",\n    \"zipcode\": \"92998-3874\"\n  },\n  \"company\": {\n    \"name\": \"Romaguera-Crona\",\n    \"catchPhrase\": \"Multi-layered client-server neural-net\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PUT /users/:id",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/users/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users",
                ":id"
              ]
            },
            "description": "Replace an existing user record in the session overlay. Global records remain untouched for other visitors and preserve original list position.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Leanne Graham (Updated)\",\n  \"username\": \"bret\",\n  \"email\": \"sincere@april.biz\",\n  \"website\": \"https://updated-user.dev\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PATCH /users/:id",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/users/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users",
                ":id"
              ]
            },
            "description": "Partially update specific fields of a user record in the session overlay.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Leanne Graham (Updated)\",\n  \"website\": \"https://updated-user.dev\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "DELETE /users/:id",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/users/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users",
                ":id"
              ]
            },
            "description": "Remove a user record from the requesting session view. The underlying global record is unaffected for other visitors."
          }
        }
      ]
    },
    {
      "name": "POSTS",
      "item": [
        {
          "name": "GET /posts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/posts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "posts"
              ]
            },
            "description": "Retrieve a paginated list of posts. Results merge shared global posts with session sandbox overlays (newly created posts appear at the top)."
          }
        },
        {
          "name": "GET /posts/:id",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/posts/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "posts",
                ":id"
              ]
            },
            "description": "Retrieve a single post by ID. Supports plain integer IDs for global records (e.g. 1) and string IDs formatted as local-<uuid> for session sandbox records."
          }
        },
        {
          "name": "POST /posts",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/posts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "posts"
              ]
            },
            "description": "Create a new session sandbox post record. Returns a local-<uuid> formatted ID with _sandbox: 'created'. Each session identity is capped at 30 created records.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": 1,\n  \"title\": \"sunt aut facere repellat provident occaecati excepturi optio reprehenderit\",\n  \"body\": \"quia et suscipit suscipit recusandae consequuntur expedita et cum reprehenderit molestiae ut ut quas totam nostrum rerum est autem sunt rem eveniet architecto\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PUT /posts/:id",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/posts/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "posts",
                ":id"
              ]
            },
            "description": "Replace an existing post record in the session overlay. Global records remain untouched for other visitors and preserve original list position.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": 1,\n  \"title\": \"sunt aut facere repellat provident occaecati excepturi optio reprehenderit (Updated)\",\n  \"body\": \"quia et suscipit suscipit recusandae consequuntur expedita et cum reprehenderit molestiae ut ut quas totam nostrum rerum est autem sunt rem eveniet architecto\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PATCH /posts/:id",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/posts/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "posts",
                ":id"
              ]
            },
            "description": "Partially update specific fields of a post record in the session overlay.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"sunt aut facere repellat provident occaecati excepturi optio reprehenderit (Updated)\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "DELETE /posts/:id",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/posts/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "posts",
                ":id"
              ]
            },
            "description": "Remove a post record from the requesting session view. The underlying global record is unaffected for other visitors."
          }
        }
      ]
    },
    {
      "name": "COMMENTS",
      "item": [
        {
          "name": "GET /comments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/comments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments"
              ]
            },
            "description": "Retrieve a paginated list of comments. Results merge shared global comments with session sandbox overlays (newly created comments appear at the top)."
          }
        },
        {
          "name": "GET /comments/:id",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/comments/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments",
                ":id"
              ]
            },
            "description": "Retrieve a single comment by ID. Supports plain integer IDs for global records (e.g. 1) and string IDs formatted as local-<uuid> for session sandbox records."
          }
        },
        {
          "name": "POST /comments",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/comments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments"
              ]
            },
            "description": "Create a new session sandbox comment record. Returns a local-<uuid> formatted ID with _sandbox: 'created'. Each session identity is capped at 30 created records.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"post_id\": 1,\n  \"name\": \"id labore ex et quam laborum\",\n  \"email\": \"Eliseo@gardner.biz\",\n  \"body\": \"laudantium enim quasi est quidem magnam voluptatem aut eveniet quas aliquid sint expedita consequuntur alias ea quam expedita possimus\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PUT /comments/:id",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/comments/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments",
                ":id"
              ]
            },
            "description": "Replace an existing comment record in the session overlay. Global records remain untouched for other visitors and preserve original list position.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"post_id\": 1,\n  \"name\": \"id labore ex et quam laborum (Updated)\",\n  \"email\": \"Eliseo@gardner.biz\",\n  \"body\": \"laudantium enim quasi est quidem magnam voluptatem aut eveniet quas aliquid sint expedita consequuntur alias ea quam expedita possimus\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PATCH /comments/:id",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/comments/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments",
                ":id"
              ]
            },
            "description": "Partially update specific fields of a comment record in the session overlay.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"id labore ex et quam laborum (Updated)\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "DELETE /comments/:id",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/comments/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments",
                ":id"
              ]
            },
            "description": "Remove a comment record from the requesting session view. The underlying global record is unaffected for other visitors."
          }
        }
      ]
    },
    {
      "name": "TODOS",
      "item": [
        {
          "name": "GET /todos",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/todos",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "todos"
              ]
            },
            "description": "Retrieve a paginated list of todos. Results merge shared global todos with session sandbox overlays (newly created todos appear at the top)."
          }
        },
        {
          "name": "GET /todos/:id",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/todos/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "todos",
                ":id"
              ]
            },
            "description": "Retrieve a single todo item by ID. Supports plain integer IDs for global records (e.g. 1) and string IDs formatted as local-<uuid> for session sandbox records."
          }
        },
        {
          "name": "POST /todos",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/todos",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "todos"
              ]
            },
            "description": "Create a new session sandbox todo record. Returns a local-<uuid> formatted ID with _sandbox: 'created'. Each session identity is capped at 30 created records.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": 1,\n  \"title\": \"delectus aut autem\",\n  \"completed\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PUT /todos/:id",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/todos/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "todos",
                ":id"
              ]
            },
            "description": "Replace an existing todo record in the session overlay. Global records remain untouched for other visitors and preserve original list position.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": 1,\n  \"title\": \"delectus aut autem (Updated)\",\n  \"completed\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "PATCH /todos/:id",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/todos/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "todos",
                ":id"
              ]
            },
            "description": "Partially update specific fields of a todo record in the session overlay.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"completed\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "DELETE /todos/:id",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/todos/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "todos",
                ":id"
              ]
            },
            "description": "Remove a todo record from the requesting session view. The underlying global record is unaffected for other visitors."
          }
        }
      ]
    },
    {
      "name": "AUTH",
      "item": [
        {
          "name": "POST /auth/login",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/login",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "login"
              ]
            },
            "description": "Authenticate user with username/email & password to receive signed JWT access and refresh tokens.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"username\": \"Bret\",\n  \"password\": \"password123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "POST /auth/register",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/register",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "register"
              ]
            },
            "description": "Register a new session user and immediately receive signed JWT tokens.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Alice Smith\",\n  \"username\": \"alice\",\n  \"email\": \"alice@example.com\",\n  \"password\": \"password123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "POST /auth/refresh",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/refresh",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "refresh"
              ]
            },
            "description": "Exchange a valid refresh token for a fresh 15-minute JWT access token.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refreshToken\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "GET /auth/me",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "me"
              ]
            },
            "description": "Retrieve current authenticated user profile using Authorization: Bearer <access_token>."
          }
        },
        {
          "name": "PATCH /auth/me",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "me"
              ]
            },
            "description": "Update current authenticated user profile in the session sandbox using Authorization: Bearer <access_token>.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Bret - Updated Profile\",\n  \"email\": \"bret.new@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "MEDIA",
      "item": [
        {
          "name": "GET /public/avatars/:seed.svg",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/public/avatars/:seed.svg",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "public",
                "avatars",
                ":seed.svg"
              ]
            }
          }
        },
        {
          "name": "GET /public/thumbnails/:seed.svg",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/public/thumbnails/:seed.svg",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "public",
                "thumbnails",
                ":seed.svg"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "SESSION",
      "item": [
        {
          "name": "GET /session/export",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/session/export",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "session",
                "export"
              ]
            }
          }
        },
        {
          "name": "POST /session/import",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/session/import",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "session",
                "import"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"1.0\",\n  \"records\": [\n    {\n      \"resource\": \"users\",\n      \"op\": \"create\",\n      \"data\": {\n        \"name\": \"Restored User\",\n        \"email\": \"restored@sandbox.dev\"\n      }\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "DELETE /session/reset",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/session/reset",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "session",
                "reset"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "CUSTOM",
      "item": [
        {
          "name": "GET /custom",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/custom",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom"
              ]
            }
          }
        },
        {
          "name": "POST /custom/seed",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/custom/seed",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom",
                "seed"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"template\": \"ecommerce\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "GET /custom/:collection",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/custom/:collection",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom",
                ":collection"
              ]
            }
          }
        },
        {
          "name": "POST /custom/:collection",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/custom/:collection",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom",
                ":collection"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Custom Product Item\",\n  \"price\": 99.99,\n  \"inStock\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "DELETE /custom/:collection/:id",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/custom/:collection/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom",
                ":collection",
                ":id"
              ]
            }
          }
        }
      ]
    }
  ]
}