---
title: "User Organizations Create"
method: POST
path: "/user/organizations/"
tags: ["users"]
---

# User Organizations Create

`POST /user/organizations/`

Args:
    - user: The user creating the organization
    - company_organization: The company organization to add the organization to
    - subscription: The subscription to add to the organization
    - role: The role to add to the organization
Signals:
- post_save: Organization
    - Add the free trial "seat_based_team" subscription if the organization is newly created

## Headers

- `Authorization` string, required

## Request body

- OrganizationCreateRequest
  - `user` integer, required
  - `disabled_span_behaviors` string[] — Behavior slugs excluded from span-behavior evaluation.
  - `warnings_settings` union
    - WarningsSettingsRequest — Schema-only mirror of the WarningsSettings pydantic model. Never used at runtime — get_warnings_settings validates through pydantic; this exists so the generated schema types the field (was string). Keep the fields in lockstep with utils.keywordsai_types.types.WarningsSettings.
      - `fallback` boolean
      - `retry` boolean
      - `invalid_json` boolean
      - `stream_timeout` boolean
      - `empty_response` boolean
      - `using_keywordsai_credentials` boolean
    - unknown
  - `custom_property_index_mapping` object, nullable — Custom property key -> indexed ClickHouse column name (e.g. custom_string_1).
  - `created_at` string, date-time, nullable
  - `first_api_call_at` string, date-time, nullable
  - `last_api_call_at` string, date-time, nullable
  - `logo` string, binary, nullable
  - `notes` string
  - `name` string, required
  - `digest_email_inboxes` string[]
  - `organization_size` integer
  - `product_use_cases` string[]
  - `prioritize_objectives` string[]
  - `unique_organization_id` string
  - `budget_goal` string
  - `monthly_spending` number, double
  - `preset_models` string[]
  - `preset_option` string
  - `dynamic_routing_enabled` boolean
  - `fallback_model_enabled` boolean
  - `fallback_models` string[]
  - `alert_settings` unknown
  - `system_fallback_enabled` boolean
  - `alerts_enabled` boolean
  - `disable_log` boolean
  - `status` 'active' | 'deleting' | 'inactive' — * `active` - Active * `deleting` - Deleting * `inactive` - Inactive
  - `stripe_customer_id` string
  - `has_api_call` boolean
  - `onboarded` boolean
  - `has_api_call_with_non_default_key` boolean
  - `onboarding_integration_options` unknown
  - `onboarding_key` string
  - `onboarding_method` union
    - 'gateway' | 'tracing' — * `gateway` - Gateway * `tracing` - Tracing
    - ''
    - unknown
  - `gateway_onboarding_completed_at` string, date-time, nullable
  - `tracing_onboarding_completed_at` string, date-time, nullable
  - `curr_onboarding_step` integer
  - `onboarding_start` string, date-time
  - `onboarding_end` string, date-time, nullable
  - `enable_cache` boolean
  - `archive_duration` integer
  - `cache_saved_cost` number, double
  - `cache_hit_count` integer
  - `cache_hit_tokens` integer
  - `omit_log_when_cache_hit` boolean
  - `cache_saved_time` number, double
  - `last_cache_aggregations_update` string, date-time
  - `classification_percentage` number, double, nullable
  - `use_custom_credentials` boolean
  - `default_customer_user_budget` number, double, nullable
  - `llm_gateway_markup_rate` number, double — LLM gateway markup rate (default 0% markup). Applied when Keywords AI provides LLM credentials. Formula: credit_charge = cost * (1 + llm_gateway_markup_rate)
  - `credit_low_balance_threshold` number, double, nullable — Credit balance threshold (in USD) to trigger low balance warning webhook. When credit balance drops below this value, a credit_low_balance_threshold_reached webhook event is dispatched once until balance goes above threshold again.
  - `credit_auto_top_off_threshold` number, double, nullable — Credit balance threshold (in USD) to trigger auto top-off. When credit balance drops below this value, automatically charge credit_auto_top_off_amount via Stripe.
  - `credit_auto_top_off_amount` number, double, nullable — Amount (in USD) to automatically charge when credit balance drops below credit_auto_top_off_threshold. Requires stripe_customer_id with valid payment method.
  - `is_auto_top_off_enabled` boolean — Enable automatic credit top-off. When enabled and balance drops below credit_auto_top_off_threshold, automatically charges credit_auto_top_off_amount via Stripe. Requires stripe_customer_id with valid payment method.
  - `metadata_keys` string[], nullable
  - `custom_models` string[], nullable
  - `spend_cap` number, double, nullable — Spend cap amount in USD. Enforced in real-time via atomic Redis limiter.
  - `spend_cap_warning_threshold` number, double, nullable — Spend threshold in USD to trigger warning alert.
  - `budget_duration` 'daily' | 'weekly' | 'monthly' — * `daily` - daily * `weekly` - weekly * `monthly` - monthly
  - `use_keywordsai_credentials` boolean
  - `rate_limit` number, double, nullable
  - `customer_user_rate_limit` number, double, nullable
  - `retry_enabled` boolean
  - `retry_after` number, double
  - `num_retries` integer
  - `custom_preset_models` string[]
  - `image_assets` string[]
  - `logs_retention_period_in_days` integer, nullable
  - `is_extended_retention_enabled` boolean
  - `is_custom_retention_enabled` boolean
  - `starred` boolean
  - `is_span_behaviors_enabled` boolean
  - `company_organization` integer, nullable
  - `curr_owner` integer, nullable

## Response `201`

- OrganizationCreate
  - `id` integer, required
  - `disabled_span_behaviors` string[] — Behavior slugs excluded from span-behavior evaluation.
  - `warnings_settings` union
    - WarningsSettings — Schema-only mirror of the WarningsSettings pydantic model. Never used at runtime — get_warnings_settings validates through pydantic; this exists so the generated schema types the field (was string). Keep the fields in lockstep with utils.keywordsai_types.types.WarningsSettings.
      - `fallback` boolean
      - `retry` boolean
      - `invalid_json` boolean
      - `stream_timeout` boolean
      - `empty_response` boolean
      - `using_keywordsai_credentials` boolean
    - unknown
  - `custom_property_index_mapping` object, nullable — Custom property key -> indexed ClickHouse column name (e.g. custom_string_1).
  - `created_at` string, date-time, nullable
  - `first_api_call_at` string, date-time, nullable
  - `last_api_call_at` string, date-time, nullable
  - `logo` string, uri, nullable
  - `notes` string
  - `name` string, required
  - `digest_email_inboxes` string[]
  - `organization_size` integer
  - `product_use_cases` string[]
  - `prioritize_objectives` string[]
  - `unique_organization_id` string
  - `budget_goal` string
  - `monthly_spending` number, double
  - `preset_models` string[]
  - `preset_option` string
  - `dynamic_routing_enabled` boolean
  - `fallback_model_enabled` boolean
  - `fallback_models` string[]
  - `alert_settings` unknown
  - `system_fallback_enabled` boolean
  - `alerts_enabled` boolean
  - `disable_log` boolean
  - `status` 'active' | 'deleting' | 'inactive' — * `active` - Active * `deleting` - Deleting * `inactive` - Inactive
  - `stripe_customer_id` string
  - `has_api_call` boolean
  - `onboarded` boolean
  - `has_api_call_with_non_default_key` boolean
  - `onboarding_integration_options` unknown
  - `onboarding_key` string
  - `onboarding_method` union
    - 'gateway' | 'tracing' — * `gateway` - Gateway * `tracing` - Tracing
    - ''
    - unknown
  - `gateway_onboarding_completed_at` string, date-time, nullable
  - `tracing_onboarding_completed_at` string, date-time, nullable
  - `curr_onboarding_step` integer
  - `onboarding_start` string, date-time
  - `onboarding_end` string, date-time, nullable
  - `enable_cache` boolean
  - `archive_duration` integer
  - `cache_saved_cost` number, double
  - `cache_hit_count` integer
  - `cache_hit_tokens` integer
  - `omit_log_when_cache_hit` boolean
  - `cache_saved_time` number, double
  - `last_cache_aggregations_update` string, date-time
  - `classification_percentage` number, double, nullable
  - `use_custom_credentials` boolean
  - `default_customer_user_budget` number, double, nullable
  - `llm_gateway_markup_rate` number, double — LLM gateway markup rate (default 0% markup). Applied when Keywords AI provides LLM credentials. Formula: credit_charge = cost * (1 + llm_gateway_markup_rate)
  - `credit_low_balance_threshold` number, double, nullable — Credit balance threshold (in USD) to trigger low balance warning webhook. When credit balance drops below this value, a credit_low_balance_threshold_reached webhook event is dispatched once until balance goes above threshold again.
  - `credit_auto_top_off_threshold` number, double, nullable — Credit balance threshold (in USD) to trigger auto top-off. When credit balance drops below this value, automatically charge credit_auto_top_off_amount via Stripe.
  - `credit_auto_top_off_amount` number, double, nullable — Amount (in USD) to automatically charge when credit balance drops below credit_auto_top_off_threshold. Requires stripe_customer_id with valid payment method.
  - `is_auto_top_off_enabled` boolean — Enable automatic credit top-off. When enabled and balance drops below credit_auto_top_off_threshold, automatically charges credit_auto_top_off_amount via Stripe. Requires stripe_customer_id with valid payment method.
  - `metadata_keys` string[], nullable
  - `custom_models` string[], nullable
  - `spend_cap` number, double, nullable — Spend cap amount in USD. Enforced in real-time via atomic Redis limiter.
  - `spend_cap_warning_threshold` number, double, nullable — Spend threshold in USD to trigger warning alert.
  - `budget_duration` 'daily' | 'weekly' | 'monthly' — * `daily` - daily * `weekly` - weekly * `monthly` - monthly
  - `use_keywordsai_credentials` boolean
  - `rate_limit` number, double, nullable
  - `customer_user_rate_limit` number, double, nullable
  - `retry_enabled` boolean
  - `retry_after` number, double
  - `num_retries` integer
  - `custom_preset_models` string[]
  - `image_assets` string[]
  - `logs_retention_period_in_days` integer, nullable
  - `is_extended_retention_enabled` boolean
  - `is_custom_retention_enabled` boolean
  - `starred` boolean
  - `is_span_behaviors_enabled` boolean
  - `company_organization` integer, nullable
  - `curr_owner` integer, nullable
  - `users` integer[], required

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/versions/c26d550029f8/schema)
