# Source: https://planetscale.com/docs/api/reference/create_keyspace.md

# Create a keyspace

> 
### Authorization
A service token   must have at least one of the following access   in order to use this API endpoint:

**Service Token Accesses**
 `create_branch`





## OpenAPI

````yaml post /organizations/{organization}/databases/{database}/branches/{branch}/keyspaces
openapi: 3.0.1
info:
  title: PlanetScale API
  description: |-

    <p>PlanetScale API</p>
    &copy; 2025 PlanetScale, Inc.
  version: v1
  x-copyright: '&copy; 2025 PlanetScale, Inc.'
servers:
  - url: https://api.planetscale.com/v1
security:
  - ApiKeyHeader:
      - Authorization
tags:
  - name: Backups
    description: |2
                Resources for managing database branch backups.
  - name: Branch changes
    description: |2
                Resources for managing cluster changes.
  - name: Cluster extensions
    description: |2
                Resources for managing cluster extension configuration.
  - name: Branch log signatures
    description: |2
                Resources for retrieving branch log access signatures.
  - name: Cluster parameters
    description: |2
                Resources for managing cluster configuration parameters.
  - name: Database branch keyspaces
    description: |2
                Resources for managing keyspaces.
  - name: Database branch passwords
    description: |2
                Resources for managing database branch passwords.
  - name: Database Postgres IP restrictions
    description: |2
                Resources for managing Postgres IP restriction entries for databases.

                Note: This endpoint is only available for PostgreSQL databases. For MySQL databases, use the Database Branch Passwords endpoint.
  - name: Databases
    description: |2
                  Resources for managing databases within an organization.
  - name: Keyspace VSchemas
    description: |2
                Resources for managing VSchemas within a keyspace.
  - name: OAuth applications
    description: |2
                Resources for managing OAuth applications.
  - name: OAuth tokens
    description: |2
                Resources for managing OAuth tokens.
  - name: Organization members
    description: |2
                Resources for managing organization members and their roles.
  - name: Organizations
    description: |2
                  Resources for managing organizations.
  - name: Bouncer resizes
    description: |2
                Resources for managing Postgres bouncer resize requests.
  - name: Bouncers
    description: |2
                Resources for managing postgres bouncers.
  - name: Roles
    description: |2
                Resources for managing role credentials.
  - name: Query Insights reports
    description: |2
                Resources for downloading query insights data.
  - name: Service tokens
    description: |2
                API endpoints for managing service tokens within an organization.
  - name: Users
    description: |2
                Resources for managing users.
  - name: Workflows
    description: |2
                API endpoints for managing workflows.
  - name: Deploy requests
    description: |2
                  Resources for managing deploy requests.
  - name: Webhooks
    description: |2
                  Resources for managing database webhooks.
  - name: Invoices
    description: |2
                  Resources for managing invoices.
  - name: Organization teams
    description: |2
                  Resources for managing teams within an organization. Teams allow you to group members and grant them access to specific databases.

                  Note: Teams managed through SSO/directory services cannot be modified via API.
paths:
  /organizations/{organization}/databases/{database}/branches/{branch}/keyspaces:
    post:
      tags:
        - Database branch keyspaces
      summary: Create a keyspace
      description: >+

        ### Authorization

        A service token   must have at least one of the following access   in
        order to use this API endpoint:


        **Service Token Accesses**
         `create_branch`

      operationId: create_keyspace
      parameters:
        - name: organization
          in: path
          required: true
          description: The name of the organization the branch belongs to
          schema:
            type: string
        - name: database
          in: path
          required: true
          description: The name of the database the branch belongs to
          schema:
            type: string
        - name: branch
          in: path
          required: true
          description: The name of the branch
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the keyspace
                cluster_size:
                  type: string
                  description: >-
                    The database cluster size name (e.g., 'PS_10', 'PS_80'). Use
                    the 'List available cluster sizes' endpoint to get available
                    options for your organization.
                    /v1/organizations/:organization/cluster-size-skus
                extra_replicas:
                  type: integer
                  description: >-
                    The number of additional replicas beyond the included
                    default
                shards:
                  type: integer
                  description: 'The number of shards. Default: 1'
              additionalProperties: false
              required:
                - name
                - cluster_size
      responses:
        '200':
          description: Returns a created keyspace
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The ID of the keyspace
                  name:
                    type: string
                    description: Name of the keyspace
                  shards:
                    type: integer
                    description: The number of keyspace shards
                  sharded:
                    type: boolean
                    description: If the keyspace is sharded
                  replicas:
                    type: integer
                    description: Total number of replicas in the keyspace
                  extra_replicas:
                    type: integer
                    description: Number of extra replicas in the keyspace
                  created_at:
                    type: string
                    description: When the keyspace was created
                  updated_at:
                    type: string
                    description: When the keyspace was last updated
                  cluster_name:
                    type: string
                    description: The SKU representing the keyspace cluster size
                  cluster_display_name:
                    type: string
                    description: The SKU representing the keyspace cluster size for display
                  resizing:
                    type: boolean
                    description: Is the keyspace currently resizing
                  resize_pending:
                    type: boolean
                    description: Is the keyspace awaiting a resize
                  ready:
                    type: boolean
                    description: Is the keyspace provisioned and serving traffic
                  metal:
                    type: boolean
                    description: Is the keyspace running on metal instances
                  default:
                    type: boolean
                    description: Is this the default keyspace for the branch
                  imported:
                    type: boolean
                    description: Is this keyspace used in an import
                  vector_pool_allocation:
                    type: number
                    description: >-
                      Percentage of buffer pool memory allocated to vector
                      indexes
                  replication_durability_constraints:
                    type: object
                    properties:
                      strategy:
                        type: string
                        enum:
                          - available
                          - lag
                          - always
                        description: The replication durability strategy
                    additionalProperties: false
                    required:
                      - strategy
                  vreplication_flags:
                    type: object
                    properties:
                      optimize_inserts:
                        type: boolean
                        description: Enable optimized inserts
                      allow_no_blob_binlog_row_image:
                        type: boolean
                        description: Allow no blob binlog row image
                      vplayer_batching:
                        type: boolean
                        description: Enable VPlayer batching
                    additionalProperties: false
                    required:
                      - optimize_inserts
                      - allow_no_blob_binlog_row_image
                      - vplayer_batching
                additionalProperties: false
                required:
                  - id
                  - name
                  - shards
                  - sharded
                  - replicas
                  - extra_replicas
                  - created_at
                  - updated_at
                  - cluster_name
                  - cluster_display_name
                  - resizing
                  - resize_pending
                  - ready
                  - metal
                  - default
                  - imported
                  - vector_pool_allocation
                  - replication_durability_constraints
                  - vreplication_flags
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
components:
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: Authorization

````

---

> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://planetscale.com/llms.txt