Default

List staffs

get

Returns a paginated list of staffs.

Authorizations
Query parameters
formatstring · enumOptional

Response format

Default: jsonPossible values:
pageintegerOptional

Page number

Default: 1
limitintegerOptional

Number of items per page

Default: 20
Responses
200

Successful operation

application/json
get
GET /api/v1/staffs/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Accept: */*
{
  "count": 1,
  "next": "text",
  "previous": "text",
  "results": [
    {
      "id": 32,
      "retail_stores": [
        {
          "id": 81,
          "address": {
            "id": 81,
            "township": {
              "id": 2190,
              "city": {
                "id": 125,
                "country": {
                  "id": 3,
                  "translations": null,
                  "created_date": "2024-05-08T19:12:57.305774Z",
                  "modified_date": "2024-11-29T12:06:02.290922Z",
                  "omnitron_id": 36,
                  "name": "Türkiye",
                  "code": "tr"
                },
                "translations": null,
                "created_date": "2024-05-08T19:14:58.516332Z",
                "modified_date": "2024-05-08T19:14:58.516350Z",
                "omnitron_id": 286,
                "name": "İstanbul"
              },
              "translations": null,
              "created_date": "2024-05-08T19:15:00.868236Z",
              "modified_date": "2024-05-08T19:15:00.868248Z",
              "omnitron_id": 1453,
              "name": "Esenler"
            },
            "created_date": "2024-11-29T12:06:10.367353Z",
            "modified_date": "2024-12-03T11:39:34.611098Z",
            "phone_number": "+905555555555",
            "line": "Lorem İpsum Dolor Sit Amet",
            "postcode": null,
            "retail_store": 81
          },
          "created_date": "2024-11-29T12:06:09.609920Z",
          "modified_date": "2024-12-30T13:39:36.474266Z",
          "omnitron_id": 1,
          "name": "Test Stock Location",
          "email": "[email protected]",
          "remote_id": "123",
          "is_active": true,
          "fast_delivery": false
        }
      ],
      "last_login": "2025-07-18T10:06:16.115573Z",
      "is_superuser": false,
      "is_staff": true,
      "date_joined": "2024-12-30T13:40:22.530558Z",
      "created_date": "2024-12-30T13:40:22.531128Z",
      "modified_date": "2025-07-18T10:06:16.116904Z",
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]",
      "is_active": true,
      "remote_id": "2222",
      "username": "john.doe",
      "permission_groups": [
        1
      ],
      "current_store": null
    }
  ]
}

Create a staff

post

Creates a new staff record.

Authorizations
Body
retail_storesinteger[]Required

List of retail store IDs

first_namestring · max: 30Required
last_namestring · max: 150Required
emailstring · emailRequired
is_activebooleanOptional
remote_idstring | nullableRequired
passwordstringRequired
permission_groupsinteger[]Optional

List of permission group IDs

Responses
201

Staff created successfully

application/json
post
POST /api/v1/staffs/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 163

{
  "retail_stores": [
    1
  ],
  "first_name": "text",
  "last_name": "text",
  "email": "[email protected]",
  "is_active": true,
  "remote_id": "text",
  "password": "text",
  "permission_groups": [
    1
  ]
}
{
  "retail_stores": [
    [
      1,
      2
    ]
  ],
  "first_name": "John",
  "last_name": "Doe",
  "email": "[email protected]",
  "remote_id": 123,
  "password": "text",
  "permission_groups": [
    [
      5,
      6
    ]
  ]
}

Retrieve a staff

get

Returns detailed information of a staff by its ID.

Authorizations
Path parameters
idintegerRequired
Query parameters
formatstring · enumOptional

Response format

Default: jsonPossible values:
Responses
200

Successful operation

application/json
get
GET /api/v1/staffs/{id}/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Accept: */*
{
  "results": [
    {
      "id": 32,
      "retail_stores": [
        {
          "id": 81,
          "address": {
            "id": 81,
            "township": {
              "id": 2190,
              "city": {
                "id": 125,
                "country": {
                  "id": 3,
                  "translations": null,
                  "created_date": "2024-05-08T19:12:57.305774Z",
                  "modified_date": "2024-11-29T12:06:02.290922Z",
                  "omnitron_id": 36,
                  "name": "Türkiye",
                  "code": "tr"
                },
                "translations": null,
                "created_date": "2024-05-08T19:14:58.516332Z",
                "modified_date": "2024-05-08T19:14:58.516350Z",
                "omnitron_id": 286,
                "name": "İstanbul"
              },
              "translations": null,
              "created_date": "2024-05-08T19:15:00.868236Z",
              "modified_date": "2024-05-08T19:15:00.868248Z",
              "omnitron_id": 1453,
              "name": "Esenler"
            },
            "created_date": "2024-11-29T12:06:10.367353Z",
            "modified_date": "2024-12-03T11:39:34.611098Z",
            "phone_number": "+905555555555",
            "line": "Lorem İpsum Dolor Sit Amet",
            "postcode": null,
            "retail_store": 81
          },
          "created_date": "2024-11-29T12:06:09.609920Z",
          "modified_date": "2024-12-30T13:39:36.474266Z",
          "omnitron_id": 1,
          "name": "Test Stock Location",
          "email": "[email protected]",
          "remote_id": "123",
          "is_active": true,
          "fast_delivery": false
        }
      ],
      "last_login": "2025-07-18T10:06:16.115573Z",
      "is_superuser": false,
      "is_staff": true,
      "date_joined": "2024-12-30T13:40:22.530558Z",
      "created_date": "2024-12-30T13:40:22.531128Z",
      "modified_date": "2025-07-18T10:06:16.116904Z",
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]",
      "is_active": true,
      "remote_id": "2222",
      "username": "john.doe",
      "permission_groups": [
        1
      ],
      "current_store": null
    }
  ]
}

Update a staff

put

Updates the details of a single staff identified by its ID.

Authorizations
Path parameters
idintegerRequired
Query parameters
formatstring · enumOptional

Response format

Default: jsonPossible values:
Body
retail_storesinteger[]RequiredExample: [1,2]
first_namestringRequiredExample: John
last_namestringRequiredExample: Doe
emailstring · emailRequiredExample: [email protected]
is_activebooleanRequiredExample: true
is_staffbooleanRequiredExample: true
remote_idstring | nullableRequiredExample: abcd-1234
usernamestringRequiredExample: johndoe
Responses
200

Successful operation

application/json
put
PUT /api/v1/staffs/{id}/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 170

{
  "retail_stores": [
    1,
    2
  ],
  "first_name": "John",
  "last_name": "Doe",
  "email": "[email protected]",
  "is_active": true,
  "is_staff": true,
  "remote_id": "abcd-1234",
  "username": "johndoe"
}
{
  "retail_stores": [
    [
      1,
      2
    ]
  ],
  "first_name": "John",
  "last_name": "Doe",
  "email": "[email protected]",
  "remote_id": 123,
  "password": "text",
  "permission_groups": [
    [
      5,
      6
    ]
  ]
}

Partially update a staff

patch

Partially updates the details of a single staff. Only the provided fields will be updated; other fields remain unchanged.

Authorizations
Path parameters
idintegerRequired
Query parameters
formatstring · enumOptional

Response format

Default: jsonPossible values:
Body
retail_storesinteger[]OptionalExample: [1,2]
first_namestringOptionalExample: John
last_namestringOptionalExample: Doe
emailstring · emailOptionalExample: [email protected]
is_activebooleanOptionalExample: true
is_staffbooleanOptionalExample: true
remote_idstring | nullableOptionalExample: abcd-1234
usernamestringOptionalExample: johndoe
Responses
200

Successful operation

application/json
patch
PATCH /api/v1/staffs/{id}/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 170

{
  "retail_stores": [
    1,
    2
  ],
  "first_name": "John",
  "last_name": "Doe",
  "email": "[email protected]",
  "is_active": true,
  "is_staff": true,
  "remote_id": "abcd-1234",
  "username": "johndoe"
}
{
  "retail_stores": [
    [
      1,
      2
    ]
  ],
  "first_name": "John",
  "last_name": "Doe",
  "email": "[email protected]",
  "remote_id": 123,
  "password": "text",
  "permission_groups": [
    [
      5,
      6
    ]
  ]
}

Lists the permissions a staff has

get

Returns the permission details of given staff identified by its ID.

Authorizations
Path parameters
idintegerRequired
Query parameters
formatstring · enumOptional

Response format

Default: jsonPossible values:
Responses
200

Successful operation

application/json
get
GET /api/v1/staffs/{id}/list_staff_permission_info/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Accept: */*
{
  "id": 1,
  "is_visible_for_user": true,
  "created_date": "2024-12-30T13:40:22.531128Z",
  "modified_date": "2025-07-18T10:06:16.116904Z",
  "name": "OMS CargoCompany List",
  "path": "cargo_company-oms:oms-cargo-company",
  "label": "text",
  "method": "text",
  "parent": "text",
  "permission_groups": [
    1
  ]
}

Changes the password of the staff.

post

Changes the password of the staff.

Body
staffintegerRequired

The ID of the staff whose password will be changed.

Example: 32
new_passwordstringRequired

The new password to be set for the staff.

Example: 123
Responses
200

Successful operation

No content

post
POST /api/v1/staffs/change_password/ HTTP/1.1
Host: sandbox.akinon.com
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "staff": 32,
  "new_password": "123"
}

No content

Lists staff with duplicate emails

get

Returns staff records that have the same email address.

Authorizations
Query parameters
formatstring · enumOptional

Response format

Default: jsonPossible values:
Responses
200

Successful operation

application/json
get
GET /api/v1/staffs/duplicate_email_staffs/ HTTP/1.1
Host: sandbox.akinon.com
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": 32,
    "retail_stores": [
      {
        "id": 81,
        "address": {
          "id": 81,
          "township": {
            "id": 2190,
            "city": {
              "id": 125,
              "country": {
                "id": 3,
                "translations": null,
                "created_date": "2024-05-08T19:12:57.305774Z",
                "modified_date": "2024-11-29T12:06:02.290922Z",
                "omnitron_id": 36,
                "name": "Türkiye",
                "code": "tr"
              },
              "translations": null,
              "created_date": "2024-05-08T19:14:58.516332Z",
              "modified_date": "2024-05-08T19:14:58.516350Z",
              "omnitron_id": 286,
              "name": "İstanbul"
            },
            "translations": null,
            "created_date": "2024-05-08T19:15:00.868236Z",
            "modified_date": "2024-05-08T19:15:00.868248Z",
            "omnitron_id": 1453,
            "name": "Esenler"
          },
          "created_date": "2024-11-29T12:06:10.367353Z",
          "modified_date": "2024-12-03T11:39:34.611098Z",
          "phone_number": "+905555555555",
          "line": "Lorem İpsum Dolor Sit Amet",
          "postcode": null,
          "retail_store": 81
        },
        "created_date": "2024-11-29T12:06:09.609920Z",
        "modified_date": "2024-12-30T13:39:36.474266Z",
        "omnitron_id": 1,
        "name": "Test Stock Location",
        "email": "[email protected]",
        "remote_id": "123",
        "is_active": true,
        "fast_delivery": false
      }
    ],
    "last_login": "2025-07-18T10:06:16.115573Z",
    "is_superuser": false,
    "is_staff": true,
    "date_joined": "2024-12-30T13:40:22.530558Z",
    "created_date": "2024-12-30T13:40:22.531128Z",
    "modified_date": "2025-07-18T10:06:16.116904Z",
    "first_name": "John",
    "last_name": "Doe",
    "email": "[email protected]",
    "is_active": true,
    "remote_id": "2222",
    "username": "john.doe",
    "permission_groups": [
      1
    ],
    "current_store": null
  }
]

Was this helpful?