# Create deck

URL: https://docs.hanzo.ai/docs/openapi/company/post-company-fundraise-deck

> Stores the request body as a document in the caller org's data room and answers with the data room id to reference it by.

`POST /v1/company/fundraise/deck`

> [Company →](https://docs.hanzo.ai/docs/openapi/company) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                                  |
| ------------- | ------------------------------------------------ |
| **Address**   | `https://api.hanzo.ai/v1/company/fundraise/deck` |
| **Method**    | `POST`                                           |
| **Operation** | `post_company_fundraise_deck`                    |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY`           |

Stores the request body as a document in the caller org's data room and answers with the data room id to reference it by. The deck is RAW BYTES of whatever content type is sent — a PDF, a slide export — not a JSON document: the Content-Type header is carried through to the data room as given, and `?name=` names the document, defaulting to `pitch-deck`.

Scoped to the caller's validated org, and only after incorporation: a formation still short of stage `company` is refused 409 and an org that never began one is 404. The route is registered AHEAD of the surface's JSON body cap deliberately, so a deck's size ceiling is the edge's rather than the cap meant for small structured records. An empty body is 400; a data room that will not take the bytes is 502.

## Request

1 field, body `application/octet-stream`.

| Field    | In   | Type            | Required | Description |
| -------- | ---- | --------------- | -------- | ----------- |
| `(body)` | body | string (binary) | yes      |             |

## Response

| Status | Body    | Meaning |
| ------ | ------- | ------- |
| `2XX`  | deckOut | Success |

`2XX` body — 1 field.

| Field        | In   | Type   | Always | Description |
| ------------ | ---- | ------ | ------ | ----------- |
| `documentId` | body | string | —      |             |

Failure carries the platform error shape — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo company fundraise deck
```

**SDK**

**.ts**

```ts
import { Configuration, CompanyApi } from 'hanzoai';

const api = new CompanyApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postCompanyFundraiseDeck();
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import CompanyApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = CompanyApi(client).post_company_fundraise_deck()
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.CompanyAPI.PostCompanyFundraiseDeck(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, company_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = company_api::post_company_fundraise_deck(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.CompanyApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new CompanyApi(client).postCompanyFundraiseDeck();
```

**HTTP**

```bash
curl -X POST https://api.hanzo.ai/v1/company/fundraise/deck \
  -H "Authorization: Bearer $HANZO_API_KEY"
```

**MCP**

MCP reaches **company** through the `company` tool, which names its 22 operations with its own verbs — this one among them, under a name only MCP declares. `describe` explains any of them:

```bash
curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_companies"
         }
       }
     }'
```

---

[Company API](https://docs.hanzo.ai/docs/openapi/company) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
