---
title: "Modify project hosted tool permissions"
method: POST
path: "/organization/projects/{project_id}/hosted_tool_permissions"
tags: ["Hosted tools"]
---

# Modify project hosted tool permissions

`POST /organization/projects/{project_id}/hosted_tool_permissions`

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/organization/projects/{project_id}/hosted_tool_permissions`
- Auth: HTTP bearer

Updates hosted tool permissions for a project.

## Path parameters

- `project_id` string, required

## Request body

- ProjectHostedToolPermissionsUpdateRequest
  - `file_search` HostedToolPermissionUpdate
    - `enabled` boolean, required: Whether to enable the hosted tool for the project.
  - `web_search` HostedToolPermissionUpdate
    - `enabled` boolean, required: Whether to enable the hosted tool for the project.
  - `image_generation` HostedToolPermissionUpdate
    - `enabled` boolean, required: Whether to enable the hosted tool for the project.
  - `mcp` HostedToolPermissionUpdate
    - `enabled` boolean, required: Whether to enable the hosted tool for the project.
  - `code_interpreter` HostedToolPermissionUpdate
    - `enabled` boolean, required: Whether to enable the hosted tool for the project.

## Response `200`

Project hosted tool permissions updated successfully.

- ProjectHostedToolPermissions: Represents hosted tool permissions for a project.
  - `file_search` HostedToolPermission, required: Permission state for a single hosted tool on a project.
    - `enabled` boolean, required: Whether the hosted tool is enabled for the project.
  - `web_search` HostedToolPermission, required: Permission state for a single hosted tool on a project.
    - `enabled` boolean, required: Whether the hosted tool is enabled for the project.
  - `image_generation` HostedToolPermission, required: Permission state for a single hosted tool on a project.
    - `enabled` boolean, required: Whether the hosted tool is enabled for the project.
  - `mcp` HostedToolPermission, required: Permission state for a single hosted tool on a project.
    - `enabled` boolean, required: Whether the hosted tool is enabled for the project.
  - `code_interpreter` HostedToolPermission, required: Permission state for a single hosted tool on a project.
    - `enabled` boolean, required: Whether the hosted tool is enabled for the project.

## Other responses

- `400`: The hosted tool permission request is invalid.
- `403`: The caller does not have permission to perform this operation.
- `404`: The project was not found.
- `409`: The requested project setting conflicts with the organization policy.
- `429`: Too many management requests. Reduce the request rate and try again later.

## Changes

- **2026-10-06** `487892d3954e`: 5 info
  - added the optional property `error/anyOf[#/components/schemas/Error]/misalignment/review_target` to the response with the `403` status
  - added the optional property `error/misalignment/review_target` to the response with the `400` status
  - added the optional property `error/misalignment/review_target` to the response with the `404` status
  - added the optional property `error/misalignment/review_target` to the response with the `409` status
  - …1 more
- **2026-10-05** `7f654af7f94f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnistack-sh/apis/openai-api/changes/organization/projects/:project_id/hosted_tool_permissions/post.md)

---

[API](https://skmtc.dev/omnistack-sh/apis/openai-api.md) - [All operations](https://skmtc.dev/omnistack-sh/apis/openai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnistack-sh/apis/openai-api/revisions/0a26f104d35f?raw)
