Smartproxy · Capability

Smartproxy Proxy Account Management

Unified workflow capability for managing Smartproxy proxy accounts at scale. Enables DevOps teams, data engineers, and web scraping operations to programmatically manage proxy sub-users, monitor traffic consumption, configure IP whitelisting, and discover available proxy endpoints across residential, datacenter, mobile, and ISP proxy networks.

Run with Naftiko SmartproxyProxiesWeb ScrapingData CollectionAccount ManagementTraffic Management

What You Can Do

GET
Get sub users — List all proxy sub-user accounts
/v1/sub-users
POST
Create sub user — Create a new proxy sub-user
/v1/sub-users
DELETE
Delete sub user — Delete a proxy sub-user account
/v1/sub-users/{subUserId}
GET
Get sub user traffic — Get traffic usage for a specific sub-user
/v1/sub-users/{username}/traffic
GET
Get allocated traffic — Get total traffic allocation across all sub-users
/v1/traffic
GET
Get whitelisted ips — List all whitelisted IP addresses
/v1/whitelisted-ips
POST
Add whitelisted ips — Add IP addresses to the whitelist
/v1/whitelisted-ips
GET
Get subscriptions — Get active subscription plans and usage limits
/v1/subscriptions
GET
Get endpoints — List all available proxy endpoints
/v1/endpoints
GET
Get endpoints by type — Get proxy endpoints filtered by type
/v1/endpoints/{type}

MCP Tools

list-proxy-sub-users

List all proxy sub-user accounts with their service types and traffic status

read-only
create-proxy-sub-user

Create a new proxy sub-user with specified service type and optional traffic limit

update-proxy-sub-user

Update a proxy sub-user's password or traffic limit

idempotent
delete-proxy-sub-user

Permanently delete a proxy sub-user account

idempotent
get-sub-user-traffic

Get traffic consumption metrics for a specific proxy sub-user

read-only
get-total-traffic-allocation

Get total traffic GB allocated and consumed across all sub-users

read-only
list-whitelisted-ips

List all IP addresses whitelisted for credential-free proxy authentication

read-only
add-whitelisted-ips

Add one or more IP addresses to the proxy authentication whitelist

idempotent
remove-whitelisted-ip

Remove an IP address from the proxy authentication whitelist

idempotent
get-subscriptions

Get active subscription plans, traffic limits, and validity dates

read-only
list-proxy-endpoints

List all available proxy endpoints with hostnames, ports, and protocols

read-only
list-proxy-endpoints-by-type

Get proxy endpoints filtered by connection type (random, sticky, datacenter, mobile)

read-only

Capability Spec

proxy-account-management.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Smartproxy Proxy Account Management
  description: Unified workflow capability for managing Smartproxy proxy accounts at scale. Enables DevOps teams, data engineers,
    and web scraping operations to programmatically manage proxy sub-users, monitor traffic consumption, configure IP whitelisting,
    and discover available proxy endpoints across residential, datacenter, mobile, and ISP proxy networks.
  tags:
  - Smartproxy
  - Proxies
  - Web Scraping
  - Data Collection
  - Account Management
  - Traffic Management
  created: '2026-05-02'
  modified: '2026-05-06'
binds:
- namespace: env
  keys:
    SMARTPROXY_API_KEY: SMARTPROXY_API_KEY
    SMARTPROXY_USER_ID: SMARTPROXY_USER_ID
capability:
  consumes:
  - type: http
    namespace: smartproxy
    baseUri: https://api.decodo.com/v1
    description: Smartproxy/Decodo account management API
    authentication:
      type: apikey
      key: Authorization
      value: '{{SMARTPROXY_API_KEY}}'
      placement: header
    resources:
    - name: sub-users
      path: /users/{userId}/sub-users
      description: Manage proxy sub-user accounts
      operations:
      - name: get-sub-users
        method: GET
        description: List all proxy sub-users
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
          description: Primary account user ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: array
          value: $.
      - name: create-sub-user
        method: POST
        description: Create a new proxy sub-user account
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        body:
          type: json
          data:
            username: '{{tools.username}}'
            password: '{{tools.password}}'
            service_type: '{{tools.service_type}}'
            traffic_limit: '{{tools.traffic_limit}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-sub-user
        method: PUT
        description: Update a sub-user's traffic limit or password
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        body:
          type: json
          data:
            password: '{{tools.password}}'
            traffic_limit: '{{tools.traffic_limit}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sub-user
      path: /users/{userId}/sub-users/{subUserId}
      description: Manage specific sub-user
      operations:
      - name: delete-sub-user
        method: DELETE
        description: Permanently delete a proxy sub-user
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: subUserId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sub-user-traffic
      path: /users/{userId}/sub-users/{username}/traffic
      description: Monitor sub-user traffic usage
      operations:
      - name: get-sub-user-traffic
        method: GET
        description: Get traffic usage for a specific sub-user
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: username
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: allocated-traffic
      path: /users/{userId}/allocated-traffic
      description: Monitor overall traffic allocation
      operations:
      - name: get-allocated-traffic
        method: GET
        description: Get total allocated traffic across all sub-users
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: whitelisted-ips
      path: /users/{userId}/whitelisted-ips
      description: Manage IP whitelist for proxy authentication
      operations:
      - name: get-whitelisted-ips
        method: GET
        description: List all whitelisted IP addresses
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: array
          value: $.
      - name: add-whitelisted-ips
        method: POST
        description: Add IP addresses to the authentication whitelist
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        body:
          type: json
          data:
            IPAddressList: '{{tools.ip_addresses}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: whitelisted-ip
      path: /users/{userId}/whitelisted-ips/{id}
      description: Manage specific whitelisted IP
      operations:
      - name: delete-whitelisted-ip
        method: DELETE
        description: Remove an IP from the whitelist
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: subscriptions
      path: /users/{userId}/subscriptions
      description: View subscription details
      operations:
      - name: get-subscriptions
        method: GET
        description: Get active subscription plans and limits
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: array
          value: $.
    - name: endpoints
      path: /endpoints
      description: Discover proxy endpoints
      operations:
      - name: get-endpoints
        method: GET
        description: List all available proxy endpoints
        outputRawFormat: json
        outputParameters:
        - name: result
          type: array
          value: $.
    - name: endpoints-by-type
      path: /endpoints/{type}
      description: Get endpoints filtered by type
      operations:
      - name: get-endpoints-by-type
        method: GET
        description: Get proxy endpoints by connection type
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
          description: Endpoint type (random, sticky, datacenter, mobile)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: array
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: smartproxy-account-api
    description: Unified REST API for proxy account and traffic management.
    resources:
    - path: /v1/sub-users
      name: sub-users
      description: Manage proxy sub-user accounts
      operations:
      - method: GET
        name: get-sub-users
        description: List all proxy sub-user accounts
        call: smartproxy.get-sub-users
        with:
          userId: rest.userId
        outputParameters:
        - type: array
          mapping: $.
      - method: POST
        name: create-sub-user
        description: Create a new proxy sub-user
        call: smartproxy.create-sub-user
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sub-users/{subUserId}
      name: sub-user
      description: Manage specific sub-user
      operations:
      - method: DELETE
        name: delete-sub-user
        description: Delete a proxy sub-user account
        call: smartproxy.delete-sub-user
        with:
          userId: rest.userId
          subUserId: rest.subUserId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sub-users/{username}/traffic
      name: sub-user-traffic
      description: Traffic usage monitoring
      operations:
      - method: GET
        name: get-sub-user-traffic
        description: Get traffic usage for a specific sub-user
        call: smartproxy.get-sub-user-traffic
        with:
          userId: rest.userId
          username: rest.username
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/traffic
      name: traffic
      description: Overall traffic allocation
      operations:
      - method: GET
        name: get-allocated-traffic
        description: Get total traffic allocation across all sub-users
        call: smartproxy.get-allocated-traffic
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/whitelisted-ips
      name: whitelisted-ips
      description: IP whitelist management
      operations:
      - method: GET
        name: get-whitelisted-ips
        description: List all whitelisted IP addresses
        call: smartproxy.get-whitelisted-ips
        with:
          userId: rest.userId
        outputParameters:
        - type: array
          mapping: $.
      - method: POST
        name: add-whitelisted-ips
        description: Add IP addresses to the whitelist
        call: smartproxy.add-whitelisted-ips
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions
      name: subscriptions
      description: Subscription management
      operations:
      - method: GET
        name: get-subscriptions
        description: Get active subscription plans and usage limits
        call: smartproxy.get-subscriptions
        with:
          userId: rest.userId
        outputParameters:
        - type: array
          mapping: $.
    - path: /v1/endpoints
      name: endpoints
      description: Proxy endpoint discovery
      operations:
      - method: GET
        name: get-endpoints
        description: List all available proxy endpoints
        call: smartproxy.get-endpoints
        outputParameters:
        - type: array
          mapping: $.
    - path: /v1/endpoints/{type}
      name: endpoints-by-type
      description: Filtered endpoint discovery
      operations:
      - method: GET
        name: get-endpoints-by-type
        description: Get proxy endpoints filtered by type
        call: smartproxy.get-endpoints-by-type
        with:
          type: rest.type
        outputParameters:
        - type: array
          mapping: $.
  - type: mcp
    port: 9090
    namespace: smartproxy-account-mcp
    transport: http
    description: MCP server for AI-assisted proxy account and traffic management.
    tools:
    - name: list-proxy-sub-users
      description: List all proxy sub-user accounts with their service types and traffic status
      hints:
        readOnly: true
        openWorld: false
      call: smartproxy.get-sub-users
      with:
        userId: tools.userId
      outputParameters:
      - type: array
        mapping: $.
    - name: create-proxy-sub-user
      description: Create a new proxy sub-user with specified service type and optional traffic limit
      hints:
        readOnly: false
        idempotent: false
      call: smartproxy.create-sub-user
      with:
        userId: tools.userId
        username: tools.username
        password: tools.password
        service_type: tools.service_type
        traffic_limit: tools.traffic_limit
      outputParameters:
      - type: object
        mapping: $.
    - name: update-proxy-sub-user
      description: Update a proxy sub-user's password or traffic limit
      hints:
        readOnly: false
        idempotent: true
      call: smartproxy.update-sub-user
      with:
        userId: tools.userId
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-proxy-sub-user
      description: Permanently delete a proxy sub-user account
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: smartproxy.delete-sub-user
      with:
        userId: tools.userId
        subUserId: tools.subUserId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-sub-user-traffic
      description: Get traffic consumption metrics for a specific proxy sub-user
      hints:
        readOnly: true
        openWorld: false
      call: smartproxy.get-sub-user-traffic
      with:
        userId: tools.userId
        username: tools.username
      outputParameters:
      - type: object
        mapping: $.
    - name: get-total-traffic-allocation
      description: Get total traffic GB allocated and consumed across all sub-users
      hints:
        readOnly: true
        openWorld: false
      call: smartproxy.get-allocated-traffic
      with:
        userId: tools.userId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-whitelisted-ips
      description: List all IP addresses whitelisted for credential-free proxy authentication
      hints:
        readOnly: true
        openWorld: false
      call: smartproxy.get-whitelisted-ips
      with:
        userId: tools.userId
      outputParameters:
      - type: array
        mapping: $.
    - name: add-whitelisted-ips
      description: Add one or more IP addresses to the proxy authentication whitelist
      hints:
        readOnly: false
        idempotent: true
      call: smartproxy.add-whitelisted-ips
      with:
        userId: tools.userId
        ip_addresses: tools.ip_addresses
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-whitelisted-ip
      description: Remove an IP address from the proxy authentication whitelist
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: smartproxy.delete-whitelisted-ip
      with:
        userId: tools.userId
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-subscriptions
      description: Get active subscription plans, traffic limits, and validity dates
      hints:
        readOnly: true
        openWorld: false
      call: smartproxy.get-subscriptions
      with:
        userId: tools.userId
      outputParameters:
      - type: array
        mapping: $.
    - name: list-proxy-endpoints
      description: List all available proxy endpoints with hostnames, ports, and protocols
      hints:
        readOnly: true
        openWorld: true
      call: smartproxy.get-endpoints
      outputParameters:
      - type: array
        mapping: $.
    - name: list-proxy-endpoints-by-type
      description: Get proxy endpoints filtered by connection type (random, sticky, datacenter, mobile)
      hints:
        readOnly: true
        openWorld: true
      call: smartproxy.get-endpoints-by-type
      with:
        type: tools.type
      outputParameters:
      - type: array
        mapping: $.