مرجع عام
Profiles
كل نقاط النهاية في هذه المجموعة. افتح أي واحدة لعرض معاملاتها ومثال عملي عليها.
Profiles
26GET /api/v1/profiles List plans
One page of service plans, scoped to what the calling manager may actually see. A private plan is visible only to managers it was explicitly allow-listed for.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_indexView profiles
vat_percent is a STRING, not a number. It is a NUMERIC(5,2) in the database and is serialised as text so the exact value survives the round trip. Every other money field on the plan is a bare JSON number.
المعاملات
| المعامل | الوصف |
|---|---|
filter[type]
query · enum
|
prepaid, postpaid, fup, extension or addon. |
filter[status]
query · string
|
Plan status. |
filter[assignable]
query · boolean
|
Only plans this caller may bind to a subscriber. Narrower than visibility, and the right filter behind a plan picker. |
filter[allowed_services]
query · enum
|
ppp, hotspot or both. |
filter[show_in_ucp]
query · boolean
|
Plans the subscriber portal offers for self-service renewal. |
filter[private]
query · boolean
|
Plans restricted to an explicit manager allow-list. |
filter[has_fup_chain]
query · boolean
|
Plans that fall back to another plan on expiry or quota exhaustion. |
sort
query · string
|
id, created_at, name, type or status. Defaults to name ascending. |
{
"data": [
{
"id": 7,
"tenant_id": 12,
"name": "Home 20M",
"type": "prepaid",
"base_fee": 150.00,
"end_user_price": 180.00,
"vat_percent": "14.00",
"enforce_expiration": true,
"expiration_value": 30,
"expiration_unit": "days",
"combined_bytes_limit": 107374182400,
"enforce_combined_bytes": true,
"enforce_period_seconds": false,
"download_kbps": 20480,
"upload_kbps": 4096,
"speed_share_mode": "per_session",
"allowed_services": "both",
"private": false,
"show_in_ucp": true,
"carry_over_remaining_quota": false,
"auto_renew_supported": true,
"points_award": 10
}
],
"meta": { "page": 1, "page_size": 50, "total": 18, "has_next": false }
}
POST /api/v1/profiles Create a plan
name and type are the only required fields; everything else has a schema default. A plan created with no enforce toggles on is an unlimited plan.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_createCreate profiles - حد المعدل
t_mutate
A quota limit does nothing until its enforce toggle is on. Setting combined_bytes_limit while enforce_combined_bytes is false leaves the plan unlimited on data, and the number sits there looking like a cap. The two always travel together.
المعاملات
| المعامل | الوصف |
|---|---|
nameمطلوب
body · string
|
Display name. |
typeمطلوب
body · enum
|
prepaid, postpaid, fup, extension or addon. |
base_fee
body · number
|
Wholesale price to the reseller, major units. |
end_user_price
body · number
|
Retail price, major units. |
expiration_value
body · integer
|
Period length, paired with expiration_unit. |
expiration_unit
body · enum
|
hours, days or months. |
GET /api/v1/profiles/all List plans for a picker
Id and name only, un-paginated, for populating a select control. Cheaper than the full list when you do not need the plan bodies.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_indexView profiles
POST /api/v1/profiles/bulk-delete Delete profiles
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_deleteDelete profiles - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
DELETE /api/v1/profiles/{id} Delete a plan
Refused while the plan is still referenced — by a subscriber, a card series or another plan's fall-back chain.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_deleteDelete profiles - حد المعدل
t_mutate
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
GET /api/v1/profiles/{id} Fetch one plan
The full plan definition: pricing, quota limits and their enforce toggles, speed, lifecycle flags and the fall-back chain.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_indexView profiles
A plan you may not see answers 404, identical to one that does not exist. This route carries wholesale terms (base_fee, max_price), so a 403 would have let a reseller walk plan ids and read a rival's private pricing.
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
PATCH /api/v1/profiles/{id} Update a plan
Partial update. Numeric and foreign-key fields can be cleared to null by sending null explicitly, which is distinct from omitting them.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_updateEdit profiles - حد المعدل
t_mutate
Editing a plan does not re-provision the subscribers already on it. Their quota and window were written at activation time; a price or limit change applies to the next activation, not retroactively.
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
GET /api/v1/profiles/{id}/allowed-extensions Manage profile visibility / policy
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policy_managerManage profile visibility / policy
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
PUT /api/v1/profiles/{id}/allowed-extensions Manage profile visibility / policy
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policy_managerManage profile visibility / policy - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
GET /api/v1/profiles/{id}/allowed-managers Read a private plan's manager allow-list
Which managers may see and assign this plan. Only meaningful while the plan is private; a public plan is visible to everyone regardless of this list.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policy_managerManage profile visibility / policy
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
PUT /api/v1/profiles/{id}/allowed-managers Replace a private plan's manager allow-list
Replaces the whole list. Managers omitted from the payload lose access.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policy_managerManage profile visibility / policy - حد المعدل
t_mutate
The allow-list is inert while private is false. Setting it on a public plan stores the rows and changes nothing, which looks exactly like the restriction failing to apply.
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
GET /api/v1/profiles/{id}/allowed-parents Manage profile visibility / policy
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policy_managerManage profile visibility / policy
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
PUT /api/v1/profiles/{id}/allowed-parents Manage profile visibility / policy
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policy_managerManage profile visibility / policy - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
POST /api/v1/profiles/{id}/clone Clone a plan
Copies the plan, including its RADIUS attributes and policies, under a new name. The usual way to build a variant without re-entering forty fields.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_createCreate profiles - حد المعدل
t_mutate
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan to copy. |
GET /api/v1/profiles/{id}/policies Manage plan policy rules
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policiesManage plan policy rules
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
POST /api/v1/profiles/{id}/policies Manage plan policy rules
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policiesManage plan policy rules - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
POST /api/v1/profiles/{id}/policies/bulk-delete Manage plan policy rules
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policiesManage plan policy rules - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
DELETE /api/v1/profiles/{id}/policies/{policyID} Manage plan policy rules
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policiesManage plan policy rules - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
PATCH /api/v1/profiles/{id}/policies/{policyID} Manage plan policy rules
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_policiesManage plan policy rules - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
GET /api/v1/profiles/{id}/price-list Read a plan's per-reseller prices
The pricing-tree overrides for this plan: what each manager in the tree pays and may charge, where it differs from the plan default.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_pricingManage profile pricing
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
PUT /api/v1/profiles/{id}/price-list Replace a plan's per-reseller prices
Replaces the whole override set for this plan in one call. An entry omitted from the payload is removed, not left alone.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_pricingManage profile pricing - حد المعدل
t_mutate
A price cap of 0 and an absent cap mean different things. Absent is "no cap"; 0 is a cap of zero, which blocks every sale of that plan below the manager it is set on and reads on screen as "Over cap 0.00".
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
GET /api/v1/profiles/{id}/radius-attrs List a plan's RADIUS attributes
The reply attributes this plan adds to an Access-Accept, beyond the ones derived from its speed and quota settings.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_radius_attributesManage RADIUS attributes
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
POST /api/v1/profiles/{id}/radius-attrs Add a RADIUS attribute to a plan
Adds one reply attribute. Attributes set here ride on every session of every subscriber on the plan.
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_radius_attributesManage RADIUS attributes - حد المعدل
t_mutate
المعاملات
| المعامل | الوصف |
|---|---|
idمطلوب
path · integer
|
Plan id. |
POST /api/v1/profiles/{id}/radius-attrs/bulk-delete Manage RADIUS attributes
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_radius_attributesManage RADIUS attributes - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
DELETE /api/v1/profiles/{id}/radius-attrs/{attrId} Manage RADIUS attributes
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_radius_attributesManage RADIUS attributes - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
PATCH /api/v1/profiles/{id}/radius-attrs/{attrId} Manage RADIUS attributes
- المصادقة
- رمز موظّف أو جلسة
- تتطلب صلاحية
-
prm_profiles_radius_attributesManage RADIUS attributes - حد المعدل
t_mutate
مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.
لا توجد نقطة نهاية تطابق هذا البحث.
مكتوب لتقرأه الأدوات الآلية أيضًا
المرجع عام ولا يتطلب حسابًا، فتستطيع أداة لم تَرَ X-Radius من قبل أن تصل إلى أول استدعاء صحيح بنفسها.
- /llms.txt
- فهرس لكل صفحة، مع ملخّص من سطر واحد.
- /llms-full.txt
- المرجع كاملًا في ملف Markdown واحد، دون تنقّل يحتاج إلى زحف.
- /openapi.json
- OpenAPI 3.1، مُولَّد من الموجّه الذي يخدم هذه النسخة.
- /skill.md
- ملف مهارة جاهز لمساعد آلي: المصادقة وشكل الاستجابة ورموز الأخطاء في صفحة واحدة.
<page-url>.md- أضف .md إلى رابط أي صفحة في المرجع لتحصل على الصفحة نفسها بصيغة Markdown.
Accept: text/markdown- أرسل هذه الترويسة على الرابط المعتاد فتصلك الإجابة بصيغة Markdown بدلًا من الصفحة.
اقرأ https://x-radius.com/llms.txt، ثم اجلب نقطة النهاية التي تحتاجها بصيغة Markdown بإضافة .md إلى رابطها.