---
title: "Get package details"
method: GET
path: "/v1/proxy/packages/{package_id}"
tags: ["Packages"]
---

# Get package details

`GET /v1/proxy/packages/{package_id}`

## Request

- Base URL: `https://api.platform.soax.com`
- URL: `https://api.platform.soax.com/v1/proxy/packages/{package_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/soax/apis/soax-api/docs/v1/proxy/packages/:package_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve full configuration for one proxy package: status, network types, tiers, traffic usage (in bytes), the package password used for proxy authentication, connection limits, allowed IPs, port and target rules, and enabled protocols.

If the API key is restricted to specific packages, requesting a package outside the restriction returns 404 (not 403), so the existence of other packages is not revealed.

Requires the `proxy:packages:read` scope.

## Path parameters

- `package_id` string, required: The ID of the proxy package

## Response `200`

Successful Response

- PackageDetailResponse: Response model for package detail endpoint (GET /v1/proxy/packages/{package_id}).
  - `id` string, required
  - `name` string, required
  - `status` string, required: Display status: `active`, `paused` (manually paused), `limited` (traffic limit reached), `suspended`, or `deleted`.
  - `status_reason` string, nullable: Why the package is not active: `user_paused`, `traffic_limit_reached`, `out_of_credits`, `account_suspended`, `plan_limit_exceeded`, or `null`.
  - `created_at` string, date-time, nullable
  - `types` ProxyPackageType[]
  - `tiers` integer[]
  - `allowed_countries` string[], nullable
  - `traffic_limit` integer, nullable
  - `traffic_spent` integer, nullable
  - `password` string, nullable
  - `max_connections` integer, nullable
  - `allowed_users` string[], nullable
  - `allowed_ips` string[]
  - `tcp_available_ports` union[]
    - union
      - integer
      - string
  - `udp_available_ports` union[]
    - union
      - integer
      - string
  - `tcp_allowed_ports` union[]
    - union
      - integer
      - string
  - `udp_allowed_ports` union[]
    - union
      - integer
      - string
  - `ports_mode` string, required
  - `tcp_blocked_ports` union[]
    - union
      - integer
      - string
  - `udp_blocked_ports` union[]
    - union
      - integer
      - string
  - `dns_resolver` string, required
  - `auth_method` string, required
  - `http_allowed` boolean
  - `https_allowed` boolean
  - `socks5_tcp_allowed` boolean
  - `socks5_udp_allowed` boolean
  - `allowed_targets` string[]
  - `blocked_targets` string[]
  - `targets_mode` string, required
  - `special_allowed_targets` string[]
  - `allowed_target_types` string[], nullable
  - `traffic_left` integer, nullable, required: Calculate the remaining traffic for the package.

## Other responses

- `401`: Missing, invalid, or revoked API key.
- `403`: The API key does not carry the scope this endpoint requires.
- `404`: The resource does not exist, belongs to another organization, or is outside the API key's package restriction.
- `422`: Validation Error
- `429`: Rate limit exceeded (5 requests/second per API key, 500 requests/minute per IP). The response includes `Retry-After` (seconds), `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset` (Unix time) headers — wait `Retry-After` seconds and retry.

---

[API](https://skmtc.dev/soax/apis/soax-api.md) - [All operations](https://skmtc.dev/soax/apis/soax-api/llms.txt) - [OpenAPI document](https://skmtc.dev/soax/apis/soax-api/revisions/2abdaa934277?raw)
