---
title: "Share a hosted project with an organization"
method: PUT
path: "/api/v0/desk/projects/{project_id}/share"
tags: ["Desk"]
---

# Share a hosted project with an organization

`PUT /api/v0/desk/projects/{project_id}/share`

## Request

- Base URL: `https://api.outerport.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.outerport.com/api/v0/desk/projects/{project_id}/share`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/outerport/apis/outerport-api/docs/api/v0/desk/projects/:project_id/share/put.ts> (a function with typed inputs; its response is checked against the schema)

Every member of the organization sees the project in their list and may open, edit, compile and run the agent on it, and reads the documents its files were indexed as. A project is shared with one organization at a time; this replaces any other. Only the project's owner shares it, and only with an organization the owner belongs to: an admin of the organization it is shared with may stop sharing it, never move it, and the documents its files were indexed as, to another. A project connected to a knowledge base that holds a file taken from a document of another organization is refused (409); shared, it takes only the organization's documents.

## Path parameters

- `project_id` string, uuid, required

## Request body

- DeskProjectShareRequest
  - `organization_id` string, uuid, required

## Response `200`

Successful Response

- DeskProjectResponse
  - `id` string, uuid, required
  - `name` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `revision` integer, required: Moves on every change to the project's files.
  - `file_count` integer, required
  - `total_bytes` integer, required
  - `is_owner` boolean, required: The caller created this project.
  - `can_manage` boolean, required: The caller may rename, delete and unshare the project: its owner, or an admin of the organization it is shared with. Sharing it, or moving it to another organization, is the owner's alone (``is_owner``).
  - `owner_email` string, nullable: The owner's address, on a project the caller does not own.
  - `shared_with` DeskProjectShare: The organization a project is shared with.
    - `organization_id` string, uuid, required
    - `name` string, required
  - `knowledge_base` DeskProjectKnowledgeBase: The collection a project is connected to.
    - `id` string, uuid, required
    - `name` string, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-26** `07854361a13b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/outerport/apis/outerport-api/changes/api/v0/desk/projects/:project_id/share/put.md)

---

[API](https://skmtc.dev/outerport/apis/outerport-api.md) - [All operations](https://skmtc.dev/outerport/apis/outerport-api/llms.txt) - [OpenAPI document](https://skmtc.dev/outerport/apis/outerport-api/revisions/08b5bf6f7f18?raw)
