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

# Create a new user

> Create a new user with client. The user and client will be activated automatically.



## OpenAPI

````yaml /api-reference/services_documented/iam_reseller_api.yaml post /iam/users
openapi: 3.1.0
info:
  title: Gcore OpenAPI – IAM Reseller API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: '2026-05-11T15:10:30.328297+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: IAM Reseller Account
    description: >-
      Account management operations including authentication, password
      management, and account details.
    x-displayName: Account
  - name: IAM Reseller Clients
    description: >-
      Clients management API.


      Note: For client's creation use [create a new
      user](#tag/Users/paths/~1users/post) method from Users management API.
    x-displayName: Clients
  - name: IAM Reseller Users
    description: Client's users management API.
    x-displayName: Users
  - name: Sellers
    description: Seller management API.
    x-displayName: Sellers
  - name: Products' availability
    description: >-
      As a reseller you can get access to multiple products that available for
      you. Such as CDN.


      With this API you can manage which products are available for you clients
      by default or manage personal

      products' availability for each client separately.
    x-displayName: Products' availability
  - name: Services
    description: Client services management API for managing service statuses and options.
    x-displayName: Services
  - name: IAM Reseller Features
    description: You can manage both free and paid features available for you.
    x-displayName: Features
  - name: Branding
    description: >-
      Branding settings management API for customizing reseller branding
      including logos, colors, and domain settings.
    x-displayName: Branding
  - name: Notification Settings
    description: Notification settings which not connected with branding
    x-displayName: Notification Settings
  - name: Other
    x-displayName: Other
paths:
  /iam/users:
    post:
      tags:
        - IAM Reseller Users
      summary: Create a new user
      description: >-
        Create a new user with client. The user and client will be activated
        automatically.
      operationId: iamCreateUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserRequest'
      responses:
        '201':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/iam_reseller_User'
        '400':
          $ref: '#/components/responses/iam_reseller_400'
        '401':
          $ref: '#/components/responses/401'
components:
  schemas:
    CreateUserRequest:
      required:
        - company
        - email
        - password
      type: object
      properties:
        email:
          type: string
          description: >-
            User's email address. This address will be used as client's email
            address by default.
          format: email
        password:
          type: string
          description: User's password.
          format: password
        company:
          type: string
          description: Client's company name.
        user_type:
          type: string
          description: User's type. It must be `common`.
          enum:
            - common
        name:
          type: string
          description: User's name. This name will be used as client's name by default.
        phone:
          type: string
          description: >-
            User's phone number. This phone will be used as client's phone by
            default.
        seller:
          type: integer
          description: Client's seller ID.
        services:
          type: array
          description: >-
            Specify products if you want to override [default product
            availability](#tag/Products'-availability/paths/~1products~1availability~1defaults/get)
            for this client.


            `null` – the product will inherit the [default
            availability](#tag/Products'-availability/paths/~1products~1availability~1defaults/get)
            for this product.

            `true` – set personal availability for a client as available. Please
            be informed that product will not be enabled for a client until you

            [enable it and change the service
            status](#tag/Services/paths/~1clients~1{clientId}~1services~1{serviceId}/patch).

            `false` – set personal availability for a client as unavailable.
          items:
            type: object
            properties:
              product_name:
                $ref: '#/components/schemas/ServiceName'
              available:
                type: boolean
                description: >-
                  `true` – the product will be available to activate.


                  `false` – the product will not be available to activate.


                  `null` – the product will inherit the default availability for
                  this product.
        lang:
          $ref: '#/components/schemas/iam_reseller_Language'
        custom_id:
          type: string
          description: >-
            Client's custom ID. You can use this field for your internal
            identification.
        country_code:
          type: string
          description: Client's country code.
        is_test:
          $ref: '#/components/schemas/ClientIsTest'
    iam_reseller_User:
      type: object
      required:
        - id
        - email
        - name
        - lang
        - phone
        - company
        - reseller
        - client
        - deleted
        - groups
        - activated
        - sso_auth
        - two_fa
        - auth_types
        - user_type
        - is_active
        - client_and_roles
      properties:
        id:
          type: integer
          description: User's ID.
          readOnly: true
        email:
          $ref: '#/components/schemas/UserEmail'
        name:
          $ref: '#/components/schemas/UserName'
        lang:
          $ref: '#/components/schemas/Language-2'
        phone:
          $ref: '#/components/schemas/UserPhone'
        company:
          $ref: '#/components/schemas/UserCompany'
        reseller:
          type: integer
          description: Services provider ID.
          readOnly: true
        client:
          type: number
          description: User's account ID.
          readOnly: true
        deleted:
          type: boolean
          description: Deletion flag. If `true` then user was deleted.
          readOnly: true
        groups:
          $ref: '#/components/schemas/UserGroups'
        activated:
          type: boolean
          description: |-
            Email confirmation:
            - `true` – user confirmed the email;
            - `false` – user did not confirm the email.
          readOnly: true
        sso_auth:
          type: boolean
          description: SSO authentication flag. If `true` then user can login via SAML SSO.
          readOnly: true
        two_fa:
          type: boolean
          description: |-
            Two-step verification:
            - `true` – user enabled two-step verification;
            - `false` – user disabled two-step verification.
          readOnly: true
        auth_types:
          $ref: '#/components/schemas/AuthTypes'
        user_type:
          $ref: '#/components/schemas/UserType'
        is_active:
          type: boolean
          description: User activity flag.
          readOnly: true
        client_and_roles:
          $ref: '#/components/schemas/UserClientAndRoles'
    ServiceName:
      type: string
      description: Service's name.
      enum:
        - CDN
        - STORAGE
        - STREAMING
        - DNS
        - DDOS
        - CLOUD
    iam_reseller_Language:
      type: string
      description: Language code.
      enum:
        - de
        - en
        - ru
        - zh
        - az
    ClientIsTest:
      type: boolean
      description: |-
        System field:
        - `true` — a test account;
        - `false` — a production account.
    UserEmail:
      type: string
      format: email
      description: User's email address.
    UserName:
      type: string
      description: User's name.
      nullable: true
    Language-2:
      type: string
      description: |-
        User's language.

        Defines language of the control panel and email messages.
      enum:
        - de
        - en
        - ru
        - zh
        - az
    UserPhone:
      type: string
      description: User's phone.
      nullable: true
    UserCompany:
      type: string
      description: User's company.
    UserGroups:
      type: array
      description: |-
        User's group in the current account.

        IAM supports 5 groups:

         - Users
        - Administrators
        - Engineers
        - Purge and Prefetch only (API)
        - Purge and Prefetch only (API+Web)
      items:
        $ref: '#/components/schemas/Group'
    AuthTypes:
      type: array
      items:
        $ref: '#/components/schemas/AuthType'
      description: System field. List of auth types available for the account.
    UserType:
      type: string
      description: User's type.
      enum:
        - common
        - reseller
        - seller
      readOnly: true
    UserClientAndRoles:
      type: array
      description: List of user's clients. User can access to one or more clients.
      readOnly: true
      items:
        required:
          - client_company_name
          - client_id
          - user_id
          - user_roles
        type: object
        properties:
          client_id:
            type: integer
          client_company_name:
            type: string
          user_roles:
            type: array
            description: User role in this client.
            example:
              - '2'
            items:
              type: string
              description: String representation of role id.
          user_id:
            type: integer
            description: User's ID.
    iam_reseller_ValidationError:
      title: Validation error
      type: object
      properties:
        errors:
          type: object
          description: This object contains error descriptions per field from your request.
          additionalProperties:
            type: array
            description: Error list for specific field.
            items:
              type: string
              description: Error description
    JSONParseError:
      title: Invalid request JSON schema
      type: object
      properties:
        message:
          type: string
          description: >-
            This message describes error if json schema from your request is
            invalid.
          example: >
            JSON parse error - Expecting ',' delimiter: line 3 column 33 (char
            77)
    Group:
      type: object
      properties:
        id:
          type: integer
          example: 1
          description: >-
            Group's ID: Possible values are:   


            - 1 - Administrators* 2 - Users* 5 - Engineers* 3009 - Purge and
            Prefetch only (API+Web)* 3022 - Purge and Prefetch only (API)
        name:
          type: string
          example: Administrators
          description: Group's name.
          enum:
            - Users
            - Administrators
            - Engineers
            - Purge and Prefetch only (API)
            - Purge and Prefetch only (API+Web)
    AuthType:
      type: string
      description: Auth types.
      enum:
        - password
        - sso
        - github
        - google-oauth2
  responses:
    '401':
      description: >-
        Authentication credentials were not provided or given token not valid
        for any token type.
    iam_reseller_400:
      description: Validation error
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/iam_reseller_ValidationError'
              - $ref: '#/components/schemas/JSONParseError'
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````