مرجع عام

Profiles

كل نقاط النهاية في هذه المجموعة. افتح أي واحدة لعرض معاملاتها ومثال عملي عليها.

26 نقاط النهاية

اعرض الصفحة بصيغة Markdown

Profiles

26
GET /api/v1/profiles List plans prm_profiles_index

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_index View 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.
الاستجابة 200 OK
{
  "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 prm_profiles_create

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_create Create 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 prm_profiles_index

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_index View profiles
POST /api/v1/profiles/bulk-delete Delete profiles prm_profiles_delete
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_delete Delete profiles
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

DELETE /api/v1/profiles/{id} Delete a plan prm_profiles_delete

Refused while the plan is still referenced — by a subscriber, a card series or another plan's fall-back chain.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_delete Delete profiles
حد المعدل
t_mutate

المعاملات

المعامل الوصف
idمطلوب path · integer Plan id.
GET /api/v1/profiles/{id} Fetch one plan prm_profiles_index

The full plan definition: pricing, quota limits and their enforce toggles, speed, lifecycle flags and the fall-back chain.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_index View 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 prm_profiles_update

Partial update. Numeric and foreign-key fields can be cleared to null by sending null explicitly, which is distinct from omitting them.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_update Edit 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_manager
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policy_manager Manage profile visibility / policy

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

PUT /api/v1/profiles/{id}/allowed-extensions Manage profile visibility / policy prm_profiles_policy_manager
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policy_manager Manage profile visibility / policy
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

GET /api/v1/profiles/{id}/allowed-managers Read a private plan's manager allow-list prm_profiles_policy_manager

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_manager Manage profile visibility / policy

المعاملات

المعامل الوصف
idمطلوب path · integer Plan id.
PUT /api/v1/profiles/{id}/allowed-managers Replace a private plan's manager allow-list prm_profiles_policy_manager

Replaces the whole list. Managers omitted from the payload lose access.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policy_manager Manage 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_manager
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policy_manager Manage profile visibility / policy

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

PUT /api/v1/profiles/{id}/allowed-parents Manage profile visibility / policy prm_profiles_policy_manager
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policy_manager Manage profile visibility / policy
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

POST /api/v1/profiles/{id}/clone Clone a plan prm_profiles_create

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_create Create profiles
حد المعدل
t_mutate

المعاملات

المعامل الوصف
idمطلوب path · integer Plan to copy.
GET /api/v1/profiles/{id}/policies Manage plan policy rules prm_profiles_policies
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policies Manage plan policy rules

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

POST /api/v1/profiles/{id}/policies Manage plan policy rules prm_profiles_policies
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policies Manage plan policy rules
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

POST /api/v1/profiles/{id}/policies/bulk-delete Manage plan policy rules prm_profiles_policies
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policies Manage plan policy rules
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

DELETE /api/v1/profiles/{id}/policies/{policyID} Manage plan policy rules prm_profiles_policies
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policies Manage plan policy rules
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

PATCH /api/v1/profiles/{id}/policies/{policyID} Manage plan policy rules prm_profiles_policies
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_policies Manage plan policy rules
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

GET /api/v1/profiles/{id}/price-list Read a plan's per-reseller prices prm_profiles_pricing

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_pricing Manage profile pricing

المعاملات

المعامل الوصف
idمطلوب path · integer Plan id.
PUT /api/v1/profiles/{id}/price-list Replace a plan's per-reseller prices prm_profiles_pricing

Replaces the whole override set for this plan in one call. An entry omitted from the payload is removed, not left alone.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_pricing Manage 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 prm_profiles_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_attributes Manage RADIUS attributes

المعاملات

المعامل الوصف
idمطلوب path · integer Plan id.
POST /api/v1/profiles/{id}/radius-attrs Add a RADIUS attribute to a plan prm_profiles_radius_attributes

Adds one reply attribute. Attributes set here ride on every session of every subscriber on the plan.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_radius_attributes Manage RADIUS attributes
حد المعدل
t_mutate

المعاملات

المعامل الوصف
idمطلوب path · integer Plan id.
POST /api/v1/profiles/{id}/radius-attrs/bulk-delete Manage RADIUS attributes prm_profiles_radius_attributes
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_radius_attributes Manage RADIUS attributes
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

DELETE /api/v1/profiles/{id}/radius-attrs/{attrId} Manage RADIUS attributes prm_profiles_radius_attributes
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_radius_attributes Manage RADIUS attributes
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

PATCH /api/v1/profiles/{id}/radius-attrs/{attrId} Manage RADIUS attributes prm_profiles_radius_attributes
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_profiles_radius_attributes Manage 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 إلى رابطها.

جرّبه على شبكتك.

50 مشترك لمدة 7 أيام، من غير ما تدفع حاجة.