Server-side automation for one Phylex account. Internal numeric IDs are never accepted; list and detail operations use stable public references.
Base URL: https://billing.phylex.net/api/proxy/account-api/v1
| Method | Path | Required scope | Description |
|---|---|---|---|
| GET | /me | account:read | Account identity, locale, country, and account currency. |
| GET | /balance | balance:read | Current balance in the account currency with server time. |
| GET | /invoices | finance:read | Bounded invoice history with ownership-checked public references. |
| GET | /orders | finance:read | Canonical service orders and linked public references. |
| POST | /orders | orders:write | Atomically buy one Atlas service from the authoritative account balance. |
| GET | /transactions | finance:read | Bounded account ledger with redacted descriptions. |
| GET | /services | services:read | Bounded owned service inventory with type and status filters. |
| GET | /services/stats | services:read | Counts across every owned service type and lifecycle status. |
| GET | /services/{service_ref} | services:read | One owned service; missing and cross-account references both return 404. |
| PUT | /services/{service_ref}/auto-renew | services:write | Idempotently set automatic renewal after lifecycle revalidation. |
| POST | /services/{service_ref}/power | services:power | Start, stop, or reboot supported KVM with an Idempotency-Key. |
| GET | /services/{service_ref}/shield | shield:read | Advanced-only Shield entitlement, safe presets, and owned rules for one direct KVM service. |
| GET | /services/{service_ref}/shield/capabilities | shield:read | Current Advanced limits and versioned safe preset descriptors. |
| GET | /services/{service_ref}/shield/rules | shield:read | Sanitized Atlas rule state without provider identifiers. |
| POST | /services/{service_ref}/shield/rules | shield:write | Queue a validated custom rule with an Idempotency-Key; Atlas selects the owned destination IP. |
| DELETE | /services/{service_ref}/shield/rules/{rule_id} | shield:write | Queue rollback of a rule or its complete profile bundle. |
| POST | /services/{service_ref}/shield/presets/{preset_code} | shield:write | Queue a versioned safe preset with durable idempotency. |
| POST | /services/{service_ref}/shield/profiles/{profile_code} | shield:write | Atomically apply off, low, default, or strict protection profiles. |
| GET | /services/{service_ref}/shield/traffic | shield:read | Bounded 30-day traffic aggregates with server-side ownership checks. |
| GET | /services/{service_ref}/shield/protection-activity | shield:read | Normalized protection verdict aggregates; not attack classification. |
| GET | /services/{service_ref}/shield/rules/{rule_id}/evidence | shield:read | Bounded extended metadata for one owned rule; never packet payloads. |
| GET | /plans | catalog:read | Saleable catalog with account-currency prices, optional display conversion, and purchase URLs. |
curl --request POST https://billing.phylex.net/api/proxy/account-api/v1/orders --header 'Authorization: Bearer phxak_REPLACE_WITH_YOUR_KEY' --header 'Idempotency-Key: purchase-0191b9d0-example' --header 'Content-Type: application/json' --data '{"type":"kvm","plan_code":"epc_1","os_name":"Alma Linux 8","period_ref":"PHX-PERIOD-00000001","region_ref":"PHX-REGION-00000001"}'curl --request POST https://billing.phylex.net/api/proxy/account-api/v1/services/PHX-SVC-0000002A/power --header 'Authorization: Bearer phxak_REPLACE_WITH_YOUR_KEY' --header 'Idempotency-Key: 0191b9d0-example' --header 'Content-Type: application/json' --data '{"action":"reboot"}'