admin users List
curl -X 'GET' \
  'http://localhost:8080/api/v1/users/list' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImJleWhhbkBiZXloYW4uZGV2IiwiaXNfYWRtaW4iOnRydWUsImZpcnN0X25hbWUiOiJCZXloYW4iLCJsYXN0X25hbWUiOiJPxJ91ciIsInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJzdWIiOiIxIiwiZXhwIjoxNzcxMTk0OTI4LCJpYXQiOjE3NzExODc3Mjh9.E6Kd65yQoIysJEDoHA-pVqLi4JvG4FBUeRdv8RiVh4E'

Request URL

http://localhost:8080/api/v1/users/list

Server response
Code	Details
200	
Response body
Download

{
  "count": 1,
  "users": [
    {
      "ID": 1,
      "CreatedAt": "2026-02-15T19:38:23.59+03:00",
      "UpdatedAt": "2026-02-15T19:38:23.59+03:00",
      "DeletedAt": null,
      "username": "beyhano",
      "email": "beyhan@beyhan.dev",
      "email_verified": true,
      "email_verified_at": "2026-02-18T19:39:41+03:00",
      "is_admin": true,
      "profiles": [
        {
          "ID": 1,
          "CreatedAt": "2026-02-15T19:38:23.602+03:00",
          "UpdatedAt": "2026-02-15T19:38:23.602+03:00",
          "DeletedAt": null,
          "user_id": 1,
          "first_name": "Beyhan",
          "last_name": "Oğur"
        }
      ]
    }
  ]
}

Response headers

 content-length: 449 
 content-type: application/json; charset=utf-8 
 date: Sun,15 Feb 2026 21:11:44 GMT 

 user add

 curl -X 'POST' \
  'http://localhost:8080/api/v1/auth/register' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "email": "test@test.com",
  "first_name": "test",
  "last_name": "tset",
  "password": "password",
  "username": "testuser"
}'

Request URL

http://localhost:8080/api/v1/auth/register

Server response
Code	Details
201	
Response body
Download

{
  "message": "registration successful, please verify your email before login",
  "user": {
    "email": "test@test.com",
    "email_verified": false,
    "first_name": "test",
    "id": 2,
    "is_admin": false,
    "last_name": "tset",
    "username": "testuser"
  }
}

Response headers

 access-control-allow-credentials: true 
 access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With 
 access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS 
 access-control-allow-origin: http://localhost:8080 
 access-control-max-age: 600 
 content-length: 217 
 content-type: application/json; charset=utf-8 
 date: Sun,15 Feb 2026 21:14:11 GMT 
 vary: Origin 

 user soft delete

 curl -X 'DELETE' \
  'http://localhost:8080/api/v1/users/2' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImJleWhhbkBiZXloYW4uZGV2IiwiaXNfYWRtaW4iOnRydWUsImZpcnN0X25hbWUiOiJCZXloYW4iLCJsYXN0X25hbWUiOiJPxJ91ciIsInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJzdWIiOiIxIiwiZXhwIjoxNzcxMTk0OTI4LCJpYXQiOjE3NzExODc3Mjh9.E6Kd65yQoIysJEDoHA-pVqLi4JvG4FBUeRdv8RiVh4E'

Request URL

http://localhost:8080/api/v1/users/2

Server response
Code	Details
200	
Response body
Download

{
  "message": "user soft-deleted successfully",
  "user_id": 2
}

user soft delete list

curl -X 'GET' \
  'http://localhost:8080/api/v1/users/list/deleted' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImJleWhhbkBiZXloYW4uZGV2IiwiaXNfYWRtaW4iOnRydWUsImZpcnN0X25hbWUiOiJCZXloYW4iLCJsYXN0X25hbWUiOiJPxJ91ciIsInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJzdWIiOiIxIiwiZXhwIjoxNzcxMTk0OTI4LCJpYXQiOjE3NzExODc3Mjh9.E6Kd65yQoIysJEDoHA-pVqLi4JvG4FBUeRdv8RiVh4E'

Request URL

http://localhost:8080/api/v1/users/list/deleted

Server response
Code	Details
200	
Response body
Download

{
  "count": 1,
  "users": [
    {
      "ID": 2,
      "CreatedAt": "2026-02-16T00:14:11.53+03:00",
      "UpdatedAt": "2026-02-16T00:14:11.53+03:00",
      "DeletedAt": "2026-02-16T00:15:34.342+03:00",
      "username": "testuser",
      "email": "test@test.com",
      "email_verified": false,
      "is_admin": false,
      "profiles": [
        {
          "ID": 2,
          "CreatedAt": "2026-02-16T00:14:11.546+03:00",
          "UpdatedAt": "2026-02-16T00:14:11.546+03:00",
          "DeletedAt": null,
          "user_id": 2,
          "first_name": "test",
          "last_name": "tset"
        }
      ]
    }
  ]
}

Response headers

 content-length: 424 
 content-type: application/json; charset=utf-8 
 date: Sun,15 Feb 2026 21:16:16 GMT 

 soft delete user restore

 curl -X 'POST' \
  'http://localhost:8080/api/v1/users/2/restore' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImJleWhhbkBiZXloYW4uZGV2IiwiaXNfYWRtaW4iOnRydWUsImZpcnN0X25hbWUiOiJCZXloYW4iLCJsYXN0X25hbWUiOiJPxJ91ciIsInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJzdWIiOiIxIiwiZXhwIjoxNzcxMTk0OTI4LCJpYXQiOjE3NzExODc3Mjh9.E6Kd65yQoIysJEDoHA-pVqLi4JvG4FBUeRdv8RiVh4E' \
  -d ''

Request URL

http://localhost:8080/api/v1/users/2/restore

Server response
Code	Details
200	
Response body
Download

{
  "message": "user restored successfully",
  "user_id": 2
}

Response headers

 access-control-allow-credentials: true 
 access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With 
 access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS 
 access-control-allow-origin: http://localhost:8080 
 access-control-max-age: 600 
 content-length: 52 
 content-type: application/json; charset=utf-8 
 date: Sun,15 Feb 2026 21:17:10 GMT 
 vary: Origin 

 user hard delete

 curl -X 'DELETE' \
  'http://localhost:8080/api/v1/users/2/hard' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImJleWhhbkBiZXloYW4uZGV2IiwiaXNfYWRtaW4iOnRydWUsImZpcnN0X25hbWUiOiJCZXloYW4iLCJsYXN0X25hbWUiOiJPxJ91ciIsInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJzdWIiOiIxIiwiZXhwIjoxNzcxMTk0OTI4LCJpYXQiOjE3NzExODc3Mjh9.E6Kd65yQoIysJEDoHA-pVqLi4JvG4FBUeRdv8RiVh4E'

Request URL

http://localhost:8080/api/v1/users/2/hard

Server response
Code	Details
200	
Response body
Download

{
  "message": "user permanently deleted",
  "user_id": 2
}

Response headers

 access-control-allow-credentials: true 
 access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With 
 access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS 
 access-control-allow-origin: http://localhost:8080 
 access-control-max-age: 600 
 content-length: 50 
 content-type: application/json; charset=utf-8 
 date: Sun,15 Feb 2026 21:18:01 GMT 
 vary: Origin 

 user update


curl -X 'PUT' \
  'http://localhost:8080/api/v1/users/3' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImJleWhhbkBiZXloYW4uZGV2IiwiaXNfYWRtaW4iOnRydWUsImZpcnN0X25hbWUiOiJCZXloYW4iLCJsYXN0X25hbWUiOiJPxJ91ciIsInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJzdWIiOiIxIiwiZXhwIjoxNzcxMTk0OTI4LCJpYXQiOjE3NzExODc3Mjh9.E6Kd65yQoIysJEDoHA-pVqLi4JvG4FBUeRdv8RiVh4E' \
  -H 'Content-Type: multipart/form-data' \
  -F 'username=Username' \
  -F 'email=ewrwerwrwer@fgddfg.com' \
  -F 'is_admin=false' \
  -F 'password=12345678' \
  -F 'first_name=First Name' \
  -F 'last_name=Last Name' \
  -F 'email_verified=true' \
  -F 'avatar=@1632286445-en-sqdgame-main-playgrou-5BVA_cover.jpg;type=image/jpeg'

Request URL

http://localhost:8080/api/v1/users/3

Server response
Code	Details
200	
Response body
Download

{
  "message": "user updated",
  "user": {
    "ID": 3,
    "CreatedAt": "2026-02-16T00:23:49.301+03:00",
    "UpdatedAt": "2026-02-16T01:05:17.776+03:00",
    "DeletedAt": null,
    "username": "Username",
    "email": "ewrwerwrwer@fgddfg.com",
    "email_verified": true,
    "email_verified_at": "2026-02-16T01:05:17.698+03:00",
    "is_admin": false,
    "profiles": [
      {
        "ID": 3,
        "CreatedAt": "2026-02-16T00:23:49.315+03:00",
        "UpdatedAt": "2026-02-16T01:05:17.808+03:00",
        "DeletedAt": null,
        "user_id": 3,
        "avatar_url": "/uploads/avatars/1771193117_1632286445-en-sqdgame-main-playgrou-5BVA_cover.jpg",
        "first_name": "First Name",
        "last_name": "Last Name"
      }
    ]
  }
}

Response headers

 access-control-allow-credentials: true 
 access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With 
 access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS 
 access-control-allow-origin: http://localhost:8080 
 access-control-max-age: 600 
 content-length: 576 
 content-type: application/json; charset=utf-8 
 date: Sun,15 Feb 2026 22:05:17 GMT 
 vary: Origin 