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

# Create Proxy User

> This endpoint allows you to create a new proxy user.

The `proxy_user_id` and `proxy_user_password` can be provided or, if omitted, will be randomly generated.

Additional considerations when creating a Proxy User:
- `proxy_user_access_type`: Controls access restrictions ("all", "service_restricted", "proxy_restricted")
- `proxy_user_is_strict_security`: If true, the Proxy User requires an IP address authentication list.
- `proxy_user_enforce_https`: If true, this Proxy User can only access targets on port 443 (HTTPS).
- `ip_address_authentications` must be a list of valid IP addresses. Each IP address can only be used by one Proxy User.
- `proxy_user_residential_bytes_limit`: An integer limiting residential traffic (must not be negative).
- `proxy_user_mobile_bytes_limit`: An integer limiting mobile traffic (must not be negative).

For access control, use the ProxyUserAcl endpoints to grant specific service or proxy access when using "service_restricted" or "proxy_restricted" access types.




## OpenAPI

````yaml post /public/user/proxy_user/create
openapi: 3.0.1
info:
  title: Byteful Public User API
  description: Public API used for third-party usage.
  termsOfService: https://byteful.com
  contact:
    url: https://byteful.com
    email: developer@byteful.com
  version: '1.0'
  x-logo:
    altText: Byteful
    backgroundColor: '#6354eb'
    url: >-
      https://pbs.twimg.com/profile_banners/1038803520605118464/1729783007/1500x500
servers:
  - url: https://api.byteful.com/1.0/
security: []
paths:
  /public/user/proxy_user/create:
    post:
      tags:
        - Proxy User
      summary: Create Proxy User
      description: >
        This endpoint allows you to create a new proxy user.


        The `proxy_user_id` and `proxy_user_password` can be provided or, if
        omitted, will be randomly generated.


        Additional considerations when creating a Proxy User:

        - `proxy_user_access_type`: Controls access restrictions ("all",
        "service_restricted", "proxy_restricted")

        - `proxy_user_is_strict_security`: If true, the Proxy User requires an
        IP address authentication list.

        - `proxy_user_enforce_https`: If true, this Proxy User can only access
        targets on port 443 (HTTPS).

        - `ip_address_authentications` must be a list of valid IP addresses.
        Each IP address can only be used by one Proxy User.

        - `proxy_user_residential_bytes_limit`: An integer limiting residential
        traffic (must not be negative).

        - `proxy_user_mobile_bytes_limit`: An integer limiting mobile traffic
        (must not be negative).


        For access control, use the ProxyUserAcl endpoints to grant specific
        service or proxy access when using "service_restricted" or
        "proxy_restricted" access types.
      parameters:
        - name: Content-Type
          in: header
          description: Content type for the request body as application/json.
          required: true
          schema:
            type: string
            default: application/json
      requestBody:
        description: The details of the proxy user to be created.
        content:
          application/json:
            schema:
              type: object
              properties:
                ip_address_authentications:
                  type: array
                  description: >-
                    A list of IP addresses for Proxy User authentication. Each
                    IP can only be used by one Proxy User.
                  example:
                    - 1.1.1.1
                    - 2.2.2.2
                  items:
                    type: string
                proxy_user_access_type:
                  type: string
                  description: >
                    Access control type for the proxy user:

                    - "all": Unrestricted access (default)

                    - "service_restricted": Access restricted by ProxyUserAcl
                    service entries

                    - "proxy_restricted": Access restricted by ProxyUserAcl
                    proxy entries
                  default: all
                  enum:
                    - all
                    - service_restricted
                    - proxy_restricted
                proxy_user_enforce_https:
                  type: boolean
                  description: >-
                    If true, this Proxy User can only access targets on port 443
                    (HTTPS). This is useful for enforcing secure connections.
                  example: false
                  default: false
                proxy_user_id:
                  maxLength: 32
                  minLength: 10
                  type: string
                  description: >-
                    The ID of the proxy user. If not provided, it will be
                    randomly generated.
                  example: stevejobs
                  default: Randomly generated
                proxy_user_is_strict_security:
                  type: boolean
                  description: >-
                    Enable strict security. If true, IP authentication is
                    required.
                  example: true
                  default: false
                proxy_user_metadata:
                  type: object
                  properties: {}
                  description: |
                    Arbitrary metadata object for the Proxy User.
                    Constraints
                    - Supports string, boolean, float and integer values.
                    - Non-nested JSON object
                    - Max 30 keys
                    - Each value ≤ 300 chars
                    - Total size ≤ 32KB
                    Defaults to `{}` if not provided.
                proxy_user_mobile_bytes_limit:
                  type: integer
                  description: >-
                    Mobile bytes limit for the Proxy User (must not be
                    negative).
                  example: 1000000
                proxy_user_password:
                  maxLength: 32
                  minLength: 10
                  type: string
                  description: >-
                    The password of the proxy user. If not provided, it will be
                    randomly generated.
                  example: apple1984
                  default: Randomly generated
                proxy_user_residential_bytes_limit:
                  type: integer
                  description: >-
                    Residential bytes limit for the Proxy User (must not be
                    negative).
                  example: 1000000
        required: true
      responses:
        '201':
          description: Proxy User Successfully Created
          content:
            application/json:
              schema:
                required:
                  - created
                  - data
                  - message
                type: object
                properties:
                  created:
                    type: array
                    items:
                      type: string
                      description: A list containing the ID of the created Proxy User.
                  data:
                    type: object
                    properties:
                      proxy_user_id:
                        type: string
                        description: The Proxy User ID/username.
                      proxy_user_password:
                        type: string
                        description: The Proxy User password.
                  message:
                    type: string
                    description: A message indicating success.
              example:
                created:
                  - stevejobs
                data:
                  proxy_user_id: stevejobs
                  proxy_user_password: apple1984
                message: Proxy User successfully created.
      security:
        - APIPrivateKey: []
          APIPublicKey: []
components:
  securitySchemes:
    APIPrivateKey:
      type: apiKey
      description: ' Private API key for user-level authentication.'
      name: X-API-Private-Key
      in: header
    APIPublicKey:
      type: apiKey
      description: ' Public API key for user-level authentication.'
      name: X-API-Public-Key
      in: header

````