Reseller Renew Subscription (Current Group) API

Allow resellers to renew user subscriptions while maintaining current group assignment

Reseller

Reseller Renew Subscription API

Renew user subscriptions while keeping them in their current group. Extend VPN access for your customers without changing their plan settings.

Quick Renewal

Extend subscription easily.

Same Plan

Keep current group settings.

Reseller Action

Renew your customers.


Endpoint Overview

MUTATION/graphql

Renew a user's subscription while keeping them in their current group. This updates the subscription duration and other attributes based on the current group settings.

Authentication:Bearer Token
Required scopes:reseller

Request Parameters

usernameString!Required

The username of the user whose subscription is to be renewed.


GraphQL Mutation

mutation resellerRenewUserSubscriptionWithCurrentGroup($username: String!) {
  resellerRenewUserSubscriptionWithCurrentGroup(username: $username) {
    duration
    multiLoginCount
    expiresAt
    createdAt
    updatedAt
    dailyBandwidth
    downloadUpload
  }
}

Variables:

{
  "username": "customer123"
}

HTTP Request:

curl -X POST https://api.orbnet.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_RESELLER_TOKEN" \
  -d '{
    "query": "mutation resellerRenewUserSubscriptionWithCurrentGroup($username: String!) { resellerRenewUserSubscriptionWithCurrentGroup(username: $username) { duration expiresAt multiLoginCount } }",
    "variables": {
      "username": "customer123"
    }
  }'

Response

200Subscription Renewed Successfully
{
  "data": {
    "resellerRenewUserSubscriptionWithCurrentGroup": {
      "duration": 30,
      "multiLoginCount": 3,
      "expiresAt": "2024-03-15T10:30:00Z",
      "createdAt": "2024-01-15T10:30:00Z",
      "updatedAt": "2024-02-14T08:00:00Z",
      "dailyBandwidth": "10GB",
      "downloadUpload": "100Mbps"
    }
  }
}
400User Not Found
{
  "errors": [
    {
      "message": "User with username 'customer123' not found or not in your group",
      "path": ["resellerRenewUserSubscriptionWithCurrentGroup"],
      "extensions": {
        "code": "NOT_FOUND"
      }
    }
  ],
  "data": null
}
400Insufficient Credits
{
  "errors": [
    {
      "message": "Insufficient credits to renew subscription",
      "path": ["resellerRenewUserSubscriptionWithCurrentGroup"],
      "extensions": {
        "code": "INSUFFICIENT_CREDITS"
      }
    }
  ],
  "data": null
}

How It Works

Current Plan

Uses existing group's duration and settings.

Credit Deduction

Deducts from your reseller balance.

Instant Activation

Renewal applies immediately.

Extended Expiry

Adds duration to current expiry date.


Use Cases

Customer Request

User asks to renew same plan.

Auto-Renewal

Integrate into automated billing.

Bulk Renewals

Process multiple renewals.

Satisfied Customer

No plan changes requested.


Best Practices

Check Credits

Verify sufficient balance first.

Confirm User

Verify username before renewal.

Send Receipt

Provide renewal confirmation.

Track Renewals

Log all renewal transactions.



Credit Deduction

Renewing a subscription will deduct credits from your reseller balance. Ensure you have sufficient credits before calling this endpoint.

Want to Change Plans?

If the customer wants a different plan, use the Renew with New Group endpoint.

Renew with New Group