# Create client

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /client:
    post:
      summary: Create client
      deprecated: false
      description: Create a client and assign them to one or more workspaces.
      tags:
        - Client Access
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-apidog-refs:
                01KAKKAGDZC929ANQ6H66BRJS7:
                  $ref: '#/components/schemas/CreateClientRequest'
                  x-apidog-overrides:
                    workspace_id: &ref_0
                      type: string
                      description: >-
                        Workspace ID you (the API user) have access to. Does
                        **not** determine the workspace assigned to the client.
                      examples:
                        - 65f99a0dd96fae8ab61130c0
                    client_last_name: &ref_1
                      type: string
                      examples:
                        - Smith
                    client_business_name: &ref_2
                      type: string
                      examples:
                        - Nova Consulting Ltd
                  required:
                    - workspace_id
                    - client_last_name
                    - client_business_name
              x-apidog-orders:
                - 01KAKKAGDZC929ANQ6H66BRJS7
              properties:
                workspace_id: *ref_0
                client_email:
                  type: string
                  examples:
                    - nova.smith@example.com
                client_first_name:
                  type: string
                  examples:
                    - Nova
                client_last_name: *ref_1
                client_business_name: *ref_2
                workspaces:
                  type: array
                  items: &ref_3
                    $ref: '#/components/schemas/ClientWorkspacePermission'
              required:
                - workspace_id
                - client_email
                - client_first_name
                - client_last_name
                - client_business_name
                - workspaces
              x-apidog-ignore-properties:
                - workspace_id
                - client_email
                - client_first_name
                - client_last_name
                - client_business_name
                - workspaces
            example:
              workspace_id: 65f99a0dd96fae8ab61130c0
              client_email: nova.smith@example.com
              client_first_name: Nova
              client_last_name: Smith
              client_business_name: Nova Consulting Ltd
              workspaces:
                - id: 65f99a0dd96fae8ab61130c0
                  permissions:
                    - UNIBOX_FULL_ACCESS
                  hide_labels: []
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateClientResponse'
              example:
                client_id: 70218d5e05561a3877dcb77f
                email: nova.smith@example.com
                password: Xp9#Ld2!ak
          headers: {}
          x-apidog-name: OK
      security:
        - ApiKeyAuth: []
          x-apidog:
            schemeGroups:
              - id: Ys_bYrz4YSdc8xPWkraN2
                schemeIds:
                  - ApiKeyAuth
            required: true
            use:
              id: Ys_bYrz4YSdc8xPWkraN2
            scopes:
              Ys_bYrz4YSdc8xPWkraN2:
                ApiKeyAuth: []
      x-apidog-folder: Client Access
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/929054/apis/api-24563838-run
components:
  schemas:
    ClientWorkspacePermission:
      type: object
      required:
        - id
        - permissions
        - hide_labels
      properties:
        id:
          type: string
          description: Workspace ID where this client has permissions
          examples:
            - 65f99a0dd96fae8ab61130c0
        permissions:
          type: array
          description: |
            Array that must contain exactly **one** permission.
            Allowed values:
                    - FULL_ACCESS (application full access)
                    - UNIBOX_FULL_ACCESS (Unibox-only access)
          items:
            type: string
          examples:
            - - FULL_ACCESS
        hide_labels:
          type: array
          description: Labels hidden from this client in UI, e.g. NOT_INTERESTED
          items:
            type: string
          examples:
            - - NOT_INTERESTED
      x-apidog-orders:
        - id
        - permissions
        - hide_labels
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    CreateClientRequest:
      type: object
      required:
        - workspace_id
        - client_email
        - client_first_name
        - workspaces
      properties:
        workspace_id:
          type: string
          description: >-
            Workspace ID you (the API user) have access to. Does **not**
            determine the workspace assigned to the client.
          examples:
            - 65f99a0dd96fae8ab61130c0
        client_email:
          type: string
          examples:
            - nova.smith@example.com
        client_first_name:
          type: string
          examples:
            - Nova
        client_last_name:
          type: string
          examples:
            - Smith
        client_business_name:
          type: string
          examples:
            - Nova Consulting Ltd
        workspaces:
          type: array
          items: *ref_3
      x-apidog-orders:
        - workspace_id
        - client_email
        - client_first_name
        - client_last_name
        - client_business_name
        - workspaces
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    CreateClientResponse:
      type: object
      properties:
        client_id:
          type: string
          examples:
            - 70218d5e05561a3877dcb77f
        email:
          type: string
          examples:
            - nova.smith@example.com
        password:
          type: string
          description: Auto-generated password (only shown on creation)
          examples:
            - Xp9#Ld2!ak
      x-apidog-orders:
        - client_id
        - email
        - password
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes:
    ApiKeyAuth:
      type: apikey
      in: header
      name: x-api-key
      description: |
        API key issued in the PlusVibe dashboard. The server reads it
        from the `x-api-key` header and injects it into the request as
        the `api_key` query parameter, which is why you will see
        `api_key` referenced in validation errors.
    apiKey:
      type: apikey
      in: body
      name: api_key
      description: API key passed in request body
servers:
  - url: https://api.plusvibe.ai/api/v1
    description: Prod Env
security:
  - ApiKeyAuth: []
    x-apidog:
      schemeGroups:
        - id: uS5KiuC4wfZHK42AzOfA_
          schemeIds:
            - ApiKeyAuth
      required: true
      use:
        id: uS5KiuC4wfZHK42AzOfA_
      scopes:
        uS5KiuC4wfZHK42AzOfA_:
          ApiKeyAuth: []

```
