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

# Register a new user account

> Creates a new user account and returns a JWT token in the `token` field for immediate authentication.



## OpenAPI

````yaml /openapi.json post /api/users
openapi: 3.1.0
info:
  title: AnyIP.io API documentation
  description: API documentation
  version: 1.0.0
servers:
  - url: /
    description: ''
security:
  - apiHeader: []
tags:
  - name: Export
    description: Export operations
  - name: IPWhitelist
    description: Supplementary IP whitelist operations
  - name: Payment
    description: Team payment invoice download
  - name: ProxyAccount
    description: Resource 'ProxyAccount' operations.
  - name: ProxyProfile
    description: Supplementary proxy profile operations
  - name: Tag
    description: Core tag operations
  - name: Team
    description: NOWPayments subscription operations
  - name: Traffic
    description: Resource 'Traffic' operations.
  - name: User
    description: Deprecated user subscription and payment operations
paths:
  /api/users:
    post:
      tags:
        - User
      summary: Register a new user account
      description: >-
        Creates a new user account and returns a JWT token in the `token` field
        for immediate authentication.
      operationId: user_post
      parameters: []
      requestBody:
        description: The new User resource
        content:
          application/ld+json:
            schema:
              $ref: '#/components/schemas/User-user.write'
          application/json:
            schema:
              $ref: '#/components/schemas/User-user.write'
          text/html:
            schema:
              $ref: '#/components/schemas/User-user.write'
        required: true
      responses:
        '201':
          description: User resource created
          content:
            application/ld+json:
              schema:
                allOf:
                  - $ref: >-
                      #/components/schemas/User.jsonld-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token
                  - type: object
                    properties:
                      token:
                        readOnly: true
                        type: string
                        description: >-
                          JWT for immediate authentication (same payload as POST
                          /api/login).
                    required:
                      - token
            application/json:
              schema:
                allOf:
                  - $ref: >-
                      #/components/schemas/User-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token
                  - type: object
                    properties:
                      token:
                        readOnly: true
                        type: string
                        description: >-
                          JWT for immediate authentication (same payload as POST
                          /api/login).
                    required:
                      - token
            text/html:
              schema:
                $ref: >-
                  #/components/schemas/User.html-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token
          links: {}
        '400':
          description: Invalid input
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/Error.jsonld'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          links: {}
        '403':
          description: Forbidden
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/Error.jsonld'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          links: {}
        '422':
          description: An error occurred
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/ConstraintViolation.jsonld'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ConstraintViolation'
            application/json:
              schema:
                $ref: '#/components/schemas/ConstraintViolation'
          links: {}
components:
  schemas:
    User-user.write:
      type: object
      description: >-
        Register a new user account. The response includes a JWT token for
        immediate authentication.
      required:
        - email
      properties:
        email:
          maxLength: 255
          format: email
          externalDocs:
            url: https://schema.org/email
          type: string
        first_name:
          maxLength: 100
          type:
            - string
            - 'null'
        last_name:
          maxLength: 100
          type:
            - string
            - 'null'
        finger_print:
          type:
            - string
            - 'null'
        password:
          minLength: 8
          type:
            - string
            - 'null'
    User.jsonld-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token:
      allOf:
        - $ref: '#/components/schemas/HydraItemBaseSchema'
        - type: object
          properties:
            id:
              readOnly: true
              type: string
            email:
              maxLength: 255
              format: email
              externalDocs:
                url: https://schema.org/email
              type: string
            password_set_at:
              type:
                - string
                - 'null'
              format: date-time
            first_name:
              maxLength: 100
              type:
                - string
                - 'null'
            last_name:
              maxLength: 100
              type:
                - string
                - 'null'
            enabled:
              type: boolean
            last_login:
              type:
                - string
                - 'null'
              format: date-time
            api_key:
              type:
                - string
                - 'null'
            roles:
              type: array
              items:
                type:
                  - string
                  - 'null'
            utm_tags:
              type:
                - array
                - 'null'
              items:
                type:
                  - string
                  - 'null'
            bento_hash:
              type:
                - string
                - 'null'
            intercom_hash:
              type:
                - string
                - 'null'
            is_subscription_expired:
              readOnly: true
              default: true
              type: boolean
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
            default_team:
              anyOf:
                - $ref: >-
                    #/components/schemas/Team.jsonld-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token
                - type: 'null'
              readOnly: true
          required:
            - email
      description: >-
        Register a new user account. The response includes a JWT token for
        immediate authentication.
    User-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token:
      type: object
      description: >-
        Register a new user account. The response includes a JWT token for
        immediate authentication.
      properties:
        id:
          readOnly: true
          type: string
        email:
          maxLength: 255
          format: email
          externalDocs:
            url: https://schema.org/email
          type: string
        password_set_at:
          type:
            - string
            - 'null'
          format: date-time
        first_name:
          maxLength: 100
          type:
            - string
            - 'null'
        last_name:
          maxLength: 100
          type:
            - string
            - 'null'
        enabled:
          type: boolean
        last_login:
          type:
            - string
            - 'null'
          format: date-time
        api_key:
          type:
            - string
            - 'null'
        roles:
          type: array
          items:
            type:
              - string
              - 'null'
        utm_tags:
          type:
            - array
            - 'null'
          items:
            type:
              - string
              - 'null'
        bento_hash:
          type:
            - string
            - 'null'
        intercom_hash:
          type:
            - string
            - 'null'
        is_subscription_expired:
          readOnly: true
          default: true
          type: boolean
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        default_team:
          anyOf:
            - $ref: >-
                #/components/schemas/Team-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token
            - type: 'null'
          readOnly: true
      required:
        - email
    User.html-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token:
      type: object
      description: >-
        Register a new user account. The response includes a JWT token for
        immediate authentication.
      properties:
        id:
          readOnly: true
          type: string
        email:
          maxLength: 255
          format: email
          externalDocs:
            url: https://schema.org/email
          type: string
        password_set_at:
          type:
            - string
            - 'null'
          format: date-time
        first_name:
          maxLength: 100
          type:
            - string
            - 'null'
        last_name:
          maxLength: 100
          type:
            - string
            - 'null'
        enabled:
          type: boolean
        last_login:
          type:
            - string
            - 'null'
          format: date-time
        api_key:
          type:
            - string
            - 'null'
        roles:
          type: array
          items:
            type:
              - string
              - 'null'
        utm_tags:
          type:
            - array
            - 'null'
          items:
            type:
              - string
              - 'null'
        bento_hash:
          type:
            - string
            - 'null'
        intercom_hash:
          type:
            - string
            - 'null'
        is_subscription_expired:
          readOnly: true
          default: true
          type: boolean
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        default_team:
          anyOf:
            - $ref: >-
                #/components/schemas/Team.html-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token
            - type: 'null'
          readOnly: true
      required:
        - email
    Error.jsonld:
      allOf:
        - $ref: '#/components/schemas/HydraItemBaseSchema'
        - type: object
          properties:
            title:
              readOnly: true
              description: A short, human-readable summary of the problem.
              type:
                - string
                - 'null'
            detail:
              readOnly: true
              description: >-
                A human-readable explanation specific to this occurrence of the
                problem.
              type:
                - string
                - 'null'
            status:
              type:
                - integer
                - 'null'
              examples:
                - 404
              default: 400
            instance:
              readOnly: true
              description: >-
                A URI reference that identifies the specific occurrence of the
                problem. It may or may not yield further information if
                dereferenced.
              type:
                - string
                - 'null'
            type:
              readOnly: true
              description: A URI reference that identifies the problem type
              type: string
            description:
              readOnly: true
              type:
                - string
                - 'null'
      description: A representation of common errors.
    Error:
      type: object
      description: A representation of common errors.
      properties:
        title:
          readOnly: true
          description: A short, human-readable summary of the problem.
          type:
            - string
            - 'null'
        detail:
          readOnly: true
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          type:
            - string
            - 'null'
        status:
          type:
            - integer
            - 'null'
          examples:
            - 404
          default: 400
        instance:
          readOnly: true
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem. It may or may not yield further information if
            dereferenced.
          type:
            - string
            - 'null'
        type:
          readOnly: true
          description: A URI reference that identifies the problem type
          type: string
    ConstraintViolation.jsonld:
      allOf:
        - $ref: '#/components/schemas/HydraItemBaseSchema'
        - type: object
          properties:
            status:
              default: 422
              type: integer
            violations:
              type: array
              items:
                type: object
                properties:
                  propertyPath:
                    type: string
                    description: The property path of the violation
                  message:
                    type: string
                    description: The message associated with the violation
                  code:
                    type: string
                    description: The code of the violation
                  hint:
                    type: string
                    description: An extra hint to understand the violation
                  payload:
                    type: object
                    additionalProperties: true
                    description: The serialized payload of the violation
                required:
                  - propertyPath
                  - message
            detail:
              readOnly: true
              type: string
            description:
              readOnly: true
              type: string
            type:
              readOnly: true
              type: string
            title:
              readOnly: true
              type:
                - string
                - 'null'
            instance:
              readOnly: true
              type:
                - string
                - 'null'
      description: Unprocessable entity
    ConstraintViolation:
      type: object
      description: Unprocessable entity
      properties:
        status:
          default: 422
          type: integer
        violations:
          type: array
          items:
            type: object
            properties:
              propertyPath:
                type: string
                description: The property path of the violation
              message:
                type: string
                description: The message associated with the violation
              code:
                type: string
                description: The code of the violation
              hint:
                type: string
                description: An extra hint to understand the violation
              payload:
                type: object
                additionalProperties: true
                description: The serialized payload of the violation
            required:
              - propertyPath
              - message
        detail:
          readOnly: true
          type: string
        type:
          readOnly: true
          type: string
        title:
          readOnly: true
          type:
            - string
            - 'null'
        instance:
          readOnly: true
          type:
            - string
            - 'null'
    HydraItemBaseSchema:
      type: object
      properties:
        '@context':
          oneOf:
            - type: string
            - type: object
              properties:
                '@vocab':
                  type: string
                hydra:
                  type: string
                  enum:
                    - http://www.w3.org/ns/hydra/core#
              required:
                - '@vocab'
                - hydra
              additionalProperties: true
        '@id':
          type: string
        '@type':
          type: string
      required:
        - '@id'
        - '@type'
    Team.jsonld-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token:
      allOf:
        - $ref: '#/components/schemas/HydraItemBaseSchema'
        - type: object
          properties:
            id:
              readOnly: true
              type: string
            name:
              type: string
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
            owner_email:
              readOnly: true
              type: string
            last_activity_at:
              readOnly: true
              type:
                - string
                - 'null'
              format: date-time
          required:
            - name
      description: Basic CRUD operations
    Team-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token:
      type: object
      properties:
        id:
          readOnly: true
          type: string
        name:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        owner_email:
          readOnly: true
          type: string
        last_activity_at:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
      required:
        - name
    Team.html-user.read_team.restricted_payment.read_subscription.read_consumption.read_last_activity.read_plan.read_topup.read_auto_topup_setting.read_user.register_token:
      type: object
      properties:
        id:
          readOnly: true
          type: string
        name:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        owner_email:
          readOnly: true
          type: string
        last_activity_at:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
      required:
        - name
  securitySchemes:
    apiHeader:
      type: apiKey
      description: Value for the api-key header parameter.
      name: api-key
      in: header

````