---
updatedAt: 2026-05-28T20:32:37.000Z
agentTools:
  projectIndex: https://docs.salussafety.io/llms.txt
---

# Remove a Worker

Remove a worker from a project.

This does not remove the user from the system, it simply removes them from the project. If the user was not present in the project, the system will throw an error.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "SALUS Developer API",
    "version": "0.11.69"
  },
  "servers": [
    {
      "url": "https://developer.beta.salussafety.io"
    }
  ],
  "paths": {
    "/v1/project/{project_id}/worker/{worker_id}/": {
      "delete": {
        "tags": [
          "Projects"
        ],
        "summary": "Remove a Worker",
        "description": "Remove a worker from a project.\n\nThis does not remove the user from the system, it simply removes them from the project. If the user was not present in the project, the system will throw an error.",
        "operationId": "remove_worker_v1_project__project_id__worker__worker_id___delete",
        "security": [
          {
            "HTTPBearer": []
          },
          {
            "OAuth2ClientCredentialsBearer": []
          },
          {
            "OAuth2AuthorizationCodeBearer": []
          }
        ],
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "title": "Project Id"
            }
          },
          {
            "name": "worker_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "title": "Worker Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEmptyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Business Logic Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiGenericResponse_ErrorDetail_"
                }
              }
            }
          },
          "403": {
            "description": "Permission Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiGenericResponse_ErrorDetail_"
                }
              }
            }
          },
          "409": {
            "description": "Integrity Error or Data Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiGenericResponse_ErrorDetail_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiEmptyResponse": {
        "properties": {
          "error": {
            "type": "boolean",
            "title": "Error Indicator",
            "description": "A boolean error indicator.",
            "default": false
          },
          "message": {
            "title": "Response Message",
            "description": "Optional message.",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object",
        "title": "ApiEmptyResponse",
        "description": "An API response that only has a message and error indicator; used by endpoints that don't need to return additional\ndata."
      },
      "ApiGenericResponse_ErrorDetail_": {
        "properties": {
          "error": {
            "type": "boolean",
            "title": "Error Indicator",
            "description": "A boolean error indicator.",
            "default": false
          },
          "message": {
            "title": "Response Message",
            "description": "Optional message.",
            "type": "string",
            "nullable": true
          },
          "data": {
            "title": "Response Data",
            "description": "The response data for any given request.",
            "$ref": "#/components/schemas/ErrorDetail",
            "nullable": true
          }
        },
        "type": "object",
        "title": "ApiGenericResponse[ErrorDetail]"
      },
      "ErrorDetail": {
        "properties": {
          "requestPath": {
            "title": "Request Path",
            "description": "The path of the request that generated the error.",
            "type": "string",
            "nullable": true
          },
          "requestMethod": {
            "title": "Request HTTP Method",
            "description": "The HTTP method of the request that generated the error.",
            "type": "string",
            "nullable": true
          },
          "errorType": {
            "type": "string",
            "title": "The Error Type that Occurred",
            "description": "The type of error that occurred, broadly it can be 'Database', 'BusinessLogic', or 'Permissions`"
          },
          "errorTypeDetail": {
            "title": "Errortypedetail",
            "description": "If available, an additional categorization of the error that occurred.",
            "type": "string",
            "nullable": true
          },
          "errorDetail": {
            "title": "Errordetail",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object",
        "required": [
          "errorType"
        ],
        "title": "ErrorDetail",
        "description": "Generic error detail object that the API will return where errors are encountered. Details will be extracted to\nmake error processing more straight forward."
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "HTTPBearer": {
        "type": "http",
        "description": "Used for authentication using the _classic_ authorization protocol flow, against the Core API. \n\n",
        "scheme": "bearer"
      },
      "OAuth2ClientCredentialsBearer": {
        "type": "oauth2",
        "description": "Used for authentication using the _credentials_grant_ OAuth protocol flow.",
        "flows": {
          "clientCredentials": {
            "scopes": {
              "sls:idn": "Request Salus identity information."
            },
            "tokenUrl": "https://guardian.beta.salussafety.io/token"
          }
        }
      },
      "OAuth2AuthorizationCodeBearer": {
        "type": "oauth2",
        "description": "Used for authentication using the _authorization_code_ OAuth protocol flow.",
        "flows": {
          "authorizationCode": {
            "refreshUrl": "https://guardian.beta.salussafety.io/token",
            "scopes": {
              "sls:idn": "Request Salus identity information."
            },
            "authorizationUrl": "https://guardian.beta.salussafety.io/authorize",
            "tokenUrl": "https://guardian.beta.salussafety.io/token"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Projects",
      "description": "\nEndpoints for interacting with projects\n\nProjects generally represent physical locations. In construction verticals they are commonly construction sites, and have a unique address. Generally the address is also translated to longitude and latitude coordinates to enable geofencing and other features related to the physical location of the site.\n"
    }
  ]
}
```