---
title: "Create Provider Organization"
method: POST
path: "/providers/{provider_id}/organizations"
tags: ["Providers", "Managed Service Provider"]
---

# Create Provider Organization

`POST /providers/{provider_id}/organizations`

## Request

- Base URL: `https://console.jumpcloud.com/api/v2`
- URL: `https://console.jumpcloud.com/api/v2/providers/{provider_id}/organizations`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/docs/providers/:provider_id/organizations/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint creates a new organization under the provider. To create an MSP trial child
organization, set trial to true and optionally trialDurationDays.

## Request body

- CreateOrganization
  - `name` string
  - `maxSystemUsers` integer: The maximum number of users allowed in this organization. Requires organizations.billing scope to modify.
  - `trial` boolean: When true, creates the child organization in an MSP time-based trial state (organization_create event includes timeBasedTrial and trialEndDate). Requires organizations.billing scope, provider organization creation to be enabled, and that MSP trial child organizations are enabled for the provider. Omit or set false for a standard child organization create.
  - `trialDurationDays` integer: Optional trial length in days. Only valid when trial is true. Must be one of the allowed trial durations (currently 30). Defaults to 30 days when omitted.

## Response `201`

CREATED

- Organization
  - `id` string
  - `name` string
  - `maxSystemUsers` integer: The maximum number of users allowed in this organization. Requires organizations.billing scope to modify.
  - `trialEndDate` string: Present on create when trial was true: calendar end date (YYYY-MM-DD) computed at create time. Also included on organization_create for downstream billing.

## Other responses

- `400`: A 'Bad Request' error will be returned in one of the following scenarios: * The request payload contains fields that are not allowed (only 'name', 'maxSystemUsers', 'trial', and 'trialDurationDays' are allowed). * The user creating the org specifies 'maxSystemUsers' in the request payload but does not have the organizations.billing scope. * The required field 'name' is missing from the request payload or is an empty string or a string that only contains whitespaces. * trialDurationDays is sent without trial true, or trialDurationDays is invalid or not an allowed duration (errorCode INVALID_TRIAL_DURATION).
- `403`: A 'Forbidden' error will be returned in one of the following scenarios: * Organization creation is disabled for the provider. * trial is true but MSP trial child org creation is not enabled for this provider (errorCode TRIAL_NOT_ENABLED). * trial is true but the caller lacks organizations.billing scope, organization creation is disabled, the provider is not an MSP provider, or the caller is a service account (errorCode TRIAL_PERMISSION_DENIED). MSP trial errors use the ErrorWithErrorCode schema with integer code (HTTP status), message, and errorCode.
- `500`: Internal Server Error

---

[API](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2.md) - [All operations](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/revisions/3f09fe63caaa?raw)
