Create 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

Addresshttps://api.hanzo.ai/v1/company/fundraise/deck
MethodPOST
Operationpost_company_fundraise_deck
AuthAuthorization: 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.

FieldInTypeRequiredDescription
(body)bodystring (binary)yes

Response

StatusBodyMeaning
2XXdeckOutSuccess

2XX body — 1 field.

FieldInTypeAlwaysDescription
documentIdbodystring—

Failure carries the platform error shape — see Errors.

Examples

hanzo company fundraise deck
import { Configuration, CompanyApi } from 'hanzoai';

const api = new CompanyApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postCompanyFundraiseDeck();
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()
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
}
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?;
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();
curl -X POST https://api.hanzo.ai/v1/company/fundraise/deck \
  -H "Authorization: Bearer $HANZO_API_KEY"

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:

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 · All Hanzo APIs · Interactive reference

Was this page useful?