{
  "info": {
    "name": "Axis Unified Inbox API — Users & Profile",
    "description": "# Axis Unified Inbox API\n\nUsers & Profile — 22 endpoints, generated from the Laravel route table on Tue, 04 Aug 2026 12:47:23 GMT.\n\n## Getting started\n\n1. Set the `baseUrl` collection variable if you are not using the default.\n2. Run **Authentication → `POST /user/login`** with your email and password.\n   A test script stores the returned JWT into `{{access_token}}` automatically.\n3. Every other request inherits that bearer token — just hit Send.\n\nRequests using an API key instead read `{{api_key}}` or `{{engage_key}}`; set those\nvariables if you need them.\n\n## Variables\n\n| Variable | Purpose |\n| --- | --- |\n| `baseUrl` | API host, e.g. `https://api.axis.im` |\n| `access_token` | JWT bearer token (auto-filled by the login request) |\n| `api_key` | Value for the `X-API-KEY` header |\n| `engage_key` | Value for the `X-Axis-Admin-API-Key` header |",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "axis-api-docs"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{access_token}}",
        "type": "string"
      }
    ]
  },
  "item": [
    {
      "name": "POST /agents",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/agents",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "agents"
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@invite`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "PATCH /agents/{id}",
      "request": {
        "method": "PATCH",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/agents/:id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "agents",
            ":id"
          ],
          "variable": [
            {
              "key": "id",
              "value": "",
              "description": "id identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@updateTeam`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "POST /gpts/{gpt}/invite-trainer",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/gpts/:gpt/invite-trainer",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "gpts",
            ":gpt",
            "invite-trainer"
          ],
          "variable": [
            {
              "key": "gpt",
              "value": "",
              "description": "gpt identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@inviteTrainer`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "GET /gpts/{gpt}/trainers",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/gpts/:gpt/trainers",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "gpts",
            ":gpt",
            "trainers"
          ],
          "variable": [
            {
              "key": "gpt",
              "value": "",
              "description": "gpt identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@getTrainers`"
      },
      "response": []
    },
    {
      "name": "DELETE /gpts/{gpt}/trainers/{user}",
      "request": {
        "method": "DELETE",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/gpts/:gpt/trainers/:user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "gpts",
            ":gpt",
            "trainers",
            ":user"
          ],
          "variable": [
            {
              "key": "gpt",
              "value": "",
              "description": "gpt identifier"
            },
            {
              "key": "user",
              "value": "",
              "description": "user identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@removeTrainer`"
      },
      "response": []
    },
    {
      "name": "PATCH /gpts/{gpt}/trainers/{user}/activate",
      "request": {
        "method": "PATCH",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/gpts/:gpt/trainers/:user/activate",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "gpts",
            ":gpt",
            "trainers",
            ":user",
            "activate"
          ],
          "variable": [
            {
              "key": "gpt",
              "value": "",
              "description": "gpt identifier"
            },
            {
              "key": "user",
              "value": "",
              "description": "user identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@reactivateTrainer`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "PATCH /gpts/{gpt}/trainers/{user}/suspend",
      "request": {
        "method": "PATCH",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/gpts/:gpt/trainers/:user/suspend",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "gpts",
            ":gpt",
            "trainers",
            ":user",
            "suspend"
          ],
          "variable": [
            {
              "key": "gpt",
              "value": "",
              "description": "gpt identifier"
            },
            {
              "key": "user",
              "value": "",
              "description": "user identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@suspendTrainer`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "GET /gpts/{gpt}/trainers/invite",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/gpts/:gpt/trainers/invite",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "gpts",
            ":gpt",
            "trainers",
            "invite"
          ],
          "variable": [
            {
              "key": "gpt",
              "value": "",
              "description": "gpt identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@acceptInvite`"
      },
      "response": []
    },
    {
      "name": "GET /team/initialpassword/{token}",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/team/initialpassword/:token",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "team",
            "initialpassword",
            ":token"
          ],
          "variable": [
            {
              "key": "token",
              "value": "",
              "description": "token identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\InviteAgentController`"
      },
      "response": []
    },
    {
      "name": "POST /team/setpassword",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/team/setpassword",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "team",
            "setpassword"
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@initialpassword`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "GET /users",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users"
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@index`\n**Route name:** `users.index`"
      },
      "response": []
    },
    {
      "name": "POST /users",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users"
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@store`\n**Route name:** `users.store`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "PUT /users/{id}/availability",
      "request": {
        "method": "PUT",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:id/availability",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":id",
            "availability"
          ],
          "variable": [
            {
              "key": "id",
              "value": "",
              "description": "id identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@updateAvailability`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "DELETE /users/{id}/avatar",
      "request": {
        "method": "DELETE",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:id/avatar",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":id",
            "avatar"
          ],
          "variable": [
            {
              "key": "id",
              "value": "",
              "description": "id identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@removeAvatar`"
      },
      "response": []
    },
    {
      "name": "POST /users/{id}/avatar",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:id/avatar",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":id",
            "avatar"
          ],
          "variable": [
            {
              "key": "id",
              "value": "",
              "description": "id identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@updateAvatar`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "POST /users/{id}/change-password",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:id/change-password",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":id",
            "change-password"
          ],
          "variable": [
            {
              "key": "id",
              "value": "",
              "description": "id identifier"
            }
          ]
        },
        "description": "**Authentication:** JWT (user)\n**Handler:** `Users\\UsersController@changePassword`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "PUT /users/{id}/sound-enabled",
      "request": {
        "method": "PUT",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:id/sound-enabled",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":id",
            "sound-enabled"
          ],
          "variable": [
            {
              "key": "id",
              "value": "",
              "description": "id identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@toggleSound`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "DELETE /users/{user}",
      "request": {
        "method": "DELETE",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":user"
          ],
          "variable": [
            {
              "key": "user",
              "value": "",
              "description": "user identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@destroy`\n**Route name:** `users.destroy`"
      },
      "response": []
    },
    {
      "name": "GET /users/{user}",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":user"
          ],
          "variable": [
            {
              "key": "user",
              "value": "",
              "description": "user identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@show`\n**Route name:** `users.show`"
      },
      "response": []
    },
    {
      "name": "PUT /users/{user}",
      "request": {
        "method": "PUT",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":user"
          ],
          "variable": [
            {
              "key": "user",
              "value": "",
              "description": "user identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@update`\n**Route name:** `users.update`\n\n> This endpoint accepts a body, but no `FormRequest` class backs it — validation happens\n> inline in the controller, so the fields could not be derived automatically. An empty JSON\n> body is provided as a starting point.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "response": []
    },
    {
      "name": "GET /users/{user}/edit",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/:user/edit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            ":user",
            "edit"
          ],
          "variable": [
            {
              "key": "user",
              "value": "",
              "description": "user identifier"
            }
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@edit`\n**Route name:** `users.edit`"
      },
      "response": []
    },
    {
      "name": "GET /users/create",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/users/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "users",
            "create"
          ]
        },
        "description": "**Authentication:** Optional JWT\n**Handler:** `Users\\UsersController@create`\n**Route name:** `users.create`"
      },
      "response": []
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.axis.im",
      "type": "string"
    },
    {
      "key": "access_token",
      "value": "",
      "type": "string"
    },
    {
      "key": "api_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "engage_key",
      "value": "",
      "type": "string"
    }
  ]
}