---
updatedAt: 2026-09-23T20:15:13.000Z
agentTools:
  projectIndex: https://mediroutes-api.readme.io/llms.txt
---

# Create User

Create a new user. Users must have a unique username.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "V1",
    "title": "MediroutesAPI V1"
  },
  "paths": {
    "/api/v{version}/users": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create User",
        "description": "Create a new user. Users must have a unique username.",
        "operationId": "post-users",
        "parameters": [
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "access token",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpsertUserModel"
        },
        "responses": {
          "200": {
            "description": "Created User",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserModel_"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserModel_"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserModel_"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserModel_"
                }
              }
            }
          },
          "400": {
            "description": "Missing or unaligned data. Error message will be returned with response."
          },
          "403": {
            "description": "The api key used does not have access to this resource."
          }
        },
        "x-ai-description": "Creates a new system user (body: APIKey + User with a unique username). Requires user-management permission (401 without it).",
        "x-ai-when-to-use": "The user explicitly asks to add a staff/system account. Administrative and security-relevant - confirm intent before calling.",
        "x-ai-side-effects": "creates-user",
        "x-ai-returns": "ApiResponse echoing the created user.",
        "x-ai-required-permission": "users",
        "x-ai-display": {
          "title": "Created User",
          "key": "username",
          "root": "Data",
          "columns": [
            {
              "field": "username",
              "header": "Username"
            },
            {
              "field": "l_name",
              "header": "Last Name"
            },
            {
              "field": "f_name",
              "header": "First Name"
            },
            {
              "field": "valid_email",
              "header": "Email"
            },
            {
              "field": "phone_number",
              "header": "Phone"
            },
            {
              "field": "mobile_phone_number",
              "header": "Mobile"
            },
            {
              "field": "isActive",
              "header": "Active"
            },
            {
              "field": "driver.dln",
              "header": "DL Number"
            },
            {
              "field": "driver.dln_exp",
              "header": "DL Expiration"
            }
          ]
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.mediroutes.com"
    }
  ],
  "components": {
    "requestBodies": {
      "UpsertUserModel": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpsertUserModel"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/UpsertUserModel"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/UpsertUserModel"
            }
          },
          "text/xml": {
            "schema": {
              "$ref": "#/components/schemas/UpsertUserModel"
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/UpsertUserModel"
            }
          }
        },
        "required": true
      }
    },
    "schemas": {
      "AddressModel": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        }
      },
      "UserModel": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "valid_email": {
            "type": "string"
          },
          "f_name": {
            "type": "string"
          },
          "l_name": {
            "type": "string"
          },
          "phone_number": {
            "type": "string"
          },
          "mobile_phone_number": {
            "type": "string"
          },
          "home_address": {
            "$ref": "#/components/schemas/AddressModel"
          },
          "time_zone_id": {
            "type": "string"
          },
          "driver": {
            "$ref": "#/components/schemas/DriverUserDetailsModel"
          },
          "desktop_user": {
            "$ref": "#/components/schemas/DesktopUserDetailsModel"
          },
          "isActive": {
            "type": "boolean"
          },
          "user_validated_email": {
            "type": "boolean"
          }
        }
      },
      "DriverUserDetailsModel": {
        "type": "object",
        "properties": {
          "isDriver": {
            "type": "boolean"
          },
          "timekeeping_enabled": {
            "type": "boolean"
          },
          "dln": {
            "type": "string"
          },
          "dln_exp": {
            "format": "date-time",
            "type": "string"
          },
          "picture_url": {
            "type": "string"
          },
          "picture_base64_string": {
            "type": "string"
          }
        }
      },
      "DesktopUserDetailsModel": {
        "type": "object",
        "properties": {
          "isDesktopUser": {
            "type": "boolean"
          },
          "access": {
            "$ref": "#/components/schemas/DesktopAccessModel"
          }
        }
      },
      "DesktopAccessModel": {
        "type": "object",
        "properties": {
          "home_tab_access": {
            "type": "boolean"
          },
          "admin_tab_access": {
            "type": "boolean"
          },
          "data_tab_access": {
            "type": "boolean"
          },
          "reports_tab_access": {
            "type": "boolean"
          },
          "schedules_tab_access": {
            "type": "boolean"
          },
          "dispatch_tab_access": {
            "type": "boolean"
          },
          "wheres_my_ride_tab_access": {
            "type": "boolean"
          }
        }
      },
      "UpsertUserModel": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/UserModel"
          }
        }
      },
      "ApiResponse_UserModel_": {
        "type": "object",
        "properties": {
          "Data": {
            "$ref": "#/components/schemas/UserModel"
          },
          "StatusCode": {
            "format": "int32",
            "type": "integer"
          },
          "Message": {
            "type": "string"
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```