---
title: "Create organization"
method: POST
path: "/v2/agentic/organization/create"
tags: ["Agentic"]
---

# Create organization

`POST /v2/agentic/organization/create`

## Request

- Base URL: `https://api.zenzap.co`
- URL: `https://api.zenzap.co/v2/agentic/organization/create`
- Auth: none required
- TypeScript: <https://skmtc.dev/zenzap/apis/zenzap-external-integration-api/docs/v2/agentic/organization/create/post.ts> (a function with typed inputs; its response is checked against the schema)

Allows an external AI agent to programmatically create a Zenzap organization,
install a bot (the agent itself), and invite a human user — all in a single request.

**Authentication:** None required. This endpoint is publicly accessible.

**Rate limit:** 1 request per minute per IP.

Supports two content types:
- `application/json` — for requests without a logo
- `multipart/form-data` — for requests that include a company logo (`filePart`)

Once you receive the `201` response, use the returned `credentials` to authenticate
all subsequent API calls. See [Authentication](/api-reference/authentication) for details.

## Request body

- AgenticOrganizationCreateRequest
  - `companyName` string, required: Display name of the organization.
  - `humanEmail` string, email, required: The human user who will receive an invite and become the org's first member.
  - `companySize` integer, required: Number of employees. Mapped to a size range.
  - `industry` string, required: Free-text industry description (e.g. "Software", "Healthcare").
  - `botName` string, required: Display name for the agent bot installed in the organization.

## Response `201`

Organization created successfully

- AgenticOrganizationCreateResponse
  - `organizationId` string, uuid: UUID of the newly created organization.
  - `botProfileId` string: The bot's identity (format `b@<uuid>`). Use as `senderId` filter when polling.
  - `channelId` string, uuid: The bot's control channel ID (same as the `Control Topic ID` credential).
  - `humanProfileId` string, uuid: The pending profile ID of the invited human. Use this to identify the human once they join.
  - `credentials` object[]: API credentials for the bot. Store the API Secret securely.
    - `label` string
    - `value` string

## Other responses

- `400`: Validation error
- `429`: Rate limit exceeded (1 request per minute per IP)

---

[API](https://skmtc.dev/zenzap/apis/zenzap-external-integration-api.md) - [All operations](https://skmtc.dev/zenzap/apis/zenzap-external-integration-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zenzap/apis/zenzap-external-integration-api/revisions/37faae2c2036?raw)
