> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siro.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create user

> Create user



## OpenAPI

````yaml post /v1/core/users
openapi: 3.0.0
info:
  version: 1.0.0
  title: Swagger API
servers:
  - url: https://functions.siro.ai/api-externalApi
    description: Siro API external API endpoint
security: []
externalDocs:
  description: View the raw OpenAPI Specification in JSON format
  url: /swagger.json
paths:
  /v1/core/users:
    post:
      summary: Create user
      description: Create user
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: >-
                    The email of the user in your system. They will receive a
                    password reset email to this address when their user is
                    created in Siro. 
                organizationId:
                  type: string
                password:
                  type: string
                  description: >-
                    Deprecated. This field is ignored; the backend generates a
                    secure random password for the account.
                phoneNumber:
                  type: string
                  description: The user's phone number.
                firstName:
                  type: string
                  description: The user's first name.
                lastName:
                  type: string
                  description: The user's last name.
                memberTeamId:
                  type: string
                  description: >-
                    The 6 digit code for the user's team. Strongly suggested to
                    add this.
                externalId:
                  type: string
                  description: >-
                    The unique id of the resource in your CRM system. Multiple
                    resources cannot have the same externalId within the same
                    organization. 
                coachTeamIds:
                  type: array
                  items:
                    type: string
                isAdmin:
                  type: boolean
                billable:
                  type: boolean
                  description: >-
                    Whether the user is billable and should be included in the
                    license count
                contactSettings:
                  type: object
                  properties:
                    suppressEmails:
                      type: boolean
                      description: Whether the user should receive any emails
                    suppressEmailErrors:
                      type: boolean
                      default: false
                      description: >-
                        If true, email-related errors will be logged but not
                        thrown. User operations will succeed even if email
                        operations fail. Defaults to false.
                  description: Contact settings for the user
              required:
                - email
                - organizationId
      responses:
        '200':
          description: Create user
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  email:
                    type: string
                    nullable: true
                  organizationId:
                    type: string
                  phoneNumber:
                    type: string
                    nullable: true
                  firstName:
                    type: string
                    nullable: true
                  lastName:
                    type: string
                    nullable: true
                  memberTeamId:
                    type: string
                    nullable: true
                  coachTeamIds:
                    type: array
                    items:
                      type: string
                  externalId:
                    type: string
                    nullable: true
                  createdAt:
                    type: string
                    nullable: true
                  disabled:
                    type: boolean
                  billable:
                    type: boolean
                  contactSettings:
                    type: object
                    properties:
                      suppressEmails:
                        type: boolean
                        description: Whether the user should receive any emails
                      suppressEmailErrors:
                        type: boolean
                        default: false
                        description: >-
                          If true, email-related errors will be logged but not
                          thrown. User operations will succeed even if email
                          operations fail. Defaults to false.
                    description: Contact settings for the user
                required:
                  - id
                  - email
                  - organizationId
                  - phoneNumber
                  - firstName
                  - lastName
                  - memberTeamId
                  - coachTeamIds
                  - externalId
                  - createdAt
                  - disabled
                  - billable
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Organization API token
      description: >-
        Organization integration token from Siro admin (Person icon → API
        Tokens). Send Authorization: Bearer <organization-api-token>. This is
        not the OAuth access token used with api.siro.ai user-scoped endpoints.
      x-default: <organization-api-token>

````