ProxyWing LogoProxyWing
Browse endpoints

ProxyWing Developer API

Account

Profile, wallet balance, invoices, services, auto-renew and API-key management.

GET/account/me

Get account profile

Returns the profile of the account that owns the API key used to authenticate the request.

Auth · Bearer
RequestGET /account/me
curl -X GET "https://api.proxywing.com/v1/account/me" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "email": "customer@example.com",
  "name": "Jane Doe",
  "country": "US",
  "currency": "USD",
  "status": "active"
}
GET/account/balance

Get account balance

Returns the current wallet balance for the account.

Auth · Bearer
RequestGET /account/balance
curl -X GET "https://api.proxywing.com/v1/account/balance" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "balance": 42.5,
  "currency": "USD"
}
GET/account/invoices

List invoices

Returns the invoices on the account, most recent first. Up to limit invoices are returned per call (default 1000); total is the full invoice count, so page with offset if the account has more.

Auth · Bearer

Query parameters

  • limitintegeroptional

    Maximum invoices to return, 1–1000. Default 1000.

  • offsetintegeroptional

    Number of invoices to skip, for pagination. Default 0.

  • statusstringoptional

    Only return invoices with this status: "paid", "unpaid", "overdue", "cancelled", "refunded", "collections" or "payment_pending". When set, `total` is the count of matching invoices.

RequestGET /account/invoices
curl -X GET "https://api.proxywing.com/v1/account/invoices" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "invoices": [
    {
      "id": "inv_200001",
      "status": "paid",
      "date": "2026-06-02",
      "due_date": "2026-06-02",
      "total": 1.8,
      "currency": "USD"
    }
  ],
  "total": 1
}
GET/account/services

List services

Returns every service (proxy order, VPN plan, etc.) on the account. family is the product group name it belongs to.

Auth · Bearer

Query parameters

  • statusstringoptional

    Only return services with this status, e.g. "active", "suspended", "terminated" or "cancelled". Omit to list everything.

RequestGET /account/services
curl -X GET "https://api.proxywing.com/v1/account/services" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "services": [
    {
      "id": "svc_100001",
      "product": "1 Proxy DC UK",
      "family": "Proxy UK",
      "status": "active",
      "next_due_date": "2026-08-02",
      "billing_cycle": "monthly"
    }
  ]
}
GET/account/services/{svc_id}/auto-renew

Get auto-renew status

Returns whether auto-renew is on for a service. When enabled, renewal invoices are paid automatically from the account balance as they come due.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. svc_100001, from GET /account/services.

RequestGET /account/services/{svc_id}/auto-renew
curl -X GET "https://api.proxywing.com/v1/account/services/{svc_id}/auto-renew" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "service_id": "svc_100001",
  "enabled": false
}
PUT/account/services/{svc_id}/auto-renew

Set auto-renew

Turns auto-renew on or off for a service. This only flips the setting; it does not create or pay any invoice.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. svc_100001.

Body parameters

  • enabledbooleanrequired

    true to enable auto-renew, false to disable.

RequestPUT /account/services/{svc_id}/auto-renew
curl -X PUT "https://api.proxywing.com/v1/account/services/{svc_id}/auto-renew" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"enabled":true}'
Response200 · application/json
{
  "service_id": "svc_100001",
  "enabled": true
}
GET/account/api-keys

List API keys

Returns every API key on the account. Secret key material is never returned — only the prefix used to identify the key.

Auth · Bearer
RequestGET /account/api-keys
curl -X GET "https://api.proxywing.com/v1/account/api-keys" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "api_keys": [
    {
      "public_id": "key_3Nb8Qv1Xk2Rf9Ta6Ue0p",
      "key_prefix": "pk_live_3Nb8",
      "label": "Production server",
      "scopes": "write",
      "status": "active"
    }
  ]
}
DELETE/account/api-keys/{key_pub_id}

Revoke an API key

Immediately revokes an API key. Any requests already using that key start failing with 401 right away. This cannot be undone.

Auth · Bearer

Path parameters

  • key_pub_idstringrequired

    The public id of the key to revoke, e.g. key_3Nb8Qv1Xk2Rf9Ta6Ue0p.

RequestDELETE /account/api-keys/{key_pub_id}
curl -X DELETE "https://api.proxywing.com/v1/account/api-keys/{key_pub_id}" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "revoked": "key_3Nb8Qv1Xk2Rf9Ta6Ue0p"
}