Smartproxy Sub-Users API

Manage proxy sub-user accounts

OpenAPI Specification

smartproxy-sub-users-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Smartproxy Authentication Sub-Users API
  description: The Smartproxy API (now also known as Decodo) provides programmatic access to manage proxy accounts, sub-users, traffic limits, IP whitelisting, and endpoint discovery for residential, datacenter, and mobile proxy services. The API enables automated proxy user management, traffic reporting, and endpoint configuration for web data collection at scale.
  version: 1.0.0
  termsOfService: https://smartproxy.com/terms-of-service
  contact:
    name: Smartproxy Support
    url: https://help.smartproxy.com/
  license:
    name: Smartproxy API License
    url: https://smartproxy.com/terms-of-service
servers:
- url: https://api.decodo.com/v1
  description: Smartproxy/Decodo API v1
security:
- ApiKeyAuth: []
tags:
- name: Sub-Users
  description: Manage proxy sub-user accounts
paths:
  /users/{userId}/sub-users:
    get:
      operationId: getSubUsers
      summary: Get Sub-Users
      description: Retrieves all proxy sub-user accounts for the specified user.
      tags:
      - Sub-Users
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
        description: Primary account user ID
      responses:
        '200':
          description: List of sub-users
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubUser'
        '401':
          description: Unauthorized
    post:
      operationId: createSubUser
      summary: Create Sub-User
      description: Creates a new proxy sub-user account for residential or datacenter proxy services.
      tags:
      - Sub-Users
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubUserRequest'
      responses:
        '201':
          description: Sub-user created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubUser'
        '400':
          description: Invalid request
        '409':
          description: Username already exists
    put:
      operationId: updateSubUser
      summary: Update Sub-User
      description: Updates a sub-user account's traffic limits or password.
      tags:
      - Sub-Users
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubUserUpdateRequest'
      responses:
        '200':
          description: Sub-user updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubUser'
  /users/{userId}/sub-users/{subUserId}:
    delete:
      operationId: deleteSubUser
      summary: Delete Sub-User
      description: Permanently removes a proxy sub-user account.
      tags:
      - Sub-Users
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - name: subUserId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Sub-user deleted
        '404':
          description: Sub-user not found
components:
  schemas:
    SubUser:
      type: object
      properties:
        id:
          type: string
          description: Sub-user unique identifier
        username:
          type: string
          description: Sub-user username for proxy authentication
        service_type:
          type: string
          enum:
          - residential
          - datacenter
          - mobile
          - isp
          description: Proxy service type assigned to this sub-user
        traffic_limit:
          type: number
          description: Traffic limit in GB (null for unlimited)
        traffic_used:
          type: number
          description: Traffic consumed in GB
        status:
          type: string
          enum:
          - active
          - suspended
          - deleted
          description: Account status
        created:
          type: string
          format: date-time
      required:
      - username
      - service_type
    SubUserRequest:
      type: object
      required:
      - username
      - password
      - service_type
      properties:
        username:
          type: string
          description: Username for proxy authentication
        password:
          type: string
          description: Password for proxy authentication
        service_type:
          type: string
          enum:
          - residential
          - datacenter
          - mobile
          - isp
          description: Proxy service type
        traffic_limit:
          type: number
          description: Traffic limit in GB (omit for unlimited)
    SubUserUpdateRequest:
      type: object
      properties:
        password:
          type: string
          description: New password for proxy authentication
        traffic_limit:
          type: number
          description: Updated traffic limit in GB
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key obtained via the /auth endpoint