# null
Source: https://altostrat.io/docs/CLAUDE
# Mintlify documentation
## Working relationship
* You can push back on ideas-this can lead to better documentation. Cite sources and explain your reasoning when you do so
* ALWAYS ask for clarification rather than making assumptions
* NEVER lie, guess, or make up information
## Project context
* Format: MDX files with YAML frontmatter
* Config: docs.json for navigation, theme, settings
* Components: Mintlify components
## Content strategy
* Document just enough for user success - not too much, not too little
* Prioritize accuracy and usability of information
* Make content evergreen when possible
* Search for existing information before adding new content. Avoid duplication unless it is done for a strategic reason
* Check existing patterns for consistency
* Start by making the smallest reasonable changes
## docs.json
* Refer to the [docs.json schema](https://mintlify.com/docs.json) when building the docs.json file and site navigation
## Frontmatter requirements for pages
* title: Clear, descriptive page title
* description: Concise summary for SEO/navigation
## Writing standards
* Second-person voice ("you")
* Prerequisites at start of procedural content
* Test all code examples before publishing
* Match style and formatting of existing pages
* Include both basic and advanced use cases
* Language tags on all code blocks
* Alt text on all images
* Relative paths for internal links
## Git workflow
* NEVER use --no-verify when committing
* Ask how to handle uncommitted changes before starting
* Create a new branch when no clear branch exists for changes
* Commit frequently throughout development
* NEVER skip or disable pre-commit hooks
## Do not
* Skip frontmatter on any MDX file
* Use absolute URLs for internal links
* Include untested code examples
* Make assumptions - always ask for clarification
# null
Source: https://altostrat.io/docs/README
# Mintlify Starter Kit
Click on `Use this template` to copy the Mintlify starter kit. The starter kit contains examples including
* Guide pages
* Navigation
* Customizations
* API Reference pages
* Use of popular components
### Development
Install the [Mintlify CLI](https://www.npmjs.com/package/mintlify) to preview the documentation changes locally. To install, use the following command
```
npm i -g mintlify
```
Run the following command at the root of your documentation (where docs.json is)
```
mintlify dev
```
### Publishing Changes
Install our Github App to auto propagate changes from your repo to your deployment. Changes will be deployed to production automatically after pushing to the default branch. Find the link to install on your dashboard.
#### Troubleshooting
* Mintlify dev isn't running - Run `mintlify install` it'll re-install dependencies.
* Page loads as a 404 - Make sure you are running in a folder with `docs.json`
# إنشاء رمز وصول مؤقت
Source: https://altostrat.io/docs/api/ar/access-tokens/إنشاء-رمز-وصول-مؤقت
api/ar/faults.yaml post /token
ينشئ رمز ويب JSON (JWT) قصير الأجل يمكن استخدامه لتوفير وصول مؤقت للقراءة فقط لبيانات أعطال معينة، عادةً لتضمينه في لوحات المعلومات الخارجية.
# إنشاء اسكربت من موجه نصي
Source: https://altostrat.io/docs/api/ar/ai-script-generation/إنشاء-اسكربت-من-موجه-نصي
api/ar/scripts.yaml post /gen-ai
تقديم موجه نصي باللغة الطبيعية إلى محرك الذكاء الاصطناعي لإنشاء اسكربت MikroTik RouterOS. تتضمن الاستجابة محتوى الاسكربت الذي تم إنشاؤه، وعلامة تشير إلى ما إذا كان الاسكربت قد يكون مدمرًا، وأي أخطاء أو تحذيرات من الذكاء الاصطناعي.
# الحصول على الأعطال الحديثة (قديم)
Source: https://altostrat.io/docs/api/ar/analytics/الحصول-على-الأعطال-الحديثة-قديم
api/ar/faults.yaml get /recent
يسترجع قائمة بالأعطال الحديثة. توفر هذه النقطة النهائية رؤية محددة لصحة الشبكة: فهي تُرجع جميع الأعطال التي لم يتم حلها حاليًا، بالإضافة إلى أي أعطال تم حلها خلال الدقائق العشر الماضية.
**ملاحظة:** هذه نقطة نهاية قديمة يتم الحفاظ عليها للتوافق مع الإصدارات السابقة. للحصول على استعلامات أكثر مرونة، نوصي باستخدام النقطة النهائية الرئيسية `GET /faults` مع المرشحات المناسبة.
# الحصول على الموارد الأكثر أعطالًا
Source: https://altostrat.io/docs/api/ar/analytics/الحصول-على-الموارد-الأكثر-أعطالًا
api/ar/faults.yaml get /top_faults
يسترجع قائمة بأكثر 10 موارد تكرارًا للأعطال خلال الـ 14 يومًا الماضية، مع عينة من أحدث أحداث الأعطال الخاصة بها. هذا مفيد لتحديد المناطق التي بها مشاكل في شبكتك.
# البحث في إدخالات ARP
Source: https://altostrat.io/docs/api/ar/arp-inventory/البحث-في-إدخالات-arp
api/ar/monitoring-metrics.yaml post /v1/monitoring/arps
يقوم ببحث مُقسّم إلى صفحات عن إدخالات ARP عبر موقع واحد أو أكثر، مع خيارات للتصفية والفرز. هذه هي نقطة النهاية الأساسية لبناء قائمة جرد بالأجهزة المتصلة.
# تحديث إدخال ARP
Source: https://altostrat.io/docs/api/ar/arp-inventory/تحديث-إدخال-arp
api/ar/monitoring-metrics.yaml put /v1/monitoring/arps/{siteId}/{arpEntryId}
يحدّث البيانات الوصفية لإدخال ARP معين، مثل تعيينه إلى مجموعة أو تحديد اسم مستعار مخصص له.
# عرض قائمة بأحداث سجل التدقيق
Source: https://altostrat.io/docs/api/ar/audit-logs/عرض-قائمة-بأحداث-سجل-التدقيق
api/ar/audit-logs.yaml get /audit-logs
استرداد قائمة بأحداث سجل التدقيق لمؤسستك. تدعم نقطة النهاية هذه التصفية القوية وتقسيم النتائج إلى صفحات لمساعدتك في العثور على أحداث معينة لأغراض الأمان أو الامتثال أو تصحيح الأخطاء.
يتم إرجاع النتائج بترتيب زمني عكسي (الأحدث أولاً) بشكل افتراضي.
# إنشاء تكامل مصادقة
Source: https://altostrat.io/docs/api/ar/auth-integrations/إنشاء-تكامل-مصادقة
api/ar/captive-portal.yaml post /auth-integrations
إنشاء تكامل مصادقة جديد للاستخدام مع نسخ البوابة المقيدة التي تستخدم استراتيجية 'oauth2'.
# استرداد تكامل مصادقة
Source: https://altostrat.io/docs/api/ar/auth-integrations/استرداد-تكامل-مصادقة
api/ar/captive-portal.yaml get /auth-integrations/{authIntegrationId}
استرداد تفاصيل تكامل مصادقة معين باستخدام معرفه الفريد.
# تحديث تكامل مصادقة
Source: https://altostrat.io/docs/api/ar/auth-integrations/تحديث-تكامل-مصادقة
api/ar/captive-portal.yaml put /auth-integrations/{authIntegrationId}
تحديث تكوين تكامل مصادقة موجود.
# حذف تكامل مصادقة
Source: https://altostrat.io/docs/api/ar/auth-integrations/حذف-تكامل-مصادقة
api/ar/captive-portal.yaml delete /auth-integrations/{authIntegrationId}
حذف تكامل مصادقة بشكل دائم. لا يمكن التراجع عن هذا الإجراء وقد يؤثر على نسخ البوابة المقيدة التي تعتمد عليه.
# عرض جميع تكاملات المصادقة
Source: https://altostrat.io/docs/api/ar/auth-integrations/عرض-جميع-تكاملات-المصادقة
api/ar/captive-portal.yaml get /auth-integrations
استرداد قائمة بجميع تكاملات مصادقة OAuth2 (IDPs) المكونة لحساب المستخدم.
# استرداد نسخة احتياطية محددة
Source: https://altostrat.io/docs/api/ar/backups/استرداد-نسخة-احتياطية-محددة
api/ar/backups.yaml get /sites/{siteId}/backups/{filename}
يجلب محتويات ملف نسخ احتياطي معين. يمكن التحكم في تنسيق الاستجابة عبر ترويسات HTTP لإرجاع بيانات وصفية بتنسيق JSON، أو نص خام، أو HTML مميز، أو ملف قابل للتنزيل.
# طلب نسخة احتياطية جديدة
Source: https://altostrat.io/docs/api/ar/backups/طلب-نسخة-احتياطية-جديدة
api/ar/backups.yaml post /sites/{siteId}/backups
يقوم بتشغيل عملية نسخ احتياطي جديدة لتهيئة الموقع المحدد بشكل غير متزامن. تعمل عملية النسخ الاحتياطي في الخلفية. تعود نقطة النهاية هذه على الفور بحالة تشير إلى أنه تم قبول الطلب للمعالجة.
# عرض قائمة النسخ الاحتياطية لموقع
Source: https://altostrat.io/docs/api/ar/backups/عرض-قائمة-النسخ-الاحتياطية-لموقع
api/ar/backups.yaml get /sites/{siteId}/backups
يسترجع قائمة بجميع ملفات النسخ الاحتياطي المتاحة لتهيئة موقع معين، مرتبة من الأحدث إلى الأقدم. يتيح لك هذا رؤية السجل الكامل للتهيئات المسجلة للجهاز.
# مقارنة نسختين احتياطيتين
Source: https://altostrat.io/docs/api/ar/backups/مقارنة-نسختين-احتياطيتين
api/ar/backups.yaml get /sites/{siteId}/backups/{fromFilename}/diff/{toFilename}
ينشئ فرقًا موحدًا (unified diff) بين ملفي نسخ احتياطي لموقع ما، موضحًا تغييرات التهيئة الدقيقة. هذا أمر لا يقدر بثمن لتدقيق التغييرات وفهم تطور الشبكة.
# إنشاء سياسة معلومات التهديدات عبر BGP
Source: https://altostrat.io/docs/api/ar/bgp-threat-intelligence/إنشاء-سياسة-معلومات-التهديدات-عبر-bgp
api/ar/utm-ips.yaml post /bgp/policy
إنشاء سياسة BGP جديدة، مع تحديد قوائم سمعة IP التي سيتم استخدامها لحظر حركة المرور.
# استرداد سياسة BGP
Source: https://altostrat.io/docs/api/ar/bgp-threat-intelligence/استرداد-سياسة-bgp
api/ar/utm-ips.yaml get /bgp/policy/{policyId}
استرداد تفاصيل سياسة معلومات التهديدات عبر BGP محددة من خلال معرّفها الفريد.
# تحديث سياسة BGP
Source: https://altostrat.io/docs/api/ar/bgp-threat-intelligence/تحديث-سياسة-bgp
api/ar/utm-ips.yaml put /bgp/policy/{policyId}
تحديث خصائص سياسة BGP موجودة، بما في ذلك اسمها وحالتها وقوائم IP المحددة وارتباطات المواقع.
# حذف سياسة BGP
Source: https://altostrat.io/docs/api/ar/bgp-threat-intelligence/حذف-سياسة-bgp
api/ar/utm-ips.yaml delete /bgp/policy/{policyId}
حذف سياسة BGP بشكل دائم. ستفشل هذه العملية إذا كانت السياسة مرتبطة حاليًا بموقع واحد أو أكثر.
# عرض قائمة بسياسات معلومات التهديدات عبر BGP
Source: https://altostrat.io/docs/api/ar/bgp-threat-intelligence/عرض-قائمة-بسياسات-معلومات-التهديدات-عبر-bgp
api/ar/utm-ips.yaml get /bgp/policy
استرداد قائمة بجميع سياسات معلومات التهديدات عبر BGP المرتبطة بحسابك.
# عرض قائمة بقوائم سمعة IP عبر BGP
Source: https://altostrat.io/docs/api/ar/bgp-threat-intelligence/عرض-قائمة-بقوائم-سمعة-ip-عبر-bgp
api/ar/utm-ips.yaml get /bgp/category
استرداد قائمة بجميع قوائم سمعة IP عبر BGP المتاحة التي يمكن تضمينها في سياسة BGP.
# إنشاء حساب فوترة
Source: https://altostrat.io/docs/api/ar/billing-accounts/إنشاء-حساب-فوترة
api/ar/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts
تنشئ حساب فوترة جديدًا داخل مساحة عمل. يؤدي هذا أيضًا إلى إنشاء كائن عميل (Customer) مقابل في Stripe. يتم تقييد السلوك بواسطة وضع الفوترة لمساحة العمل؛ في وضع `single`، يمكن إنشاء حساب فوترة واحد فقط. في وضعي `pooled` و `assigned`، يمكن إنشاء ما يصل إلى 10 حسابات.
# استرداد حساب فوترة
Source: https://altostrat.io/docs/api/ar/billing-accounts/استرداد-حساب-فوترة
api/ar/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
تسترد تفاصيل حساب فوترة محدد.
# تحديث حساب فوترة
Source: https://altostrat.io/docs/api/ar/billing-accounts/تحديث-حساب-فوترة
api/ar/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
تحدّث تفاصيل حساب فوترة. أي معاملات لم يتم توفيرها ستبقى دون تغيير. تقوم هذه العملية أيضًا بتحديث كائن العميل (Customer) المقابل في Stripe.
# حذف حساب فوترة
Source: https://altostrat.io/docs/api/ar/billing-accounts/حذف-حساب-فوترة
api/ar/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
يحذف حساب فوترة بشكل دائم. لا يمكن التراجع عن هذا الإجراء. لا يمكن حذف حساب فوترة إذا كان لديه أي اشتراكات نشطة.
# عرض قائمة حسابات الفوترة
Source: https://altostrat.io/docs/api/ar/billing-accounts/عرض-قائمة-حسابات-الفوترة
api/ar/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts
تُرجع قائمة بحسابات الفوترة المرتبطة بمساحة عمل.
# جلب أحدث النسخ الاحتياطية بشكل جماعي
Source: https://altostrat.io/docs/api/ar/bulk-operations/جلب-أحدث-النسخ-الاحتياطية-بشكل-جماعي
api/ar/backups.yaml post /backups/latest
يسترجع بكفاءة أحدث محتوى للنسخ الاحتياطي لقائمة تصل إلى 50 موقعًا. تم تحسين هذا للنواقل الذكية (AI agents) وأنظمة الأتمتة التي تحتاج إلى جمع تهيئات لمواقع متعددة في طلب واحد. تتحقق نقطة النهاية من صلاحية الوصول لكل موقع على حدة وتعيد حالة خاصة بكل موقع.
# إنشاء نسخة بوابة مقيدة
Source: https://altostrat.io/docs/api/ar/captive-portal-instances/إنشاء-نسخة-بوابة-مقيدة
api/ar/captive-portal.yaml post /instances
إنشاء نسخة بوابة مقيدة جديدة بتكوين أساسي. يمكن إضافة تفاصيل إضافية، مثل السمات والمواقع، عبر عملية تحديث.
# استرداد نسخة بوابة مقيدة
Source: https://altostrat.io/docs/api/ar/captive-portal-instances/استرداد-نسخة-بوابة-مقيدة
api/ar/captive-portal.yaml get /instances/{instanceId}
استرداد التفاصيل الكاملة لنسخة بوابة مقيدة معينة باستخدام معرفها الفريد.
# تحديث نسخة بوابة مقيدة
Source: https://altostrat.io/docs/api/ar/captive-portal-instances/تحديث-نسخة-بوابة-مقيدة
api/ar/captive-portal.yaml put /instances/{instanceId}
تحديث تكوين نسخة بوابة مقيدة معينة، بما في ذلك السمة والمواقع والشبكات الفرعية والإعدادات الأخرى.
# تحميل صورة للنسخة
Source: https://altostrat.io/docs/api/ar/captive-portal-instances/تحميل-صورة-للنسخة
api/ar/captive-portal.yaml post /instances/{instanceId}/images/{type}
تحميل شعار أو أيقونة لنسخة بوابة مقيدة معينة. سيتم تخزين الصورة وتقديمها عبر رابط موقع في سمة النسخة.
# حذف نسخة بوابة مقيدة
Source: https://altostrat.io/docs/api/ar/captive-portal-instances/حذف-نسخة-بوابة-مقيدة
api/ar/captive-portal.yaml delete /instances/{instanceId}
حذف نسخة بوابة مقيدة بشكل دائم وجميع الشبكات الفرعية والمواقع والقسائم والأصول المرتبطة بها. لا يمكن التراجع عن هذا الإجراء.
# عرض جميع نسخ البوابة المقيدة
Source: https://altostrat.io/docs/api/ar/captive-portal-instances/عرض-جميع-نسخ-البوابة-المقيدة
api/ar/captive-portal.yaml get /instances
استرداد قائمة بجميع نسخ البوابة المقيدة التي يمكن للمستخدم المصادق عليه الوصول إليها.
# إضافة تعليق إلى عطل
Source: https://altostrat.io/docs/api/ar/comments/إضافة-تعليق-إلى-عطل
api/ar/faults.yaml post /faults/{faultId}/comment
يضيف تعليقًا جديدًا إلى عطل موجود. التعليقات مفيدة لتتبع خطوات استكشاف الأخطاء وإصلاحها، أو إضافة سياق، أو التواصل مع أعضاء الفريق حول حادثة ما.
# استرداد اسكربت مجتمعي
Source: https://altostrat.io/docs/api/ar/community-scripts/استرداد-اسكربت-مجتمعي
api/ar/scripts.yaml get /community-scripts/{communityScriptId}
جلب معلومات مفصلة حول اسكربت مجتمعي معين، بما في ذلك محتواه ووصفه وبياناته الوصفية حول المؤلف والمستودع المصدر.
# الحصول على محتوى README الخام
Source: https://altostrat.io/docs/api/ar/community-scripts/الحصول-على-محتوى-readme-الخام
api/ar/scripts.yaml get /community-scripts/{communityScriptId}.md
تنزيل محتوى markdown النصي الخام لملف README الخاص باسكربت مجتمعي، إذا كان موجودًا.
# الحصول على محتوى الاسكربت الخام
Source: https://altostrat.io/docs/api/ar/community-scripts/الحصول-على-محتوى-الاسكربت-الخام
api/ar/scripts.yaml get /community-scripts/{communityScriptId}.rsc
تنزيل المحتوى النصي الخام لاسكربت مجتمعي، مناسب للاستخدام المباشر أو الفحص.
# تقديم اسكربت للمجتمع
Source: https://altostrat.io/docs/api/ar/community-scripts/تقديم-اسكربت-للمجتمع
api/ar/scripts.yaml post /community-scripts
تقديم اسكربت جديد إلى مستودع المجتمع عن طريق توفير رابط URL لملف `.rsc` خام على GitHub. سيقوم النظام بعد ذلك بجلب محتوى الاسكربت والبيانات الوصفية للمستودع المرتبط به.
# عرض قائمة اسكربتات المجتمع
Source: https://altostrat.io/docs/api/ar/community-scripts/عرض-قائمة-اسكربتات-المجتمع
api/ar/scripts.yaml get /community-scripts
استرداد قائمة مقسمة إلى صفحات من الاسكربتات من مستودع المجتمع العام. هذا مورد قيم للعثور على حلول مبنية مسبقًا لمهام MikroTik الشائعة.
# إنشاء جدول قسائم
Source: https://altostrat.io/docs/api/ar/coupon-schedules/إنشاء-جدول-قسائم
api/ar/captive-portal.yaml post /instances/{instanceId}/coupon-schedules
إنشاء جدول جديد لإنشاء القسائم تلقائيًا بشكل متكرر (يوميًا، أسبوعيًا، أو شهريًا).
# إنشاء رابط قسائم موقع
Source: https://altostrat.io/docs/api/ar/coupon-schedules/إنشاء-رابط-قسائم-موقع
api/ar/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}/generate-url
إنشاء رابط مؤقت وموقع يمكن استخدامه لاسترداد قائمة القسائم الصالحة التي تم إنشاؤها بواسطة جدول معين. هذا مفيد لتوزيع القسائم على أنظمة خارجية دون كشف مفاتيح API. الرابط صالح لمدة 24 ساعة.
# استرداد جدول قسائم
Source: https://altostrat.io/docs/api/ar/coupon-schedules/استرداد-جدول-قسائم
api/ar/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}
استرداد تفاصيل جدول قسائم معين باستخدام معرفه.
# تحديث جدول قسائم
Source: https://altostrat.io/docs/api/ar/coupon-schedules/تحديث-جدول-قسائم
api/ar/captive-portal.yaml put /instances/{instanceId}/coupon-schedules/{scheduleId}
تحديث تكوين جدول قسائم موجود.
# تشغيل جدول قسائم الآن
Source: https://altostrat.io/docs/api/ar/coupon-schedules/تشغيل-جدول-قسائم-الآن
api/ar/captive-portal.yaml post /instances/{instanceId}/coupon-schedules/{scheduleId}/run
تشغيل جدول قسائم يدويًا لإنشاء دفعة جديدة من القسائم فورًا، خارج نطاق تكراره العادي.
# حذف جدول قسائم
Source: https://altostrat.io/docs/api/ar/coupon-schedules/حذف-جدول-قسائم
api/ar/captive-portal.yaml delete /instances/{instanceId}/coupon-schedules/{scheduleId}
حذف جدول قسائم بشكل دائم. لن يؤدي هذا إلى حذف القسائم التي تم إنشاؤها بالفعل بواسطة الجدول.
# عرض جداول القسائم
Source: https://altostrat.io/docs/api/ar/coupon-schedules/عرض-جداول-القسائم
api/ar/captive-portal.yaml get /instances/{instanceId}/coupon-schedules
استرداد قائمة بجميع جداول إنشاء القسائم لنسخة بوابة مقيدة معينة.
# إنشاء قسائم
Source: https://altostrat.io/docs/api/ar/coupons/إنشاء-قسائم
api/ar/captive-portal.yaml post /instances/{instanceId}/coupons
إنشاء دفعة من القسائم أحادية الاستخدام لنسخة بوابة مقيدة محددة.
# عرض القسائم الصالحة لنسخة معينة
Source: https://altostrat.io/docs/api/ar/coupons/عرض-القسائم-الصالحة-لنسخة-معينة
api/ar/captive-portal.yaml get /instances/{instanceId}/coupons
استرداد قائمة بجميع القسائم الصالحة (غير المستخدمة وغير منتهية الصلاحية) لنسخة بوابة مقيدة معينة.
# الحصول على إنتاجية الشبكة
Source: https://altostrat.io/docs/api/ar/dashboard/الحصول-على-إنتاجية-الشبكة
api/ar/monitoring-metrics.yaml get /v1/monitoring/dashboard/throughput
يسترجع بيانات السلاسل الزمنية التي تمثل متوسط إنتاجية الشبكة (بالبت في الثانية) عبر المواقع المحددة خلال فترة زمنية معينة. استخدم نقطة النهاية هذه لتصور معدلات حركة المرور للوحات المعلومات والتقارير.
# الحصول على حجم البيانات المنقولة
Source: https://altostrat.io/docs/api/ar/dashboard/الحصول-على-حجم-البيانات-المنقولة
api/ar/monitoring-metrics.yaml get /v1/monitoring/dashboard/data-transferred
يسترجع الحجم الإجمالي للبيانات المنقولة (بالبايت) عبر المواقع المحددة، مجمعة في فترات زمنية. استخدم نقطة النهاية هذه لتحليل استهلاك البيانات وأنماط الاستخدام.
# الحصول على آخر وقت ظهور
Source: https://altostrat.io/docs/api/ar/device-health-&-status/الحصول-على-آخر-وقت-ظهور
api/ar/monitoring-metrics.yaml get /v1/monitoring/last-seen/{siteId}
يُرجع الوقت المنقضي منذ آخر مرة أبلغ فيها الجهاز في الموقع المحدد عن حالته.
# الحصول على أحدث إحصائيات صحة الجهاز
Source: https://altostrat.io/docs/api/ar/device-health-&-status/الحصول-على-أحدث-إحصائيات-صحة-الجهاز
api/ar/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats-all/{siteId}
يسترجع سلسلة زمنية لمقاييس الصحة الرئيسية (وحدة المعالجة المركزية، الذاكرة، القرص، مدة التشغيل) لجهاز موقع معين من آخر 8 ساعات.
# الحصول على سجل نبضات قلب الجهاز
Source: https://altostrat.io/docs/api/ar/device-health-&-status/الحصول-على-سجل-نبضات-قلب-الجهاز
api/ar/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats/{siteId}
يسترجع سجل نبضات قلب الجهاز وحالة الاتصال خلال الـ 24 ساعة الماضية، مجمعة كل ساعة. يساعد هذا في تحديد فترات التوقف أو غياب تسجيلات الحضور.
# استرداد إحصائيات الموقع خلال نطاق زمني
Source: https://altostrat.io/docs/api/ar/device-stats/استرداد-إحصائيات-الموقع-خلال-نطاق-زمني
api/ar/mikrotik-api.yaml get /sites/{siteId}/mikrotik-stats/range
يجلب مقاييس أداء السلاسل الزمنية (وحدة المعالجة المركزية، الذاكرة، القرص، مدة التشغيل) لموقع ضمن نطاق زمني محدد. للنطاقات التي تزيد عن 48 ساعة، يتم تجميع البيانات تلقائيًا كل ساعة لضمان استجابة سريعة. للنطاقات الأقصر، يتم إرجاع نقاط البيانات الخام.
# نقطة نهاية اكتشاف OIDC
Source: https://altostrat.io/docs/api/ar/discovery/نقطة-نهاية-اكتشاف-oidc
api/ar/authentication.yaml get /.well-known/openid-configuration
تُرجع مستند JSON يحتوي على بيانات وصفية لتكوين موفر OpenID. يستخدم العملاء المتوافقون مع OIDC هذه النقطة النهائية لاكتشاف مواقع نقاط نهاية التفويض والرمز المميز ومعلومات المستخدم و JWKS تلقائيًا، بالإضافة إلى جميع الإمكانيات المدعومة.
# نقطة نهاية مجموعة مفاتيح الويب JSON (JWKS)
Source: https://altostrat.io/docs/api/ar/discovery/نقطة-نهاية-مجموعة-مفاتيح-الويب-json-jwks
api/ar/authentication.yaml get /.well-known/jwks.json
توفر مجموعة المفاتيح العامة المستخدمة للتحقق من توقيع رموز JWT الصادرة عن خادم المصادقة. يجب على العملاء استخدام `kid` (معرف المفتاح) من ترويسة JWT لتحديد المفتاح الصحيح للتحقق.
# إنشاء سياسة تصفية محتوى عبر DNS
Source: https://altostrat.io/docs/api/ar/dns-content-filtering/إنشاء-سياسة-تصفية-محتوى-عبر-dns
api/ar/utm-ips.yaml post /policy
إنشاء سياسة جديدة لتصفية المحتوى عبر DNS مع تحديد قواعد التصفية، وحظر التطبيقات، وإعدادات البحث الآمن.
# استرداد سياسة DNS
Source: https://altostrat.io/docs/api/ar/dns-content-filtering/استرداد-سياسة-dns
api/ar/utm-ips.yaml get /policy/{policyId}
استرداد تفاصيل سياسة تصفية محتوى DNS محددة من خلال معرّفها الفريد.
# تحديث سياسة DNS
Source: https://altostrat.io/docs/api/ar/dns-content-filtering/تحديث-سياسة-dns
api/ar/utm-ips.yaml put /policy/{policyId}
تحديث خصائص سياسة DNS موجودة. يمكنك تغيير اسمها، وحظر التطبيقات، وإعدادات البحث الآمن، وارتباطات المواقع.
# حذف سياسة DNS
Source: https://altostrat.io/docs/api/ar/dns-content-filtering/حذف-سياسة-dns
api/ar/utm-ips.yaml delete /policy/{policyId}
حذف سياسة DNS بشكل دائم. ستفشل هذه العملية إذا كانت السياسة مرتبطة حاليًا بموقع واحد أو أكثر.
# عرض قائمة بخدمات البحث الآمن
Source: https://altostrat.io/docs/api/ar/dns-content-filtering/عرض-قائمة-بخدمات-البحث-الآمن
api/ar/utm-ips.yaml get /category/safe_search
استرداد قائمة بالخدمات (مثل Google، YouTube) التي يمكن فرض البحث الآمن لها في سياسة DNS.
# عرض قائمة بسياسات تصفية المحتوى عبر DNS
Source: https://altostrat.io/docs/api/ar/dns-content-filtering/عرض-قائمة-بسياسات-تصفية-المحتوى-عبر-dns
api/ar/utm-ips.yaml get /policy
استرداد قائمة بجميع سياسات تصفية المحتوى عبر DNS المرتبطة بحسابك.
# عرض قائمة بفئات التطبيقات
Source: https://altostrat.io/docs/api/ar/dns-content-filtering/عرض-قائمة-بفئات-التطبيقات
api/ar/utm-ips.yaml get /category
استرداد قائمة بجميع فئات التطبيقات المتاحة. تحتوي كل فئة على قائمة بالتطبيقات التي يمكن استهدافها في سياسات DNS.
# إلغاء تفعيل خدمة تجاوز الفشل
Source: https://altostrat.io/docs/api/ar/failover-service/إلغاء-تفعيل-خدمة-تجاوز-الفشل
api/ar/wan-failover.yaml delete /v1/failover/{site_id}
إلغاء تفعيل خدمة تجاوز الفشل لشبكة WAN لموقع ما، وإزالة جميع أنفاق WAN المرتبطة وتكويناتها من منصة Altostrat وجهاز التوجيه في الموقع. هذا الإجراء لا يمكن التراجع عنه.
# الحصول على حالة خدمة تجاوز الفشل
Source: https://altostrat.io/docs/api/ar/failover-service/الحصول-على-حالة-خدمة-تجاوز-الفشل
api/ar/wan-failover.yaml get /v1/failover/{site_id}
التحقق من حالة خدمة تجاوز الفشل لشبكة WAN لموقع محدد، مع إرجاع معرف الاشتراك إذا كانت نشطة.
# تفعيل خدمة تجاوز الفشل
Source: https://altostrat.io/docs/api/ar/failover-service/تفعيل-خدمة-تجاوز-الفشل
api/ar/wan-failover.yaml post /v1/failover/{site_id}
تفعيل خدمة تجاوز الفشل لشبكة WAN لموقع محدد. هذه هي الخطوة الأولى لتمكين قدرات SD-WAN. يؤدي تفعيل الخدمة إلى إنشاء نفقين افتراضيين غير مُكوَّنين لشبكة WAN تلقائيًا.
# عرض المواقع التي بها خدمة تجاوز الفشل
Source: https://altostrat.io/docs/api/ar/failover-service/عرض-المواقع-التي-بها-خدمة-تجاوز-الفشل
api/ar/wan-failover.yaml get /v1/failover/service-counts
استرداد قائمة بجميع المواقع المرتبطة بالمستخدم الموثق والتي تم تنشيط خدمة تجاوز الفشل لشبكة WAN بها حاليًا.
# إنشاء عطل
Source: https://altostrat.io/docs/api/ar/faults/إنشاء-عطل
api/ar/faults.yaml post /faults
يقوم بإنشاء كائن عطل جديد يدويًا. يُستخدم هذا عادةً لإنشاء أعطال من أنظمة خارجية أو لأغراض الاختبار. بالنسبة للاستيعاب الآلي، تقوم الخدمات المصغرة الأخرى بدفع الأحداث التي تتم معالجتها لتصبح أعطالًا.
# استرجاع عطل
Source: https://altostrat.io/docs/api/ar/faults/استرجاع-عطل
api/ar/faults.yaml get /faults/{faultId}
يسترجع تفاصيل عطل موجود. تحتاج فقط إلى توفير معرف العطل الفريد الذي تم إرجاعه عند إنشاء العطل.
# تحديث عطل
Source: https://altostrat.io/docs/api/ar/faults/تحديث-عطل
api/ar/faults.yaml put /faults/{faultId}
يقوم بتحديث العطل المحدد عن طريق تعيين قيم المعلمات المُمررة. أي معلمات لم يتم توفيرها ستبقى دون تغيير. هذا مفيد لتغيير خطورة العطل أو حله يدويًا.
# حذف عطل
Source: https://altostrat.io/docs/api/ar/faults/حذف-عطل
api/ar/faults.yaml delete /faults/{faultId}
يحذف كائن عطل بشكل دائم. لا يمكن التراجع عن هذا الإجراء.
# عرض قائمة بكل الأعطال
Source: https://altostrat.io/docs/api/ar/faults/عرض-قائمة-بكل-الأعطال
api/ar/faults.yaml get /faults
ترجع قائمة مجزأة من كائنات الأعطال لحسابك. يتم إرجاع الأعطال بترتيب زمني عكسي حسب وقت الإنشاء. يمكنك تصفية النتائج باستخدام معلمات الاستعلام.
# حذف تقرير مُنشأ
Source: https://altostrat.io/docs/api/ar/generated-reports/حذف-تقرير-مُنشأ
api/ar/reports.yaml delete /sla/reports/{reportId}
حذف تقرير تم إنشاؤه مسبقًا بشكل دائم وبياناته المرتبطة به من PDF و JSON من التخزين.
# عرض قائمة التقارير المُنشأة
Source: https://altostrat.io/docs/api/ar/generated-reports/عرض-قائمة-التقارير-المُنشأة
api/ar/reports.yaml get /sla/reports
استرداد قائمة مقسمة إلى صفحات لجميع التقارير التي تم إنشاؤها تاريخيًا لمساحة العمل، مرتبة حسب تاريخ الإنشاء بترتيب تنازلي.
# البحث عن البوابات المؤهلة
Source: https://altostrat.io/docs/api/ar/helper-endpoints/البحث-عن-البوابات-المؤهلة
api/ar/wan-failover.yaml post /v1/failover/{site_id}/gateways
لواجهة جهاز توجيه معينة، تحاول نقطة النهاية هذه اكتشاف عناوين IP للبوابات الصاعدة المؤهلة. يساعد هذا في أتمتة عملية العثور على عنوان IP للبوابة `gateway` الصحيح لتكوين النفق.
# عرض قائمة واجهات جهاز التوجيه
Source: https://altostrat.io/docs/api/ar/helper-endpoints/عرض-قائمة-واجهات-جهاز-التوجيه
api/ar/wan-failover.yaml get /v1/failover/{site_id}/interfaces
استرداد قائمة بواجهات الشبكة المادية والمنطقية المتاحة من جهاز التوجيه في الموقع المحدد. هذا مفيد لتحديد اسم `interface` الصحيح عند تكوين نفق.
# إنشاء مثيل VPN
Source: https://altostrat.io/docs/api/ar/instances/إنشاء-مثيل-vpn
api/ar/managed-vpn.yaml post /instances
يوفر مثيل خادم VPN جديد في منطقة محددة باسم مضيف فريد. هذه هي الخطوة الأولى في إعداد VPN جديد.
# استرداد عرض النطاق الترددي للمثيل
Source: https://altostrat.io/docs/api/ar/instances/استرداد-عرض-النطاق-الترددي-للمثيل
api/ar/managed-vpn.yaml get /instances/{instanceId}/bandwidth
يجلب إحصائيات استخدام عرض النطاق الترددي للخادم الأساسي المرتبط بمثيل VPN.
# استرداد مثيل VPN
Source: https://altostrat.io/docs/api/ar/instances/استرداد-مثيل-vpn
api/ar/managed-vpn.yaml get /instances/{instanceId}
يجلب تفاصيل مثيل VPN معين بواسطة معرّفه الفريد.
# تحديث مثيل VPN
Source: https://altostrat.io/docs/api/ar/instances/تحديث-مثيل-vpn
api/ar/managed-vpn.yaml put /instances/{instanceId}
يعدّل تكوين مثيل VPN موجود، مثل اسمه أو إعدادات DNS أو المسارات المدفوعة (pushed routes).
# حذف مثيل VPN
Source: https://altostrat.io/docs/api/ar/instances/حذف-مثيل-vpn
api/ar/managed-vpn.yaml delete /instances/{instanceId}
يوقف تشغيل مثيل VPN بشكل دائم وجميع الخوادم والأقران المرتبطة به. لا يمكن التراجع عن هذا الإجراء.
# عرض جميع مثيلات VPN
Source: https://altostrat.io/docs/api/ar/instances/عرض-جميع-مثيلات-vpn
api/ar/managed-vpn.yaml get /instances
يسترجع قائمة بجميع مثيلات VPN التي يمكن للمستخدم المصادق عليه الوصول إليها.
# مقدمة واجهة برمجة التطبيقات
Source: https://altostrat.io/docs/api/ar/introduction
مرحبًا بك في واجهة برمجة التطبيقات Altostrat! مجموعة أدواتك لبناء تكاملات قوية لأتمتة الشبكة والأمان على MikroTik الخاص بك.
# مقدمة واجهة برمجة التطبيقات
هذه الصفحة قيد الترجمة. يرجى الرجوع إلى [النسخة الإنجليزية](/api/en/introduction) للحصول على الوثائق الكاملة.
## البدء
للبدء في استخدام واجهة برمجة التطبيقات Altostrat، ستحتاج إلى:
1. حساب Altostrat نشط
2. رمز API (يمكن إنشاؤه من لوحة التحكم)
3. معرفة أساسية بـ REST APIs
## الموارد
يرجى زيارة النسخة الإنجليزية من الوثائق للحصول على معلومات مفصلة حول:
* المصادقة
* نقاط النهاية
* أمثلة الطلبات
* معالجة الأخطاء
# عرض قائمة الفواتير
Source: https://altostrat.io/docs/api/ar/invoices/عرض-قائمة-الفواتير
api/ar/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices
تُرجع قائمة بالفواتير لحساب فوترة. يتم إرجاع الفواتير بترتيب زمني عكسي.
# معاينة فاتورة
Source: https://altostrat.io/docs/api/ar/invoices/معاينة-فاتورة
api/ar/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices/preview
تعاين فاتورة قادمة لحساب فوترة، وتظهر التأثير المالي لتغييرات الاشتراك المحتملة، مثل إضافة منتجات أو تغيير الكميات. هذا لا يعدل أي اشتراكات موجودة.
# إلغاء مهمة معلقة
Source: https://altostrat.io/docs/api/ar/jobs/إلغاء-مهمة-معلقة
api/ar/mikrotik-api.yaml delete /sites/{siteId}/jobs/{jobId}
يحذف مهمة لم يبدأ تنفيذها بعد. لا يمكن حذف المهام قيد التنفيذ أو المكتملة أو الفاشلة.
# إنشاء مهمة لموقع
Source: https://altostrat.io/docs/api/ar/jobs/إنشاء-مهمة-لموقع
api/ar/mikrotik-api.yaml post /sites/{siteId}/jobs
ينشئ ويضع مهمة جديدة في قائمة الانتظار ليتم تنفيذها على الموقع المحدد. حمولة المهمة هي نص برمجي خام لـ RouterOS، ويتم توفير البيانات الوصفية عبر الترويسات.
# استرداد مهمة
Source: https://altostrat.io/docs/api/ar/jobs/استرداد-مهمة
api/ar/mikrotik-api.yaml get /sites/{siteId}/jobs/{jobId}
يسترد التفاصيل الكاملة لمهمة محددة عن طريق معرفها الفريد (UUID).
# عرض قائمة المهام لموقع
Source: https://altostrat.io/docs/api/ar/jobs/عرض-قائمة-المهام-لموقع
api/ar/mikrotik-api.yaml get /sites/{siteId}/jobs
يسترد قائمة بجميع المهام التي تم إنشاؤها لموقع معين، مرتبة حسب تاريخ الإنشاء (الأحدث أولاً).
# تنفيذ أمر متزامن
Source: https://altostrat.io/docs/api/ar/live-commands/تنفيذ-أمر-متزامن
api/ar/generative-ai.yaml post /sites/{siteId}/commands/synchronous
ينفذ أمرًا من واجهة برمجة تطبيقات MikroTik RouterOS للقراءة فقط بشكل متزامن على موقع معين. يوفر هذا واجهة مباشرة وفورية مع الجهاز. لجلب التكوينات الثابتة، غالبًا ما يكون استخدام واجهة برمجة تطبيقات النسخ الاحتياطي أسرع. عمليات الكتابة ممنوعة تمامًا.
# نقطة نهاية MCP JSON-RPC
Source: https://altostrat.io/docs/api/ar/mcp--البروتوكول-الأساسي/نقطة-نهاية-mcp-json-rpc
api/ar/mcp-server.yaml post /mcp
هذه هي نقطة النهاية الوحيدة لجميع تفاعلات بروتوكول سياق النموذج (MCP)، والتي تتبع مواصفات JSON-RPC 2.0.
يتم تحديد الإجراء المحدد الذي سيتم تنفيذه بواسطة خاصية `method` داخل نص طلب JSON. يختلف هيكل كائن `params` اعتمادًا على الطريقة التي يتم استدعاؤها.
فيما يلي الطرق المدعومة:
### دورة الحياة
- `initialize`: يؤسس اتصالًا ويتفاوض على إصدارات البروتوكول.
- `ping`: طريقة بسيطة للتحقق مما إذا كان الاتصال نشطًا.
### الأدوات
- `tools/list`: يسترجع قائمة بالأدوات المتاحة التي يمكن لوكيل الذكاء الاصطناعي تنفيذها.
- `tools/call`: ينفذ أداة معينة بالوسائط المقدمة.
### المصادر
- `resources/list`: يسترجع قائمة بمصادر المعرفة المتاحة.
- `resources/read`: يقرأ محتوى مصدر معين.
### التلقينات
- `prompts/list`: يسترجع قائمة بالتلقينات المتاحة والمحددة مسبقًا.
- `prompts/get`: يسترجع هيكل الرسالة الكامل لتلقين معين، مع تعبئته بالوسائط.
# إنشاء كائن بيانات وصفية
Source: https://altostrat.io/docs/api/ar/metadata/إنشاء-كائن-بيانات-وصفية
api/ar/metadata.yaml post /metadata
ينشئ كائن بيانات وصفية جديدًا لمورد معين، أو يستبدل بالكامل كائنًا موجودًا لذلك المورد. البيانات الوصفية نفسها هي مخزن مرن للمفاتيح والقيم.
# استرداد كائن بيانات وصفية
Source: https://altostrat.io/docs/api/ar/metadata/استرداد-كائن-بيانات-وصفية
api/ar/metadata.yaml get /metadata/{resourceId}
يجلب كائن البيانات الوصفية لمورد واحد، يتم تحديده بواسطة معرفه الفريد.
# تحديث كائن بيانات وصفية
Source: https://altostrat.io/docs/api/ar/metadata/تحديث-كائن-بيانات-وصفية
api/ar/metadata.yaml put /metadata/{resourceId}
يُحدّث البيانات الوصفية لمورد محدد. تقوم هذه العملية بالدمج؛ أي مفاتيح تقدمها ستتم إضافتها أو ستستبدل المفاتيح الموجودة، بينما ستُترك المفاتيح التي لا تقدمها كما هي. لإزالة مفتاح، اضبط قيمته على `null` أو سلسلة فارغة.
# حذف كائن بيانات وصفية
Source: https://altostrat.io/docs/api/ar/metadata/حذف-كائن-بيانات-وصفية
api/ar/metadata.yaml delete /metadata/{resourceId}
يحذف جميع البيانات الوصفية المخصصة المرتبطة بمورد. يمسح هذا الإجراء حقل `metadata` ولكنه لا يحذف المورد نفسه.
# عرض جميع كائنات البيانات الوصفية
Source: https://altostrat.io/docs/api/ar/metadata/عرض-جميع-كائنات-البيانات-الوصفية
api/ar/metadata.yaml get /metadata
يسترجع مجموعة من جميع الموارد التي لديها بيانات وصفية مرتبطة بها للعميل الحالي.
# الحصول على إدخالات Syslog للموقع
Source: https://altostrat.io/docs/api/ar/network-logs/الحصول-على-إدخالات-syslog-للموقع
api/ar/monitoring-metrics.yaml get /v1/monitoring/syslogs/{siteId}
يسترجع قائمة مقسمة إلى صفحات من رسائل syslog لموقع معين، مرتبة حسب الأحدث أولاً.
# الحصول على تقرير أمان BGP
Source: https://altostrat.io/docs/api/ar/network-logs/الحصول-على-تقرير-أمان-bgp
api/ar/monitoring-metrics.yaml get /v1/monitoring/bgp-report/{siteId}
يُنشئ تقرير أمان BGP لموقع ما بناءً على بيانات آخر 24 ساعة. يتضمن التقرير أعلى 10 منافذ وجهة، وأعلى 10 قوائم حظر تم تفعيلها، وأعلى 10 عناوين IP مصدرة لحركة المرور المحظورة.
# الحصول على تقرير أمان DNS
Source: https://altostrat.io/docs/api/ar/network-logs/الحصول-على-تقرير-أمان-dns
api/ar/monitoring-metrics.yaml get /v1/monitoring/dns-report/{siteId}
يُنشئ تقرير أمان DNS لموقع ما بناءً على بيانات آخر 24 ساعة. يتضمن التقرير أعلى 10 فئات محظورة، وأعلى 10 تطبيقات محظورة، وأعلى 10 عناوين IP مصدر داخلية تقدم طلبات محظورة.
# إلغاء الرمز المميز
Source: https://altostrat.io/docs/api/ar/oauth-20-&-oidc/إلغاء-الرمز-المميز
api/ar/authentication.yaml post /oauth/revoke
يلغي `access_token` أو `refresh_token`، مما يجعله غير صالح على الفور. هذا مفيد لسيناريوهات مثل تغيير كلمة المرور أو تسجيل خروج المستخدم من جميع الأجهزة.
# الحصول على ملف تعريف المستخدم
Source: https://altostrat.io/docs/api/ar/oauth-20-&-oidc/الحصول-على-ملف-تعريف-المستخدم
api/ar/authentication.yaml get /userinfo
يسترجع ملف تعريف المستخدم المرتبط بـ `access_token` المقدم. تعتمد المطالبات (claims) التي يتم إرجاعها على النطاقات (scopes) الممنوحة أثناء المصادقة.
# بدء مصادقة المستخدم
Source: https://altostrat.io/docs/api/ar/oauth-20-&-oidc/بدء-مصادقة-المستخدم
api/ar/authentication.yaml get /authorize
هذه هي نقطة البداية لمصادقة المستخدم. يقوم تطبيق الويب الخاص بـ Altostrat بإعادة توجيه متصفح المستخدم إلى هذه النقطة النهائية لبدء تدفق رمز تفويض OAuth 2.0 مع PKCE.
# تبادل الرمز أو رمز التحديث برموز مميزة
Source: https://altostrat.io/docs/api/ar/oauth-20-&-oidc/تبادل-الرمز-أو-رمز-التحديث-برموز-مميزة
api/ar/authentication.yaml post /oauth/token
تُستخدم لتبادل `authorization_code` برموز مميزة، أو لاستخدام `refresh_token` للحصول على `access_token` جديد. يمكن إجراء مصادقة العميل عبر `client_secret_post` (في متن الطلب)، أو `client_secret_basic` (مصادقة HTTP الأساسية)، أو `private_key_jwt`.
# تسجيل خروج المستخدم (قديم)
Source: https://altostrat.io/docs/api/ar/oauth-20-&-oidc/تسجيل-خروج-المستخدم-قديم
api/ar/authentication.yaml get /v2/logout
يسجل خروج المستخدم من جلسة Altostrat الخاصة به ويعيد توجيهه إلى عنوان URL محدد.
# تسجيل خروج المستخدم (متوافق مع OIDC)
Source: https://altostrat.io/docs/api/ar/oauth-20-&-oidc/تسجيل-خروج-المستخدم-متوافق-مع-oidc
api/ar/authentication.yaml get /oidc/logout
تتوافق هذه النقطة النهائية مع مواصفات إدارة جلسات OIDC. تقوم بتسجيل خروج المستخدم ويمكنها إعادة توجيهه مرة أخرى إلى التطبيق.
# إنشاء منظمة
Source: https://altostrat.io/docs/api/ar/organizations/إنشاء-منظمة
api/ar/workspaces.yaml post /workspaces/{workspaceId}/organizations
تنشئ منظمة جديدة من المستوى الأعلى داخل مساحة عمل. لإنشاء منظمة فرعية، استخدم نقطة النهاية `/organizations/{organizationId}/children`. لا يمكن أن تحتوي مساحة العمل على أكثر من 1000 منظمة في المجموع.
# إنشاء منظمة فرعية
Source: https://altostrat.io/docs/api/ar/organizations/إنشاء-منظمة-فرعية
api/ar/workspaces.yaml post /workspaces/{workspaceId}/organizations/{organizationId}/children
تنشئ منظمة جديدة كفرع مباشر للمنظمة الرئيسية المحددة. لا يمكن أن يتجاوز التسلسل الهرمي 10 مستويات من العمق، ولا يمكن أن يكون للمنظمة الرئيسية أكثر من 100 فرع مباشر.
# استرداد المنظمة الرئيسية
Source: https://altostrat.io/docs/api/ar/organizations/استرداد-المنظمة-الرئيسية
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/parent
تسترد المنظمة الرئيسية لمنظمة فرعية محددة. إذا كانت المنظمة في المستوى الأعلى، فستُرجع نقطة النهاية هذه استجابة 204 لا يوجد محتوى.
# استرداد حدود المنظمة
Source: https://altostrat.io/docs/api/ar/organizations/استرداد-حدود-المنظمة
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/limits
تسترد تفصيلاً للاستخدام والحدود والسعة المتاحة لكل نوع منتج قابل للقياس لمنظمة معينة. يأخذ هذا في الاعتبار حدود المنظمة الخاصة، والحدود الموروثة من آبائها، والسعة الإجمالية المتاحة من اشتراكها.
# استرداد منظمة
Source: https://altostrat.io/docs/api/ar/organizations/استرداد-منظمة
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}
تسترد تفاصيل منظمة معينة داخل مساحة عمل.
# تحديث منظمة
Source: https://altostrat.io/docs/api/ar/organizations/تحديث-منظمة
api/ar/workspaces.yaml patch /workspaces/{workspaceId}/organizations/{organizationId}
تحدّث سمات محددة لمنظمة. يمكن استخدام نقطة النهاية هذه لتغيير اسم المنظمة، أو تحديث حدود مواردها، أو تعديل إعدادات العلامة التجارية. تحتاج فقط إلى توفير الحقول التي تريد تغييرها.
# تصدير استخدام المنظمة كملف CSV
Source: https://altostrat.io/docs/api/ar/organizations/تصدير-استخدام-المنظمة-كملف-csv
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.csv
تنشئ وتنزّل ملف CSV يوضح تفاصيل استخدام الموارد وحدودها لجميع المنظمات داخل مساحة العمل المحددة.
# تصدير استخدام المنظمة كملف PDF
Source: https://altostrat.io/docs/api/ar/organizations/تصدير-استخدام-المنظمة-كملف-pdf
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.pdf
تنشئ وتنزّل ملف PDF يوضح تفاصيل استخدام الموارد وحدودها لجميع المنظمات داخل مساحة العمل المحددة.
# حذف منظمة
Source: https://altostrat.io/docs/api/ar/organizations/حذف-منظمة
api/ar/workspaces.yaml delete /workspaces/{workspaceId}/organizations/{organizationId}
تحذف منظمة بشكل دائم. لا يمكن حذف منظمة إذا كان لديها أو أي من فروعها استخدام نشط للموارد.
# عرض قائمة المنظمات
Source: https://altostrat.io/docs/api/ar/organizations/عرض-قائمة-المنظمات
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations
تُرجع قائمة بجميع المنظمات داخل مساحة العمل المحددة.
# عرض قائمة المنظمات الفرعية
Source: https://altostrat.io/docs/api/ar/organizations/عرض-قائمة-المنظمات-الفرعية
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/children
تُرجع قائمة بالمنظمات الفرعية المباشرة لمنظمة رئيسية محددة.
# عرض قائمة بجميع المنظمات المنحدرة
Source: https://altostrat.io/docs/api/ar/organizations/عرض-قائمة-بجميع-المنظمات-المنحدرة
api/ar/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/descendants
تُرجع قائمة مسطحة بجميع المنظمات التي هي من فروع (أبناء، أحفاد، إلخ) المنظمة الرئيسية المحددة.
# إنشاء Setup Intent
Source: https://altostrat.io/docs/api/ar/payment-methods/إنشاء-setup-intent
api/ar/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
تنشئ Stripe Setup Intent لجمع تفاصيل طريقة الدفع للمدفوعات المستقبلية. تُرجع هذه العملية `client_secret` يمكنك استخدامه مع Stripe.js أو SDKs للجوال لعرض نموذج دفع. لا يمكن أن يحتوي حساب الفوترة على أكثر من 5 طرق دفع.
# تعيين طريقة دفع افتراضية
Source: https://altostrat.io/docs/api/ar/payment-methods/تعيين-طريقة-دفع-افتراضية
api/ar/workspaces.yaml put /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
تعيّن طريقة دفع محددة كطريقة افتراضية لحساب فوترة. سيتم استخدام طريقة الدفع هذه لجميع فواتير الاشتراك المستقبلية.
# عرض قائمة طرق الدفع
Source: https://altostrat.io/docs/api/ar/payment-methods/عرض-قائمة-طرق-الدفع
api/ar/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
تُرجع قائمة بطرق الدفع المرفقة بحساب فوترة.
# فصل طريقة دفع
Source: https://altostrat.io/docs/api/ar/payment-methods/فصل-طريقة-دفع
api/ar/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
تفصل طريقة دفع عن حساب فوترة. لا يمكنك فصل طريقة الدفع الوحيدة في الحساب، ولا يمكنك فصل طريقة الدفع الافتراضية إذا كانت هناك اشتراكات نشطة.
# إنشاء قرين
Source: https://altostrat.io/docs/api/ar/peers/إنشاء-قرين
api/ar/managed-vpn.yaml post /instances/{instanceId}/peers
ينشئ قرينًا جديدًا (عميلًا أو موقعًا) ويربطه بمثيل VPN.
# استرداد قرين
Source: https://altostrat.io/docs/api/ar/peers/استرداد-قرين
api/ar/managed-vpn.yaml get /instances/{instanceId}/peers/{peerId}
يجلب تفاصيل قرين معين بواسطة معرّفه الفريد.
# تحديث قرين
Source: https://altostrat.io/docs/api/ar/peers/تحديث-قرين
api/ar/managed-vpn.yaml put /instances/{instanceId}/peers/{peerId}
يعدّل تكوين قرين موجود، مثل شبكاته الفرعية أو سلوك التوجيه الخاص به.
# حذف قرين
Source: https://altostrat.io/docs/api/ar/peers/حذف-قرين
api/ar/managed-vpn.yaml delete /instances/{instanceId}/peers/{peerId}
يزيل بشكل دائم قرينًا من مثيل VPN. هذا يلغي وصوله.
# عرض جميع الأقران لمثيل
Source: https://altostrat.io/docs/api/ar/peers/عرض-جميع-الأقران-لمثيل
api/ar/managed-vpn.yaml get /instances/{instanceId}/peers
يسترجع قائمة بجميع الأقران (العملاء والمواقع) المرتبطة بمثيل VPN معين.
# إنشاء سياسة
Source: https://altostrat.io/docs/api/ar/policies/إنشاء-سياسة
api/ar/control-plane.yaml post /policies
إنشاء سياسة أمان جديدة. يمكنك تحديد قواعد لخدمات مثل Winbox و SSH و HTTP/S، بما في ذلك الشبكات المسموح لها بالوصول إليها.
# استرداد سياسة
Source: https://altostrat.io/docs/api/ar/policies/استرداد-سياسة
api/ar/control-plane.yaml get /policies/{policyId}
استرداد تفاصيل سياسة معينة، بما في ذلك قواعدها وقائمة المواقع التي تطبق عليها.
# تحديث سياسة
Source: https://altostrat.io/docs/api/ar/policies/تحديث-سياسة
api/ar/control-plane.yaml put /policies/{policyId}
تحديث السياسة المحددة عن طريق تعيين قيم المعلمات المُمررة. أي معلمات لم يتم توفيرها ستبقى دون تغيير.
# تطبيق السياسة على المواقع
Source: https://altostrat.io/docs/api/ar/policies/تطبيق-السياسة-على-المواقع
api/ar/control-plane.yaml post /policies/{policyId}/sites
تعيين أو إعادة تعيين قائمة من المواقع إلى هذه السياسة. هذه هي الطريقة الأساسية لتطبيق مجموعة جديدة من قواعد جدار الحماية على جهاز واحد أو أكثر.
# حذف سياسة
Source: https://altostrat.io/docs/api/ar/policies/حذف-سياسة
api/ar/control-plane.yaml delete /policies/{policyId}
حذف سياسة. لا يمكنك حذف السياسة الافتراضية. سيتم إعادة تعيين أي مواقع تستخدم السياسة المحذوفة إلى السياسة الافتراضية.
# عرض جميع السياسات
Source: https://altostrat.io/docs/api/ar/policies/عرض-جميع-السياسات
api/ar/control-plane.yaml get /policies
استرداد قائمة بجميع سياسات الأمان التابعة لمساحة عملك. تحدد السياسات قواعد جدار الحماية وتكوينات الوصول إلى الخدمات المطبقة على مواقعك.
# إنشاء قائمة بادئات
Source: https://altostrat.io/docs/api/ar/prefix-lists/إنشاء-قائمة-بادئات
api/ar/security-groups.yaml post /prefix-lists
ينشئ قائمة بادئات جديدة مع مجموعة محددة من كتل CIDR وارتباطات المواقع الأولية. يتم التعامل مع ارتباطات المواقع ونشر قوائم العناوين بشكل غير متزامن.
# استرداد قائمة بادئات
Source: https://altostrat.io/docs/api/ar/prefix-lists/استرداد-قائمة-بادئات
api/ar/security-groups.yaml get /prefix-lists/{prefixListId}
يسترجع التفاصيل الكاملة لقائمة بادئات معينة، بما في ذلك اسمها ووصفها وحالتها والمواقع المرتبطة بها وقائمة كاملة بالبادئات الخاصة بها.
# تحديث قائمة بادئات
Source: https://altostrat.io/docs/api/ar/prefix-lists/تحديث-قائمة-بادئات
api/ar/security-groups.yaml put /prefix-lists/{prefixListId}
يحدّث قائمة بادئات موجودة عن طريق استبدال سماتها بالكامل، بما في ذلك اسمها ووصفها والبادئات وارتباطات المواقع. هذه عملية استبدال كاملة (PUT)؛ أي حقول محذوفة ستؤدي إلى إزالة تلك العناصر.
# حذف قائمة بادئات
Source: https://altostrat.io/docs/api/ar/prefix-lists/حذف-قائمة-بادئات
api/ar/security-groups.yaml delete /prefix-lists/{prefixListId}
يحذف قائمة بادئات بشكل دائم. سيفشل هذا الإجراء إذا كانت قائمة البادئات مستخدمة حاليًا في أي قاعدة من قواعد مجموعات الأمان. ستقوم عملية غير متزامنة بإزالة قائمة العناوين المقابلة من جميع المواقع المرتبطة.
# عرض قائمة بقوائم البادئات
Source: https://altostrat.io/docs/api/ar/prefix-lists/عرض-قائمة-بقوائم-البادئات
api/ar/security-groups.yaml get /prefix-lists
يسترجع قائمة بجميع قوائم البادئات داخل مؤسستك. توفر نقطة النهاية هذه عرضًا موجزًا ولا تتضمن القائمة المفصلة للبادئات أو المواقع لأسباب تتعلق بالأداء. للحصول على التفاصيل الكاملة، استرجع قائمة بادئات معينة من خلال معرفها (ID).
# استرداد منتج
Source: https://altostrat.io/docs/api/ar/products/استرداد-منتج
api/ar/mikrotik-oem-data.yaml get /oem/product/{slug}
استرداد التفاصيل الكاملة لمنتج MikroTik واحد، يتم تحديده بواسطة المعرّف الفريد (slug). توفر نقطة النهاية هذه مجموعة شاملة من المواصفات، بما في ذلك تفاصيل الأجهزة الأساسية، ونتائج اختبارات الأداء، والملحقات المضمنة، والأصول القابلة للتنزيل.
# قائمة المنتجات
Source: https://altostrat.io/docs/api/ar/products/قائمة-المنتجات
api/ar/mikrotik-oem-data.yaml get /oem/products
إرجاع قائمة مجزأة الصفحات لمنتجات MikroTik. يمكن تصفية القائمة حسب اسم المنتج أو رقم الطراز، مما يسمح بإمكانيات بحث وفهرسة قوية.
# الحصول على معلومات العلامة التجارية العامة
Source: https://altostrat.io/docs/api/ar/public/الحصول-على-معلومات-العلامة-التجارية-العامة
api/ar/workspaces.yaml get /organizations/{id}/branding
تسترد معلومات العلامة التجارية العامة لمنظمة، مثل اسم العرض، والشعار، وألوان السمة. يمكنك استخدام إما المعرّف الأساسي للمنظمة (`org_...`) أو معرّف UUID الخارجي الخاص بها كمعرّف. هذه نقطة نهاية عامة وغير مصادق عليها.
# حل تلميح تسجيل الدخول
Source: https://altostrat.io/docs/api/ar/public/حل-تلميح-تسجيل-الدخول
api/ar/workspaces.yaml get /organizations/resolve/{login_hint}
بالنظر إلى تلميح تسجيل دخول فريد (على سبيل المثال، اسم شركة قصير مثل 'acme')، تُرجع نقطة النهاية هذه معرّف المنظمة المقابل. هذا مفيد لملء تفاصيل المنظمة مسبقًا في تدفق تسجيل الدخول. هذه نقطة نهاية عامة وغير مصادق عليها.
# عرض قائمة بالبروتوكولات المدعومة
Source: https://altostrat.io/docs/api/ar/reference-data/عرض-قائمة-بالبروتوكولات-المدعومة
api/ar/security-groups.yaml get /reference/protocols
يسترجع قائمة بجميع بروتوكولات الشبكة المدعومة وقيمها العددية الصحيحة المقابلة، والتي تكون مطلوبة عند إنشاء قواعد جدار الحماية.
# عرض قائمة بالخدمات الشائعة
Source: https://altostrat.io/docs/api/ar/reference-data/عرض-قائمة-بالخدمات-الشائعة
api/ar/security-groups.yaml get /reference/services
يسترجع قائمة بخدمات الشبكة الشائعة وأرقام منافذها القياسية للمساعدة في إنشاء قواعد جدار الحماية.
# قائمة الموزعين
Source: https://altostrat.io/docs/api/ar/resellers/قائمة-الموزعين
api/ar/mikrotik-oem-data.yaml get /oem/mikrotik-resellers
إرجاع قائمة مجزأة الصفحات لموزعي MikroTik الرسميين. يتيح لك هذا العثور على الموزعين بناءً على موقعهم الجغرافي أو اسمهم، مما يوفر معلومات قيمة لأغراض الشراء والشراكة.
# استرداد دليل إجرائي
Source: https://altostrat.io/docs/api/ar/runbooks/استرداد-دليل-إجرائي
api/ar/mikrotik-api.yaml get /runbooks/{runbookId}
يسترد تفاصيل دليل إجرائي محدد، بما في ذلك اسمه وأمر الإعداد الأولي المستخدم لإعداد الأجهزة الجديدة بهذا التكوين.
# إيقاف فحص
Source: https://altostrat.io/docs/api/ar/scan-execution/إيقاف-فحص
api/ar/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}/invoke
يوقف بالقوة فحصًا قيد التنفيذ حاليًا لجدول معين.
# بدء فحص
Source: https://altostrat.io/docs/api/ar/scan-execution/بدء-فحص
api/ar/cve-scans.yaml post /scans/cve/scheduled/{scanScheduleId}/invoke
يشغّل فحصًا يدويًا لجدول معين، متجاوزًا جدوله الزمني العادي. سيتم وضع الفحص في قائمة الانتظار للتنفيذ فورًا.
# بدء فحص فوري لعناوين IP متعددة
Source: https://altostrat.io/docs/api/ar/scan-execution/بدء-فحص-فوري-لعناوين-ip-متعددة
api/ar/cve-scans.yaml post /scans/cve/scan/multiple-ips
يبدأ فحصًا فوريًا عند الطلب لقائمة محددة من عناوين IP. يستخدم هذا تهيئة جدول فحص موجود ولكنه يستهدف فقط عناوين IP المحددة داخل موقع معين.
# بدء فحص فوري لعنوان IP واحد
Source: https://altostrat.io/docs/api/ar/scan-execution/بدء-فحص-فوري-لعنوان-ip-واحد
api/ar/cve-scans.yaml post /scans/cve/scheduled/single-ip
يبدأ فحصًا فوريًا عند الطلب لعنوان IP واحد. يستخدم هذا تهيئة جدول فحص موجود ولكنه يستهدف فقط عنوان IP المحدد داخل موقع معين.
# استرداد تقرير فحص
Source: https://altostrat.io/docs/api/ar/scan-results/استرداد-تقرير-فحص
api/ar/cve-scans.yaml get /scans/cve/{scan_id}
يجلب التقرير المفصل لتشغيل فحص مكتمل معين. يتضمن التقرير بيانات وصفية للفحص وروابط لتنزيل التقرير الكامل بصيغة JSON أو PDF.
# الحصول على أحدث حالة فحص
Source: https://altostrat.io/docs/api/ar/scan-results/الحصول-على-أحدث-حالة-فحص
api/ar/cve-scans.yaml get /scans/cve/{scanScheduleId}/status
يسترد حالة أحدث فحص مرتبط بجدول معين، سواء كان قيد التشغيل أو مكتملًا أو فاشلاً.
# عرض تقارير الفحص
Source: https://altostrat.io/docs/api/ar/scan-results/عرض-تقارير-الفحص
api/ar/cve-scans.yaml get /scans/cve
يسترد قائمة بتقارير الفحص المكتملة لحسابك، مرتبة حسب الأحدث أولاً. كل عنصر في القائمة هو ملخص لتشغيل فحص.
# إنشاء جدول فحص
Source: https://altostrat.io/docs/api/ar/scan-schedules/إنشاء-جدول-فحص
api/ar/cve-scans.yaml post /scans/cve/scheduled
ينشئ جدول فحص ثغرات (CVE) متكرر جديد. يجب عليك تحديد التوقيت، والتكرار، والمواقع والشبكات الفرعية المستهدفة، وإعدادات الإشعارات. عند الإنشاء الناجح، يتم إرجاع كائن الجدول الكامل.
# استرداد جدول فحص
Source: https://altostrat.io/docs/api/ar/scan-schedules/استرداد-جدول-فحص
api/ar/cve-scans.yaml get /scans/cve/scheduled/{scanScheduleId}
يجلب تفاصيل جدول فحص معين باستخدام معرفه الفريد.
# تحديث جدول فحص
Source: https://altostrat.io/docs/api/ar/scan-schedules/تحديث-جدول-فحص
api/ar/cve-scans.yaml put /scans/cve/scheduled/{scanScheduleId}
يحدّث تهيئة جدول فحص موجود. يتم استبدال جميع الحقول بالقيم الجديدة المقدمة في نص الطلب.
# حذف جدول فحص
Source: https://altostrat.io/docs/api/ar/scan-schedules/حذف-جدول-فحص
api/ar/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}
يحذف جدول فحص بشكل دائم. لا يمكن التراجع عن هذا الإجراء وسيوقف أي عمليات فحص مستقبلية لهذا الجدول.
# عرض جداول الفحص
Source: https://altostrat.io/docs/api/ar/scan-schedules/عرض-جداول-الفحص
api/ar/cve-scans.yaml get /scans/cve/scheduled
يسترد قائمة بجميع جداول فحص الثغرات (CVE) المهيأة لحسابك. هذا مفيد لعرض جميع عمليات الفحص المهيأة في لوحة معلومات أو للإدارة البرمجية.
# إلغاء أو حذف اسكربت مجدول
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/إلغاء-أو-حذف-اسكربت-مجدول
api/ar/scripts.yaml delete /scheduled/{scheduledScriptId}
هذه النقطة النهائية لها وظيفة مزدوجة. إذا كان الاسكربت "غير مصرح به" ولم يتم إطلاقه، فسيتم حذفه نهائيًا. إذا كان الاسكربت "مجدولًا" أو "تم إطلاقه"، فسيتم تمييزه على أنه "ملغى" لمنع المزيد من التنفيذ، ولكن سيتم الاحتفاظ بالسجل.
# استرداد اسكربت مجدول
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/استرداد-اسكربت-مجدول
api/ar/scripts.yaml get /scheduled/{scheduledScriptId}
جلب المعلومات التفصيلية لاسكربت مجدول واحد، بما في ذلك حالته الحالية وتقدمه وتكوينه.
# الحصول على تقدم التنفيذ
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/الحصول-على-تقدم-التنفيذ
api/ar/scripts.yaml get /scheduled/{scheduledScriptId}/progress
استرداد تقدم التنفيذ في الوقت الفعلي لاسكربت تم إطلاقه. يوفر قوائم بالمواقع التي اكتمل فيها الاسكربت أو فشل أو لا يزال معلقًا.
# تحديث اسكربت مجدول
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/تحديث-اسكربت-مجدول
api/ar/scripts.yaml put /scheduled/{scheduledScriptId}
تعديل اسكربت مجدول موجود. هذا ممكن فقط إذا لم يتم إطلاق الاسكربت بعد. سيؤدي تحديث الاسكربت إلى إعادة تعيين حالة التفويض الخاصة به إلى "غير مصرح به"، مما يتطلب إعادة الموافقة قبل أن يمكن تنفيذه.
# تشغيل اسكربت مجدول فورًا
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/تشغيل-اسكربت-مجدول-فورًا
api/ar/scripts.yaml put /scheduled/{scheduledScriptId}/run
بدء تنفيذ فوري لاسكربت مصرح به بالفعل، متجاوزًا وقته المجدول في "launch_at". هذا مفيد لعمليات النشر العاجلة. يجب أن يكون الاسكربت في حالة "مصرح به" ليتم تشغيله فورًا.
# تشغيل تنفيذ اختباري
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/تشغيل-تنفيذ-اختباري
api/ar/scripts.yaml put /scheduled/{scheduledScriptId}/run-test
إرسال الاسكربت فورًا للتنفيذ على "test_site_id" المحدد. يسمح هذا بالتحقق من منطق الاسكربت وتأثيره في بيئة خاضعة للرقابة قبل الإطلاق على نطاق واسع. لا يحتاج الاسكربت إلى تفويض لتشغيل اختبار.
# جدولة اسكربت جديد
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/جدولة-اسكربت-جديد
api/ar/scripts.yaml post /scheduled
إنشاء إدخال جديد لاسكربت مجدول. يتضمن ذلك تحديد محتوى الاسكربت، واختيار الأجهزة المستهدفة (المواقع)، وتحديد وقت الإطلاق، وتكوين مستلمي الإشعارات. سيكون الاسكربت في حالة "غير مصرح به" حتى يتم إكمال تدفق عمل التفويض.
# طلب تفويض الاسكربت
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/طلب-تفويض-الاسكربت
api/ar/scripts.yaml get /scheduled/{scheduledScriptId}/authorize
بدء تدفق عمل التفويض لاسكربت "غير مصرح به". يرسل هذا الإجراء إشعارات (مثل WhatsApp، البريد الإلكتروني) إلى المستلمين المكونين، تحتوي على رابط فريد للموافقة على تنفيذ الاسكربت.
# عرض قائمة الاسكربتات المجدولة
Source: https://altostrat.io/docs/api/ar/scheduled-scripts/عرض-قائمة-الاسكربتات-المجدولة
api/ar/scripts.yaml get /scheduled
استرداد قائمة بجميع الاسكربتات المجدولة للتنفيذ والتي يمكن للمستخدم المصادق عليه الوصول إليها. يوفر هذا نظرة عامة على مهام الأتمتة المعلقة وقيد التنفيذ والمكتملة.
# إنشاء جدول زمني جديد
Source: https://altostrat.io/docs/api/ar/schedules/إنشاء-جدول-زمني-جديد
api/ar/schedules.yaml post /chrono/schedules
إنشاء جدول زمني جديد مع مجموعة محددة من الفترات الزمنية المتكررة. عند الإنشاء، يتم حساب حالة `active` (نشط) للجدول الزمني تلقائيًا بناءً على الوقت الحالي والفترات الزمنية المقدمة.
# استرداد جدول زمني
Source: https://altostrat.io/docs/api/ar/schedules/استرداد-جدول-زمني
api/ar/schedules.yaml get /chrono/schedules/{scheduleId}
استرداد تفاصيل جدول زمني موجود عن طريق معرّفه الفريد.
# تحديث جدول زمني
Source: https://altostrat.io/docs/api/ar/schedules/تحديث-جدول-زمني
api/ar/schedules.yaml put /chrono/schedules/{scheduleId}
تحديث الجدول الزمني المحدد عن طريق تعيين خصائص نص الطلب. أي خصائص لم يتم توفيرها ستبقى دون تغيير. عند تحديث `hours`، يتم استبدال المصفوفة بأكملها. عند تحديث `metadata`، سيؤدي توفير مفتاح بقيمة `null` إلى حذف هذا الإدخال من البيانات الوصفية.
# حذف جدول زمني
Source: https://altostrat.io/docs/api/ar/schedules/حذف-جدول-زمني
api/ar/schedules.yaml delete /chrono/schedules/{scheduleId}
حذف جدول زمني بشكل دائم، بما في ذلك جميع الفترات الزمنية والبيانات الوصفية المرتبطة به. لا يمكن التراجع عن هذا الإجراء.
# عرض كل الجداول الزمنية
Source: https://altostrat.io/docs/api/ar/schedules/عرض-كل-الجداول-الزمنية
api/ar/schedules.yaml get /chrono/schedules
استرداد قائمة بجميع كائنات الجداول الزمنية التابعة لمساحة عملك. يتم إرجاع الجداول الزمنية مرتبة حسب تاريخ الإنشاء، مع ظهور الجداول التي تم إنشاؤها مؤخرًا أولاً.
# إنشاء قالب اسكربت
Source: https://altostrat.io/docs/api/ar/script-templates/إنشاء-قالب-اسكربت
api/ar/scripts.yaml post /templates
إنشاء قالب اسكربت خاص جديد لمؤسسة المستخدم. يسمح هذا بتخزين وإعادة استخدام الاسكربتات الموحدة داخل الفريق.
# استرداد قالب اسكربت
Source: https://altostrat.io/docs/api/ar/script-templates/استرداد-قالب-اسكربت
api/ar/scripts.yaml get /templates/{templateId}
جلب تفاصيل قالب اسكربت معين، بما في ذلك محتواه.
# تحديث قالب اسكربت
Source: https://altostrat.io/docs/api/ar/script-templates/تحديث-قالب-اسكربت
api/ar/scripts.yaml put /templates/{templateId}
تعديل قالب اسكربت موجود. هذا الإجراء مسموح به فقط على القوالب الخاصة بمؤسسة المستخدم والتي أنشأها المستخدم. القوالب العالمية للقراءة فقط.
# حذف قالب اسكربت
Source: https://altostrat.io/docs/api/ar/script-templates/حذف-قالب-اسكربت
api/ar/scripts.yaml delete /templates/{templateId}
إزالة قالب اسكربت خاص بشكل دائم. لا يمكن التراجع عن هذا الإجراء وهو مسموح به فقط على القوالب التي يحق للمستخدم تحريرها.
# عرض قائمة قوالب الاسكربتات
Source: https://altostrat.io/docs/api/ar/script-templates/عرض-قائمة-قوالب-الاسكربتات
api/ar/scripts.yaml get /templates
استرداد مجموعة من قوالب الاسكربتات. يمكن تصفية القوالب لإظهار القوالب العامة (عالمية)، أو الخاصة (خاصة بالمؤسسة)، أو جميع القوالب التي يمكن الوصول إليها. يمكن أيضًا البحث عنها بالاسم أو الوصف.
# البحث في موارد المستأجر
Source: https://altostrat.io/docs/api/ar/search/البحث-في-موارد-المستأجر
api/ar/search.yaml get /search
ينفذ بحثًا في النص الكامل عبر جميع الموارد المفهرسة ضمن نطاق إيجار المستخدم المصادق عليه.
يتم تحديد نطاق النتائج تلقائيًا لمنظمة المستخدم. يمكنك تحسين البحث بشكل أكبر عن طريق توفير `workspace_id` معين أو التصفية حسب أنواع الموارد (`types`). يدعم الاستعلام المطابقة التقريبية والتسامح مع الأخطاء الإملائية لتحسين تجربة المستخدم.
# إنشاء مجموعة أمان
Source: https://altostrat.io/docs/api/ar/security-groups/إنشاء-مجموعة-أمان
api/ar/security-groups.yaml post /security-groups
ينشئ مجموعة أمان جديدة مع مجموعة محددة من قواعد جدار الحماية وارتباطات المواقع الأولية. يتم إنشاء المجموعة بشكل ذري. يتم التعامل مع ارتباطات المواقع ونشر القواعد بشكل غير متزامن. ستشير الاستجابة إلى حالة `syncing` إذا كانت هناك مواقع لتحديثها.
# استرداد مجموعة أمان
Source: https://altostrat.io/docs/api/ar/security-groups/استرداد-مجموعة-أمان
api/ar/security-groups.yaml get /security-groups/{securityGroupId}
يسترجع التفاصيل الكاملة لمجموعة أمان معينة، بما في ذلك اسمها ووصفها وحالتها والمواقع المرتبطة بها وقائمة كاملة بقواعد جدار الحماية الخاصة بها.
# تحديث مجموعة أمان
Source: https://altostrat.io/docs/api/ar/security-groups/تحديث-مجموعة-أمان
api/ar/security-groups.yaml put /security-groups/{securityGroupId}
يحدّث مجموعة أمان موجودة عن طريق استبدال سماتها بالكامل، بما في ذلك اسمها ووصفها وقواعدها وارتباطات مواقعها. هذه عملية استبدال كاملة (PUT)؛ أي حقول محذوفة في مصفوفات `rules` أو `sites` ستؤدي إلى إزالة تلك العناصر.
# حذف مجموعة أمان
Source: https://altostrat.io/docs/api/ar/security-groups/حذف-مجموعة-أمان
api/ar/security-groups.yaml delete /security-groups/{securityGroupId}
يحذف مجموعة أمان بشكل دائم. لا يمكن التراجع عن هذا الإجراء. ستقوم عملية غير متزامنة بإزالة قواعد جدار الحماية المقابلة من جميع المواقع المرتبطة.
# عرض قائمة بمجموعات الأمان
Source: https://altostrat.io/docs/api/ar/security-groups/عرض-قائمة-بمجموعات-الأمان
api/ar/security-groups.yaml get /security-groups
يسترجع قائمة بجميع مجموعات الأمان داخل مؤسستك. توفر نقطة النهاية هذه عرضًا موجزًا لكل مجموعة ولا تتضمن القائمة المفصلة للقواعد أو المواقع المرتبطة لأسباب تتعلق بالأداء. للحصول على التفاصيل الكاملة، استرجع مجموعة أمان معينة من خلال معرفها (ID).
# إنشاء ملاحظة موقع
Source: https://altostrat.io/docs/api/ar/site-files/إنشاء-ملاحظة-موقع
api/ar/metadata.yaml post /sites/{siteId}/notes
ينشئ ملاحظة ماركداون جديدة ويربطها بالموقع المحدد.
# الحصول على رابط تحميل المستندات
Source: https://altostrat.io/docs/api/ar/site-files/الحصول-على-رابط-تحميل-المستندات
api/ar/metadata.yaml post /sites/{siteId}/documents
يطلب رابطًا موقعًا مسبقًا يمكن استخدامه لرفع ملف مستند (مثل PDF أو DOCX) مباشرة إلى التخزين الآمن. يجب عليك إجراء طلب PUT إلى `signed_url` المعاد مع محتوى الملف كهيكل للطلب.
# الحصول على رابط تحميل الوسائط
Source: https://altostrat.io/docs/api/ar/site-files/الحصول-على-رابط-تحميل-الوسائط
api/ar/metadata.yaml post /sites/{siteId}/media
يطلب رابطًا موقعًا مسبقًا يمكن استخدامه لرفع ملف وسائط (مثل صورة أو فيديو) مباشرة إلى التخزين الآمن. يجب عليك إجراء طلب PUT إلى `signed_url` المعاد مع محتوى الملف كهيكل للطلب.
# الحصول على محتوى ملاحظة الموقع
Source: https://altostrat.io/docs/api/ar/site-files/الحصول-على-محتوى-ملاحظة-الموقع
api/ar/metadata.yaml get /sites/{siteId}/notes/{noteId}
يقوم بتنزيل محتوى الماركداون الخام لملاحظة موقع محددة.
# تنزيل ملف مستند
Source: https://altostrat.io/docs/api/ar/site-files/تنزيل-ملف-مستند
api/ar/metadata.yaml get /sites/{siteId}/documents/{documentId}
يقوم بتنزيل ملف مستند معين مرتبط بموقع.
# تنزيل ملف وسائط
Source: https://altostrat.io/docs/api/ar/site-files/تنزيل-ملف-وسائط
api/ar/metadata.yaml get /sites/{siteId}/media/{mediaId}
يقوم بتنزيل ملف وسائط معين مرتبط بموقع.
# حذف ملاحظة موقع
Source: https://altostrat.io/docs/api/ar/site-files/حذف-ملاحظة-موقع
api/ar/metadata.yaml delete /sites/{siteId}/notes/{noteId}
يحذف بشكل دائم ملاحظة من موقع.
# حذف ملف مستند
Source: https://altostrat.io/docs/api/ar/site-files/حذف-ملف-مستند
api/ar/metadata.yaml delete /sites/{siteId}/documents/{documentId}
يحذف بشكل دائم ملف مستند من موقع.
# حذف ملف وسائط
Source: https://altostrat.io/docs/api/ar/site-files/حذف-ملف-وسائط
api/ar/metadata.yaml delete /sites/{siteId}/media/{mediaId}
يحذف بشكل دائم ملف وسائط من موقع.
# عرض ملاحظات الموقع
Source: https://altostrat.io/docs/api/ar/site-files/عرض-ملاحظات-الموقع
api/ar/metadata.yaml get /sites/{siteId}/notes
يسترجع قائمة بجميع ملاحظات الماركداون المرتبطة بموقع معين.
# الحصول على مقاييس الواجهة
Source: https://altostrat.io/docs/api/ar/site-interfaces-&-metrics/الحصول-على-مقاييس-الواجهة
api/ar/monitoring-metrics.yaml post /v1/monitoring/interfaces/{interfaceId}/metrics
يجلب مقاييس حركة المرور كسلاسل زمنية (ifInOctets للوارد، ifOutOctets للصادر) لواجهة شبكة معينة خلال فترة زمنية محددة. يتم إرجاع القيم بالبت في الثانية.
# سرد واجهات الموقع
Source: https://altostrat.io/docs/api/ar/site-interfaces-&-metrics/سرد-واجهات-الموقع
api/ar/monitoring-metrics.yaml get /v1/monitoring/interfaces/{siteId}
يسترجع قائمة بجميع واجهات الشبكة المراقبة عبر SNMP لموقع معين.
# الحصول على بيانات اعتماد API لموقع
Source: https://altostrat.io/docs/api/ar/site-operations/الحصول-على-بيانات-اعتماد-api-لموقع
api/ar/control-plane.yaml get /sites/{siteId}/credentials
استرداد بيانات اعتماد API الحالية لموقع. تُستخدم بيانات الاعتماد هذه بواسطة منصة Altostrat لإدارة الجهاز.
# الحصول على خادم الإدارة لموقع
Source: https://altostrat.io/docs/api/ar/site-operations/الحصول-على-خادم-الإدارة-لموقع
api/ar/control-plane.yaml get /sites/{siteId}/management-server
استرداد اسم المضيف لخادم إدارة Altostrat المسؤول حاليًا عن النفق الآمن للموقع. هذا مفيد للتشخيص.
# تدوير بيانات اعتماد API لموقع
Source: https://altostrat.io/docs/api/ar/site-operations/تدوير-بيانات-اعتماد-api-لموقع
api/ar/control-plane.yaml post /sites/{siteId}/credentials
إنشاء بيانات اعتماد API جديدة للموقع المحدد. سيتم إبطال بيانات الاعتماد القديمة واستبدالها على الجهاز.
# تنفيذ إجراء على موقع
Source: https://altostrat.io/docs/api/ar/site-operations/تنفيذ-إجراء-على-موقع
api/ar/control-plane.yaml post /sites/{siteId}/action
إرسال أمر إلى موقع لتنفيذ إجراء محدد ومُعرف مسبقًا. يُستخدم هذا للعمليات عن بُعد مثل إعادة التشغيل أو مسح قواعد جدار الحماية.
الإجراءات المتاحة: - `site.upgrade`: بدء ترقية البرنامج على الجهاز. - `site.clear_firewall`: مسح قواعد جدار الحماية للجهاز. - `site.reboot`: إعادة تشغيل الجهاز. - `site.recreate_management_filter`: إعادة تطبيق قواعد جدار الحماية الخاصة بإدارة Altostrat. - `site.recreate_tunnel`: هدم وإعادة بناء النفق الآمن إلى المنصة. - `site.resend_api_user`: دفع بيانات اعتماد مستخدم API الحالية إلى الجهاز مرة أخرى.
# استرداد إعدادات أمان موقع ما
Source: https://altostrat.io/docs/api/ar/site-security-configuration/استرداد-إعدادات-أمان-موقع-ما
api/ar/utm-ips.yaml get /tunnel/{siteId}
استرداد ارتباطات سياسات DNS و BGP الحالية لموقع محدد.
# ربط سياسة BGP بموقع
Source: https://altostrat.io/docs/api/ar/site-security-configuration/ربط-سياسة-bgp-بموقع
api/ar/utm-ips.yaml post /sites/{siteId}/bgp
ربط سياسة معلومات التهديدات عبر BGP بموقع محدد، مما يؤدي إلى تفعيل حظر سمعة IP لذلك الموقع.
# ربط سياسة DNS بموقع
Source: https://altostrat.io/docs/api/ar/site-security-configuration/ربط-سياسة-dns-بموقع
api/ar/utm-ips.yaml post /sites/{siteId}/dns
ربط سياسة تصفية محتوى عبر DNS بموقع محدد، مما يؤدي إلى تفعيل قواعدها لجميع حركة المرور من ذلك الموقع.
# عرض قائمة بجميع إعدادات أمان المواقع
Source: https://altostrat.io/docs/api/ar/site-security-configuration/عرض-قائمة-بجميع-إعدادات-أمان-المواقع
api/ar/utm-ips.yaml get /tunnel
استرداد قائمة بجميع المواقع (الأنفاق) المرتبطة بحسابك وارتباطات سياسات الأمان الحالية الخاصة بها.
# فصل سياسة BGP عن موقع
Source: https://altostrat.io/docs/api/ar/site-security-configuration/فصل-سياسة-bgp-عن-موقع
api/ar/utm-ips.yaml delete /sites/{siteId}/bgp
فصل سياسة معلومات التهديدات عبر BGP النشطة حاليًا عن موقع محدد، مما يؤدي إلى إلغاء تفعيل حظر سمعة IP.
# فصل سياسة DNS عن موقع
Source: https://altostrat.io/docs/api/ar/site-security-configuration/فصل-سياسة-dns-عن-موقع
api/ar/utm-ips.yaml delete /sites/{siteId}/dns
فصل سياسة تصفية المحتوى عبر DNS النشطة حاليًا عن موقع محدد، مما يؤدي إلى إلغاء تفعيل قواعدها.
# عرض المستخدمين لموقع معين
Source: https://altostrat.io/docs/api/ar/site-users/عرض-المستخدمين-لموقع-معين
api/ar/captive-portal.yaml get /sites/{siteId}/users
استرداد قائمة مقسمة إلى صفحات للمستخدمين الذين اتصلوا من خلال البوابة المقيدة في موقع معين.
# استرداد موقع
Source: https://altostrat.io/docs/api/ar/sites/استرداد-موقع
api/ar/mikrotik-api.yaml get /sites/{siteId}
يسترد التفاصيل الكاملة لموقع MikroTik محدد عن طريق معرفه الفريد (UUID).
# الحصول على البيانات الوصفية للموقع
Source: https://altostrat.io/docs/api/ar/sites/الحصول-على-البيانات-الوصفية-للموقع
api/ar/generative-ai.yaml get /sites/{siteId}/metadata
يسترجع بيانات وصفية حرة مرتبطة بموقع معين. يمكن أن تشمل الاسم المخصص لجهاز التوجيه، والمنطقة الزمنية المكونة، ورسائل البانر المخصصة، والملاحظات، أو علامات أخرى يحددها المستخدم.
# الحصول على معلومات OEM للموقع
Source: https://altostrat.io/docs/api/ar/sites/الحصول-على-معلومات-oem-للموقع
api/ar/generative-ai.yaml get /sites/{siteId}/oem
يسترجع معلومات مفصلة من الشركة المصنعة للمعدات الأصلية (OEM) لجهاز توجيه MikroTik معين تم نشره. يتضمن ذلك مواصفات الأجهزة والأرقام التسلسلية ووحدة المعالجة المركزية وذاكرة الوصول العشوائي ومستوى ترخيص RouterOS.
# الحصول على مقاييس الموقع
Source: https://altostrat.io/docs/api/ar/sites/الحصول-على-مقاييس-الموقع
api/ar/generative-ai.yaml get /sites/{siteId}/metrics
يسترجع مقاييس وقت التشغيل والتوقف لموقع معين خلال الـ 24 ساعة الماضية، بناءً على إشارات النبض (heartbeat) التي تستقبلها منصة Altostrat.
# تحديث موقع
Source: https://altostrat.io/docs/api/ar/sites/تحديث-موقع
api/ar/mikrotik-api.yaml patch /sites/{siteId}
يحدّث الخصائص القابلة للتغيير لموقع ما، مثل اسمه أو موقعه أو منطقته الزمنية. سيتم تحديث الحقول المقدمة في متن الطلب فقط.
# حذف موقع
Source: https://altostrat.io/docs/api/ar/sites/حذف-موقع
api/ar/mikrotik-api.yaml delete /sites/{siteId}
يجدول موقعًا للحذف. سيتم إرسال أمر إلى الجهاز لإزالة مجدول الإعداد الأولي الخاص به، وبعد فترة سماح، ستتم إزالة سجل الموقع وجميع البيانات المرتبطة به بشكل دائم.
# عرض قائمة المواقع
Source: https://altostrat.io/docs/api/ar/sites/عرض-قائمة-المواقع
api/ar/mikrotik-api.yaml get /sites
يسترد قائمة مقسمة إلى صفحات لجميع مواقع MikroTik المرتبطة بمساحة عمل المستخدم الموثق.
# عرض قائمة المواقع الأخيرة
Source: https://altostrat.io/docs/api/ar/sites/عرض-قائمة-المواقع-الأخيرة
api/ar/mikrotik-api.yaml get /sites/recent
يعيد قائمة بآخر 5 مواقع تم الوصول إليها من قبل المستخدم الموثق، مرتبة حسب الوصول الأحدث.
# عرض قائمة المواقع (مصغرة)
Source: https://altostrat.io/docs/api/ar/sites/عرض-قائمة-المواقع-مصغرة
api/ar/mikrotik-api.yaml get /site-minimal
يسترد قائمة موجزة بمواقع MikroTik، مناسبة لعناصر واجهة المستخدم مثل قوائم التنقل حيث تكون المعلومات الأساسية فقط مطلوبة.
# عرض قائمة بكل المواقع
Source: https://altostrat.io/docs/api/ar/sites/عرض-قائمة-بكل-المواقع
api/ar/generative-ai.yaml get /sites
يسترجع قائمة مبسطة بجميع المواقع (أجهزة توجيه MikroTik) المدارة داخل المنظمة. تم تحسين نقطة النهاية هذه للأداء وهي مثالية لملء واجهات المستخدم أو الحصول على معرفات المواقع لاستخدامها في استدعاءات واجهة برمجة التطبيقات الأخرى.
# إنشاء جدول تقرير SLA
Source: https://altostrat.io/docs/api/ar/sla-report-schedules/إنشاء-جدول-تقرير-sla
api/ar/reports.yaml post /sla/schedules
إنشاء جدول جديد لتقرير SLA. يحدد هذا الجدول تقريرًا متكررًا، بما في ذلك تكراره ومعايير اختيار الموقع وأهداف SLA. سيتم إنشاء `id` للجدول بواسطة الخادم.
# استرداد جدول تقرير
Source: https://altostrat.io/docs/api/ar/sla-report-schedules/استرداد-جدول-تقرير
api/ar/reports.yaml get /sla/schedules/{scheduleId}
استرداد تفاصيل جدول تقرير SLA واحد من خلال معرفه الفريد.
# تحديث جدول تقرير
Source: https://altostrat.io/docs/api/ar/sla-report-schedules/تحديث-جدول-تقرير
api/ar/reports.yaml put /sla/schedules/{scheduleId}
تحديث تكوين جدول تقرير SLA موجود.
# تشغيل تقرير عند الطلب
Source: https://altostrat.io/docs/api/ar/sla-report-schedules/تشغيل-تقرير-عند-الطلب
api/ar/reports.yaml post /sla/schedules/{scheduleId}/run
تشغيل إنشاء فوري وعند الطلب لتقرير لنطاق زمني محدد. هذا لا يؤثر على الجدول الزمني العادي. إنشاء التقرير غير متزامن وستظهر النتيجة في قائمة التقارير المُنشأة عند اكتماله.
# حذف جدول تقرير
Source: https://altostrat.io/docs/api/ar/sla-report-schedules/حذف-جدول-تقرير
api/ar/reports.yaml delete /sla/schedules/{scheduleId}
حذف جدول تقرير SLA بشكل دائم. لا يمكن التراجع عن هذا الإجراء.
# عرض قائمة جداول تقارير SLA
Source: https://altostrat.io/docs/api/ar/sla-report-schedules/عرض-قائمة-جداول-تقارير-sla
api/ar/reports.yaml get /sla/schedules
استرداد قائمة بجميع جداول تقارير SLA المكونة لمساحة عمل العميل المصادق عليه.
# إلغاء اشتراك
Source: https://altostrat.io/docs/api/ar/subscriptions/إلغاء-اشتراك
api/ar/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
تلغي اشتراكًا في نهاية فترة الفوترة الحالية. لا يمكن تنفيذ هذه العملية إذا كانت ستترك مساحة العمل أو حساب الفوترة بسعة غير كافية لاستخدامه الحالي للموارد.
# إنشاء اشتراك
Source: https://altostrat.io/docs/api/ar/subscriptions/إنشاء-اشتراك
api/ar/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
تنشئ اشتراك Stripe جديدًا لحساب فوترة. إذا كانت مساحة العمل مؤهلة لفترة تجريبية، يتم إنشاء اشتراك تجريبي لمدة 14 يومًا دون الحاجة إلى طريقة دفع. وإلا، يجب أن تكون هناك طريقة دفع افتراضية في حساب الفوترة.
# استرداد اشتراك
Source: https://altostrat.io/docs/api/ar/subscriptions/استرداد-اشتراك
api/ar/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
تسترد تفاصيل اشتراك محدد.
# التحقق من أهلية الفترة التجريبية
Source: https://altostrat.io/docs/api/ar/subscriptions/التحقق-من-أهلية-الفترة-التجريبية
api/ar/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/trial-eligibility
تتحقق مما إذا كانت مساحة العمل مؤهلة لفترة تجريبية مجانية مدتها 14 يومًا. تكون مساحة العمل مؤهلة إذا كان لديها حساب فوترة واحد فقط ولا توجد اشتراكات حالية.
# تحديث اشتراك
Source: https://altostrat.io/docs/api/ar/subscriptions/تحديث-اشتراك
api/ar/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
تحدّث اشتراكًا. تدعم نقطة النهاية هذه عمليات متعددة ومميزة. يمكنك تغيير كميات المنتجات، أو إضافة أو إزالة المنتجات، أو تحديث البيانات الوصفية، أو تنفيذ إجراء مثل `pause`، `resume`، أو `sync`. يُسمح بنوع واحد فقط من العمليات (مثل `product_quantities`، `add_products`، `action`) لكل طلب.
# عرض قائمة الاشتراكات
Source: https://altostrat.io/docs/api/ar/subscriptions/عرض-قائمة-الاشتراكات
api/ar/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
تُرجع قائمة بالاشتراكات المرتبطة بحساب فوترة.
# إزالة علامة من مورد
Source: https://altostrat.io/docs/api/ar/tag-values/إزالة-علامة-من-مورد
api/ar/metadata.yaml delete /tags/{tagId}/values/{correlationId}
يزيل علامة محددة من مورد. هذا الإجراء لا يحذف تعريف العلامة نفسه.
# البحث عن الموارد حسب قيمة العلامة
Source: https://altostrat.io/docs/api/ar/tag-values/البحث-عن-الموارد-حسب-قيمة-العلامة
api/ar/metadata.yaml get /tags/{tagId}/resources
يسترجع قائمة بجميع الموارد التي تم تطبيق علامة محددة عليها بقيمة معينة. هذا استعلام قوي لتصفية الموارد بناءً على تصنيفاتها.
# تحديث علامة على مورد
Source: https://altostrat.io/docs/api/ar/tag-values/تحديث-علامة-على-مورد
api/ar/metadata.yaml put /tags/{tagId}/values/{correlationId}
يُحدّث قيمة علامة على مورد محدد. هذا يعادل فعليًا إنشاء قيمة علامة جديدة، حيث سيتم استبدال أي قيمة موجودة لتلك العلامة على المورد.
# تطبيق علامة على مورد
Source: https://altostrat.io/docs/api/ar/tag-values/تطبيق-علامة-على-مورد
api/ar/metadata.yaml post /tags/{tagId}/values
يطبق علامة بقيمة محددة على مورد، يتم تحديده بواسطة `correlation_id` و `correlation_type`. إذا كانت هناك علامة بنفس القيمة (غير حساسة لحالة الأحرف) موجودة بالفعل لتعريف هذه العلامة، فسيتم استخدام القيمة الأساسية الموجودة.
# عرض القيم الفريدة لعلامة
Source: https://altostrat.io/docs/api/ar/tag-values/عرض-القيم-الفريدة-لعلامة
api/ar/metadata.yaml get /tags/{tagId}/values
يسترجع قائمة بالقيم الفريدة التي تم تطبيقها على الموارد باستخدام تعريف علامة محدد. هذا مفيد لملء القوائم المنسدلة أو حقول الإكمال التلقائي في واجهة المستخدم.
# عرض علامات مورد
Source: https://altostrat.io/docs/api/ar/tag-values/عرض-علامات-مورد
api/ar/metadata.yaml get /resources/{correlationId}/tags
يسترجع جميع العلامات التي تم تطبيقها على مورد محدد.
# إنشاء تعريف علامة
Source: https://altostrat.io/docs/api/ar/tags/إنشاء-تعريف-علامة
api/ar/metadata.yaml post /tags
ينشئ تعريف علامة جديد. يعمل تعريف العلامة كقالب أو فئة (على سبيل المثال، "نوع الموقع"، "الأولوية") يمكن تطبيقها بعد ذلك على موارد مختلفة.
# استرداد تعريف علامة
Source: https://altostrat.io/docs/api/ar/tags/استرداد-تعريف-علامة
api/ar/metadata.yaml get /tags/{tagId}
يسترجع تفاصيل تعريف علامة محدد بواسطة معرفه الفريد. يتضمن ذلك جميع القيم التي تم تطبيقها على الموارد باستخدام هذه العلامة.
# تحديث تعريف علامة
Source: https://altostrat.io/docs/api/ar/tags/تحديث-تعريف-علامة
api/ar/metadata.yaml put /tags/{tagId}
يُحدّث خصائص تعريف علامة موجود، مثل مفتاحه أو لونه.
# حذف تعريف علامة
Source: https://altostrat.io/docs/api/ar/tags/حذف-تعريف-علامة
api/ar/metadata.yaml delete /tags/{tagId}
يحذف بشكل دائم تعريف علامة وجميع قيمه المرتبطة به من جميع الموارد. لا يمكن التراجع عن هذا الإجراء.
# عرض جميع تعريفات العلامات
Source: https://altostrat.io/docs/api/ar/tags/عرض-جميع-تعريفات-العلامات
api/ar/metadata.yaml get /tags
يسترجع قائمة بجميع تعريفات العلامات لمساحة عملك. يتضمن كل تعريف علامة مفتاحه ولونه وقائمة بجميع القيم المطبقة حاليًا على الموارد. هذا مفيد لفهم مخططات التصنيف المتاحة في بيئتك.
# إلغاء جلسة وصول مؤقت
Source: https://altostrat.io/docs/api/ar/transient-access/إلغاء-جلسة-وصول-مؤقت
api/ar/control-plane.yaml delete /sites/{siteId}/transient-accesses/{accessId}
إلغاء جلسة وصول مؤقت نشطة على الفور، مما ينهي الاتصال ويمنع المزيد من الوصول.
# إنشاء جلسة وصول مؤقت
Source: https://altostrat.io/docs/api/ar/transient-access/إنشاء-جلسة-وصول-مؤقت
api/ar/control-plane.yaml post /sites/{siteId}/transient-accesses
إنشاء جلسة مؤقتة وآمنة للوصول إلى موقع عبر Winbox أو SSH. يتم إلغاء الجلسة تلقائيًا بعد المدة المحددة.
# استرداد جلسة وصول مؤقت
Source: https://altostrat.io/docs/api/ar/transient-access/استرداد-جلسة-وصول-مؤقت
api/ar/control-plane.yaml get /sites/{siteId}/transient-accesses/{accessId}
استرداد تفاصيل جلسة وصول مؤقت واحدة.
# عرض الوصول المؤقت لموقع
Source: https://altostrat.io/docs/api/ar/transient-access/عرض-الوصول-المؤقت-لموقع
api/ar/control-plane.yaml get /sites/{siteId}/transient-accesses
استرداد قائمة بجميع جلسات الوصول المؤقت النشطة والمنتهية الصلاحية لموقع معين.
# إلغاء عملية إعادة توجيه منفذ مؤقتة
Source: https://altostrat.io/docs/api/ar/transient-port-forwarding/إلغاء-عملية-إعادة-توجيه-منفذ-مؤقتة
api/ar/control-plane.yaml delete /sites/{siteId}/transient-forward/{forwardId}
إلغاء قاعدة إعادة توجيه منفذ نشطة على الفور، مما يؤدي إلى إغلاق الاتصال.
# إنشاء عملية إعادة توجيه منفذ مؤقتة
Source: https://altostrat.io/docs/api/ar/transient-port-forwarding/إنشاء-عملية-إعادة-توجيه-منفذ-مؤقتة
api/ar/control-plane.yaml post /sites/{siteId}/transient-forward
إنشاء قاعدة إعادة توجيه منفذ مؤقتة وآمنة. يسمح لك هذا بالوصول إلى جهاز (على سبيل المثال، خادم أو كاميرا) على شبكة LAN خلف موقع MikroTik الخاص بك من عنوان IP عام محدد.
# استرداد عملية إعادة توجيه منفذ مؤقتة
Source: https://altostrat.io/docs/api/ar/transient-port-forwarding/استرداد-عملية-إعادة-توجيه-منفذ-مؤقتة
api/ar/control-plane.yaml get /sites/{siteId}/transient-forward/{forwardId}
استرداد تفاصيل قاعدة إعادة توجيه منفذ مؤقتة واحدة.
# عرض عمليات إعادة توجيه المنافذ المؤقتة لموقع
Source: https://altostrat.io/docs/api/ar/transient-port-forwarding/عرض-عمليات-إعادة-توجيه-المنافذ-المؤقتة-لموقع
api/ar/control-plane.yaml get /sites/{siteId}/transient-forward
استرداد قائمة بجميع قواعد إعادة توجيه المنافذ المؤقتة النشطة والمنتهية الصلاحية لموقع معين.
# اختبار عقدة واحدة
Source: https://altostrat.io/docs/api/ar/utilities/اختبار-عقدة-واحدة
api/ar/workflows.yaml post /workflows/test-node
تنفيذ عقدة مسار عمل واحدة بمعزل مع سياق مقدم. هذه أداة تصحيح أخطاء قوية لاختبار منطق العقدة دون تشغيل مسار عمل كامل.
# سرد أنواع العقد المتاحة
Source: https://altostrat.io/docs/api/ar/utilities/سرد-أنواع-العقد-المتاحة
api/ar/workflows.yaml get /workflows/node-types
استرداد قائمة بجميع أنواع العقد المتاحة (المشغلات، والإجراءات، والشروط) التي يمكن استخدامها لبناء مسارات العمل، بالإضافة إلى مخططات تكوينها.
# عرض الشبكات الفرعية لموقع
Source: https://altostrat.io/docs/api/ar/utilities/عرض-الشبكات-الفرعية-لموقع
api/ar/managed-vpn.yaml get /site/{siteId}/subnets
يسترجع قائمة بالشبكات الفرعية المتاحة لموقع معين، وهو أمر مفيد عند تكوين أقران من موقع إلى موقع.
# عرض مناطق الخوادم المتاحة
Source: https://altostrat.io/docs/api/ar/utilities/عرض-مناطق-الخوادم-المتاحة
api/ar/managed-vpn.yaml get /servers/regions
يسترجع قائمة منظمة بجميع المناطق الجغرافية المتاحة حيث يمكن نشر مثيل VPN.
# إنشاء عنصر في الخزنة
Source: https://altostrat.io/docs/api/ar/vault/إنشاء-عنصر-في-الخزنة
api/ar/workflows.yaml post /vault
إنشاء عنصر جديد في الخزنة لتخزين المعلومات الحساسة مثل مفاتيح API أو كلمات المرور. يتم تشفير القيمة السرية في حالة السكون ولا يمكن استخدامها إلا بواسطة مسارات العمل.
# استرداد عنصر من الخزنة
Source: https://altostrat.io/docs/api/ar/vault/استرداد-عنصر-من-الخزنة
api/ar/workflows.yaml get /vault/{vaultId}
استرداد تفاصيل عنصر واحد من الخزنة بواسطة معرفه المسبوق بالبادئة. لا يتم إرجاع القيمة السرية أبدًا.
# تحديث عنصر في الخزنة
Source: https://altostrat.io/docs/api/ar/vault/تحديث-عنصر-في-الخزنة
api/ar/workflows.yaml put /vault/{vaultId}
تحديث عنصر موجود في الخزنة، مثل اسمه أو قيمته السرية أو تاريخ انتهاء صلاحيته.
# حذف عنصر من الخزنة
Source: https://altostrat.io/docs/api/ar/vault/حذف-عنصر-من-الخزنة
api/ar/workflows.yaml delete /vault/{vaultId}
حذف عنصر من الخزنة بشكل دائم. لا يمكن التراجع عن هذا الإجراء. ستفشل أي مسارات عمل تستخدم هذا العنصر.
# سرد عناصر الخزنة
Source: https://altostrat.io/docs/api/ar/vault/سرد-عناصر-الخزنة
api/ar/workflows.yaml get /vault
استرداد قائمة بجميع العناصر السرية المخزنة في خزنة مؤسستك. لا يتم إرجاع القيم السرية نفسها أبدًا.
# الحصول على الثغرات (CVEs) حسب عنوان MAC
Source: https://altostrat.io/docs/api/ar/vulnerability-intelligence/الحصول-على-الثغرات-cves-حسب-عنوان-mac
api/ar/cve-scans.yaml post /scans/cve/mac-address/cves
يسترد جميع الثغرات المكتشفة (CVEs) المرتبطة بقائمة معينة من عناوين MAC عبر جميع عمليات الفحص التاريخية. هذه هي نقطة النهاية الرئيسية لتتبع تاريخ ثغرات جهاز ما.
ملاحظة: تستخدم نقطة النهاية هذه طريقة POST للسماح بالاستعلام عن عناوين MAC متعددة في نص الطلب، وهو أكثر قوة وأمانًا من عنوان URL طويل بطريقة GET.
# الحصول على خطوات التخفيف
Source: https://altostrat.io/docs/api/ar/vulnerability-intelligence/الحصول-على-خطوات-التخفيف
api/ar/cve-scans.yaml get /scans/cve/mitigation/{cve_id}
يوفر خطوات تخفيف عملية، تم إنشاؤها بواسطة الذكاء الاصطناعي، لمعرف CVE محدد. يتم تنسيق الاستجابة بصيغة Markdown لسهولة العرض.
# عرض جميع عناوين MAC التي تم فحصها
Source: https://altostrat.io/docs/api/ar/vulnerability-intelligence/عرض-جميع-عناوين-mac-التي-تم-فحصها
api/ar/cve-scans.yaml get /scans/cve/mac-address/cve/list
يسترد قائمة بجميع عناوين MAC الفريدة التي تم اكتشافها عبر جميع عمليات الفحص لحسابك. يمكن استخدام هذا لملء مخزون الأجهزة أو لاكتشاف الأجهزة التي يجب الاستعلام عنها بحثًا عن الثغرات (CVEs).
# تحديث حالة الثغرة (CVE)
Source: https://altostrat.io/docs/api/ar/vulnerability-management/تحديث-حالة-الثغرة-cve
api/ar/cve-scans.yaml post /scans/cve/mac-address/cve/status
يحدّث حالة CVE معين لعنوان MAC معين. استخدم هذا لتمييز ثغرة بأنها 'مقبولة' (على سبيل المثال، نتيجة إيجابية خاطئة أو خطر مقبول) أو 'مخففة' (على سبيل المثال، تم تطبيق تصحيح أو يوجد حل بديل). كل تحديث ينشئ سجلاً تاريخيًا جديدًا.
# عرض حالات الثغرات (CVEs)
Source: https://altostrat.io/docs/api/ar/vulnerability-management/عرض-حالات-الثغرات-cves
api/ar/cve-scans.yaml get /scans/cve/mac-address/cve/status
يسترد قائمة بجميع حالات CVE المدارة. يمكنك تصفية النتائج حسب عنوان MAC أو معرف CVE أو الحالة للعثور على سجلات محددة.
# إنشاء إدخال في الحديقة المسورة
Source: https://altostrat.io/docs/api/ar/walled-garden/إنشاء-إدخال-في-الحديقة-المسورة
api/ar/captive-portal.yaml post /sites/{siteId}/walled-garden-entries
إضافة عنوان IP جديد أو شبكة فرعية جديدة إلى الحديقة المسورة لموقع معين، مما يسمح للمستخدمين بالوصول إليه قبل المصادقة.
# استرداد إدخال في الحديقة المسورة
Source: https://altostrat.io/docs/api/ar/walled-garden/استرداد-إدخال-في-الحديقة-المسورة
api/ar/captive-portal.yaml get /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
استرداد تفاصيل إدخال معين في الحديقة المسورة.
# تحديث إدخال في الحديقة المسورة
Source: https://altostrat.io/docs/api/ar/walled-garden/تحديث-إدخال-في-الحديقة-المسورة
api/ar/captive-portal.yaml put /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
تحديث تفاصيل إدخال في الحديقة المسورة، مثل اسمه. لا يمكن تغيير عنوان IP.
# حذف إدخال من الحديقة المسورة
Source: https://altostrat.io/docs/api/ar/walled-garden/حذف-إدخال-من-الحديقة-المسورة
api/ar/captive-portal.yaml delete /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
إزالة إدخال من الحديقة المسورة، مما يمنع الوصول قبل المصادقة إلى عنوان IP أو الشبكة الفرعية المحددة.
# عرض إدخالات الحديقة المسورة لموقع معين
Source: https://altostrat.io/docs/api/ar/walled-garden/عرض-إدخالات-الحديقة-المسورة-لموقع-معين
api/ar/captive-portal.yaml get /sites/{siteId}/walled-garden-entries
استرداد قائمة بجميع إدخالات الحديقة المسورة (الوجهات المسموح بها قبل المصادقة) لموقع معين.
# الحصول على إحصائيات Ping المجمعة
Source: https://altostrat.io/docs/api/ar/wan-tunnels-&-performance/الحصول-على-إحصائيات-ping-المجمعة
api/ar/monitoring-metrics.yaml post /v1/monitoring/wan/ping-stats
يجلب بيانات السلاسل الزمنية المجمعة للكمون، والارتعاش (mdev)، وفقدان الحزم لنفق WAN واحد أو أكثر خلال فترة زمنية محددة. إذا لم يتم تحديد أي أنفاق، فإنه يعيد متوسطًا مجمعًا لجميع الأنفاق. تم تحسين نقطة النهاية هذه لإنشاء مخططات الأداء بعدد محدد من نقاط البيانات.
# سرد أنفاق WAN للموقع
Source: https://altostrat.io/docs/api/ar/wan-tunnels-&-performance/سرد-أنفاق-wan-للموقع
api/ar/monitoring-metrics.yaml get /v1/monitoring/wan-tunnels/{siteId}
يسترجع قائمة بجميع أنفاق SD-WAN المهيأة لموقع معين.
# إضافة نفق WAN جديد
Source: https://altostrat.io/docs/api/ar/wan-tunnels/إضافة-نفق-wan-جديد
api/ar/wan-failover.yaml post /v1/failover/{site_id}/tunnels
إنشاء نفق WAN جديد غير مكوّن للموقع، حتى الحد الأقصى المسموح به في الاشتراك. بعد الإنشاء، يجب عليك استخدام طلب `PUT` إلى `/v1/failover/{site_id}/tunnels/{tunnel_id}` لتكوين خصائصه مثل الواجهة والبوابة.
# الحصول على نفق محدد
Source: https://altostrat.io/docs/api/ar/wan-tunnels/الحصول-على-نفق-محدد
api/ar/wan-failover.yaml get /v1/failover/{site_id}/tunnels/{tunnel_id}
استرداد التكوين المفصل وحالة نفق WAN واحد.
# تحديث أولويات الأنفاق
Source: https://altostrat.io/docs/api/ar/wan-tunnels/تحديث-أولويات-الأنفاق
api/ar/wan-failover.yaml post /v1/failover/{site_id}/priorities
إعادة ترتيب أولوية تجاوز الفشل لجميع الأنفاق المرتبطة بموقع ما. هذه عملية ذرية؛ يجب عليك تقديم قائمة كاملة بجميع الأنفاق وأولوياتها الجديدة المطلوبة. يمثل الرقم الأدنى الأولوية القصوى.
# تكوين نفق WAN
Source: https://altostrat.io/docs/api/ar/wan-tunnels/تكوين-نفق-wan
api/ar/wan-failover.yaml put /v1/failover/{site_id}/tunnels/{tunnel_id}
تحديث تكوين نفق WAN محدد. هذه هي نقطة النهاية الرئيسية لتحديد كيفية عمل اتصال WAN، بما في ذلك واجهة جهاز التوجيه والبوابة ونوع الاتصال.
# حذف نفق WAN
Source: https://altostrat.io/docs/api/ar/wan-tunnels/حذف-نفق-wan
api/ar/wan-failover.yaml delete /v1/failover/{site_id}/tunnels/{tunnel_id}
حذف نفق WAN بشكل دائم من تكوين تجاوز الفشل. سيقوم النظام تلقائيًا بإعادة ترتيب أولويات الأنفاق المتبقية.
# عرض قائمة الأنفاق لموقع ما
Source: https://altostrat.io/docs/api/ar/wan-tunnels/عرض-قائمة-الأنفاق-لموقع-ما
api/ar/wan-failover.yaml get /v1/failover/{site_id}/tunnels
استرداد قائمة مفصلة بجميع أنفاق WAN المكوّنة لموقع محدد.
# تشغيل مسار عمل عبر webhook
Source: https://altostrat.io/docs/api/ar/webhooks/تشغيل-مسار-عمل-عبر-webhook
api/ar/workflows.yaml post /workflows/webhooks/{webhookToken}
نقطة نهاية عامة لتشغيل مسار عمل يحتوي على `webhook_trigger`. تتم المصادقة عن طريق الرمز السري الفريد في مسار URL. سيكون نص الطلب بأكمله متاحًا في سياق مسار العمل.
# إعادة تشغيل مسار عمل
Source: https://altostrat.io/docs/api/ar/workflow-runs/إعادة-تشغيل-مسار-عمل
api/ar/workflows.yaml post /workflows/runs/{runId}/rerun
إنشاء عملية تشغيل مسار عمل جديدة باستخدام نفس بيانات المشغِّل الأولية لعملية تشغيل سابقة. هذا مفيد لإعادة محاولة تنفيذ فاشل أو مكتمل بنفس بيانات الإدخال الأصلية.
# استئناف مسار عمل فاشل
Source: https://altostrat.io/docs/api/ar/workflow-runs/استئناف-مسار-عمل-فاشل
api/ar/workflows.yaml post /workflows/runs/{runId}/resume-from/{nodeId}
استئناف عملية تشغيل مسار عمل فاشلة من عقدة محددة تم إكمالها بنجاح. يتم إنشاء عملية تشغيل مسار عمل جديدة، ترث السياق من العملية الأصلية حتى العقدة المحددة، ويستمر التنفيذ من هناك.
# استرداد عملية تشغيل مسار عمل
Source: https://altostrat.io/docs/api/ar/workflow-runs/استرداد-عملية-تشغيل-مسار-عمل
api/ar/workflows.yaml get /workflows/runs/{runId}
استرداد تفاصيل عملية تشغيل مسار عمل واحدة، بما في ذلك حالتها، وبيانات المشغِّل، ورسالة الخطأ (إن وجدت)، وسجل كامل ومرتب لكل خطوة تم تنفيذها.
# تنفيذ مسار عمل
Source: https://altostrat.io/docs/api/ar/workflow-runs/تنفيذ-مسار-عمل
api/ar/workflows.yaml post /workflows/{workflowId}/execute
يشغّل تنفيذ مسار عمل يدويًا. سيتم تشغيل مسار العمل بشكل غير متزامن في الخلفية. يؤكد الرد أن التنفيذ قد تم قبوله ويوفر معرف عملية تشغيل مسار العمل الجديدة.
# سرد عمليات تشغيل مسار العمل
Source: https://altostrat.io/docs/api/ar/workflow-runs/سرد-عمليات-تشغيل-مسار-العمل
api/ar/workflows.yaml get /workflows/{workflowId}/executions
استرداد قائمة مقسمة إلى صفحات لجميع عمليات التنفيذ السابقة والحالية (Runs) لمسار عمل محدد، مرتبة حسب الأحدث.
# إنشاء مسار عمل جديد
Source: https://altostrat.io/docs/api/ar/workflows/إنشاء-مسار-عمل-جديد
api/ar/workflows.yaml post /workflows
إنشاء تعريف مسار عمل جديد، بما في ذلك العقد والحواف التي تحدد الرسم البياني للأتمتة. يجب أن يحتوي مسار العمل الصالح على عقدة مشغِّل واحدة بالضبط.
# استرداد مسار عمل
Source: https://altostrat.io/docs/api/ar/workflows/استرداد-مسار-عمل
api/ar/workflows.yaml get /workflows/{workflowId}
استرداد التفاصيل الكاملة لمسار عمل واحد من خلال معرفه المسبوق بالبادئة، بما في ذلك تكوين العقد والحواف بالكامل.
# تحديث مسار عمل
Source: https://altostrat.io/docs/api/ar/workflows/تحديث-مسار-عمل
api/ar/workflows.yaml put /workflows/{workflowId}
تحديث مسار عمل موجود. يمكنك تحديث أي خاصية، بما في ذلك الاسم، أو الوصف، أو حالة النشاط، أو الجدول الزمني، أو الرسم البياني الكامل للعقد والحواف.
# تنفيذ مسار عمل متزامن
Source: https://altostrat.io/docs/api/ar/workflows/تنفيذ-مسار-عمل-متزامن
api/ar/workflows.yaml post /workflows/sync/{workflowId}
تنفيذ مسار عمل يحتوي على `sync_request_trigger` وإرجاع النتيجة فورًا. يجب أن يكون مسار العمل مصممًا للتنفيذ المتزامن، مما يعني أنه لا يمكن أن يحتوي على مهام طويلة الأمد مثل التأخيرات أو المكررات. يجب أن تكون العقدة النهائية هي عقدة `text_transform` مهيأة كاستجابة.
# حذف مسار عمل
Source: https://altostrat.io/docs/api/ar/workflows/حذف-مسار-عمل
api/ar/workflows.yaml delete /workflows/{workflowId}
حذف مسار عمل وجميع عمليات التشغيل والسجلات المرتبطة به بشكل دائم. لا يمكن التراجع عن هذا الإجراء. لا يمكن حذف مسار العمل إذا كان يتم استدعاؤه بواسطة مسار عمل آخر.
# سرد جميع مسارات العمل
Source: https://altostrat.io/docs/api/ar/workflows/سرد-جميع-مسارات-العمل
api/ar/workflows.yaml get /workflows
استرداد قائمة بجميع مسارات العمل التابعة لمؤسستك. هذه النقطة النهائية مفيدة لعروض لوحة المعلومات أو لاختيار مسار عمل لتنفيذه أو تحريره.
# إزالة عضو من مساحة عمل
Source: https://altostrat.io/docs/api/ar/workspace-members/إزالة-عضو-من-مساحة-عمل
api/ar/workspaces.yaml delete /workspaces/{workspaceId}/members/{memberId}
تزيل عضوًا من مساحة عمل. يمكن للمستخدم إزالة نفسه، أو يمكن للمالك/المسؤول إزالة أعضاء آخرين. لا يمكن إزالة المالك الأخير لمساحة العمل.
# إضافة عضو إلى مساحة عمل
Source: https://altostrat.io/docs/api/ar/workspace-members/إضافة-عضو-إلى-مساحة-عمل
api/ar/workspaces.yaml post /workspaces/{workspaceId}/members
تضيف مستخدمًا جديدًا إلى مساحة عمل بدور محدد. يمكن فقط لملاك ومسؤولي مساحة العمل إضافة أعضاء جدد. لا يمكن أن تحتوي مساحة العمل على أكثر من 100 عضو.
# تحديث دور عضو
Source: https://altostrat.io/docs/api/ar/workspace-members/تحديث-دور-عضو
api/ar/workspaces.yaml patch /workspaces/{workspaceId}/members/{memberId}
تحدّث دور عضو موجود في مساحة عمل. تخضع تغييرات الدور لقواعد التسلسل الهرمي؛ على سبيل المثال، لا يمكن لمسؤول ترقية عضو آخر إلى مالك.
# عرض قائمة أعضاء مساحة العمل
Source: https://altostrat.io/docs/api/ar/workspace-members/عرض-قائمة-أعضاء-مساحة-العمل
api/ar/workspaces.yaml get /workspaces/{workspaceId}/members
تُرجع قائمة بالمستخدمين الأعضاء في مساحة العمل المحددة، بما في ذلك أدوارهم.
# أرشفة مساحة عمل
Source: https://altostrat.io/docs/api/ar/workspaces/أرشفة-مساحة-عمل
api/ar/workspaces.yaml delete /workspaces/{workspaceId}
تقوم بأرشفة مساحة عمل، مما يمنع أي تعديلات أخرى. لا يمكن أرشفة مساحة العمل إذا كانت تحتوي على منظمات ذات استخدام نشط للموارد أو حسابات فوترة ذات اشتراكات نشطة. هذه عملية حذف ناعم. يمكن فقط لملاك مساحة العمل تنفيذ هذا الإجراء.
# إنشاء مساحة عمل
Source: https://altostrat.io/docs/api/ar/workspaces/إنشاء-مساحة-عمل
api/ar/workspaces.yaml post /workspaces
تُنشئ مساحة عمل جديدة، والتي تعمل كحاوية عليا لمواردك ومستخدميك وتكوينات الفوترة. يتم تعيين دور 'owner' تلقائيًا للمستخدم الذي ينشئ مساحة العمل.
# استرداد مساحة عمل
Source: https://altostrat.io/docs/api/ar/workspaces/استرداد-مساحة-عمل
api/ar/workspaces.yaml get /workspaces/{workspaceId}
تسترد تفاصيل مساحة عمل موجودة. يجب أن تكون عضوًا في مساحة العمل لاستردادها.
# تحديث مساحة عمل
Source: https://altostrat.io/docs/api/ar/workspaces/تحديث-مساحة-عمل
api/ar/workspaces.yaml patch /workspaces/{workspaceId}
تحدّث مساحة العمل المحددة عن طريق تعيين قيم المعاملات المُمررة. أي معاملات لم يتم توفيرها ستبقى دون تغيير. يمكن فقط لملاك ومسؤولي مساحة العمل تنفيذ هذا الإجراء.
# عرض قائمة بمساحات العمل
Source: https://altostrat.io/docs/api/ar/workspaces/عرض-قائمة-بمساحات-العمل
api/ar/workspaces.yaml get /workspaces
تُرجع قائمة بمساحات العمل التي يكون المستخدم الموثق عضوًا فيها.
# فحص الحالة الصحية
Source: https://altostrat.io/docs/api/ar/الحالة-الصحية/فحص-الحالة-الصحية
api/ar/mcp-server.yaml get /health
يوفر فحصًا بسيطًا للحالة الصحية لخادم MCP، ويعيد حالته وإصداره وقدراته المدعومة. يمكن استخدام نقطة النهاية هذه للمراقبة واكتشاف الخدمة.
# عرض قائمة المواضيع المتاحة
Source: https://altostrat.io/docs/api/ar/المواضيع/عرض-قائمة-المواضيع-المتاحة
api/ar/notifications.yaml get /notifications/topics
يسترجع قائمة بجميع مواضيع الإشعارات المتاحة. هذه هي فئات الأحداث التي يمكن لمجموعات الإشعارات الاشتراك فيها.
# إنشاء مجموعة إشعارات
Source: https://altostrat.io/docs/api/ar/مجموعات-الإشعارات/إنشاء-مجموعة-إشعارات
api/ar/notifications.yaml post /notifications
ينشئ مجموعة إشعارات جديدة. يسمح هذا بتحديد قاعدة جديدة لمن يتم إشعاره، وعن أي مواضيع، ولأي مواقع، وبأي جدول زمني.
# استرداد مجموعة إشعارات
Source: https://altostrat.io/docs/api/ar/مجموعات-الإشعارات/استرداد-مجموعة-إشعارات
api/ar/notifications.yaml get /notifications/{groupId}
يجلب تفاصيل مجموعة إشعارات محددة عن طريق معرفها الفريد.
# تحديث مجموعة إشعارات
Source: https://altostrat.io/docs/api/ar/مجموعات-الإشعارات/تحديث-مجموعة-إشعارات
api/ar/notifications.yaml put /notifications/{groupId}
يحدّث تكوين مجموعة إشعارات موجودة. تستبدل هذه العملية كائن المجموعة بأكمله بالبيانات المقدمة.
# حذف مجموعة إشعارات
Source: https://altostrat.io/docs/api/ar/مجموعات-الإشعارات/حذف-مجموعة-إشعارات
api/ar/notifications.yaml delete /notifications/{groupId}
يحذف مجموعة إشعارات بشكل دائم. لا يمكن التراجع عن هذا الإجراء.
# عرض قائمة مجموعات الإشعارات
Source: https://altostrat.io/docs/api/ar/مجموعات-الإشعارات/عرض-قائمة-مجموعات-الإشعارات
api/ar/notifications.yaml get /notifications
يسترجع قائمة بجميع مجموعات الإشعارات التي تم تكوينها لمساحة عمل المستخدم المصادق عليه. تمثل كل مجموعة مجموعة محددة من القواعد لتوجيه التنبيهات.
# Generate a temporary access token
Source: https://altostrat.io/docs/api/en/access-tokens/generate-a-temporary-access-token
api/en/faults.yaml post /token
Generates a short-lived JSON Web Token (JWT) that can be used to provide temporary, read-only access to specific fault data, typically for embedding in external dashboards.
# Generate Script from Prompt
Source: https://altostrat.io/docs/api/en/ai-script-generation/generate-script-from-prompt
api/en/scripts.yaml post /gen-ai
Submits a natural language prompt to the AI engine to generate a MikroTik RouterOS script. The response includes the generated script content, a flag indicating if the script is potentially destructive, and any errors or warnings from the AI.
# Get recent faults (Legacy)
Source: https://altostrat.io/docs/api/en/analytics/get-recent-faults-legacy
api/en/faults.yaml get /recent
Retrieves a list of recent faults. This endpoint provides a specific view of network health: it returns all currently unresolved faults, plus any faults that were resolved within the last 10 minutes.
**Note:** This is a legacy endpoint maintained for backward compatibility. For more flexible querying, we recommend using the primary `GET /faults` endpoint with the appropriate filters.
# Get top faulty resources
Source: https://altostrat.io/docs/api/en/analytics/get-top-faulty-resources
api/en/faults.yaml get /top_faults
Retrieves a list of the top 10 most frequently faulting resources over the last 14 days, along with a sample of their most recent fault events. This is useful for identifying problematic areas in your network.
# Search ARP Entries
Source: https://altostrat.io/docs/api/en/arp-inventory/search-arp-entries
api/en/monitoring-metrics.yaml post /v1/monitoring/arps
Performs a paginated search for ARP entries across one or more sites, with options for filtering and sorting. This is the primary endpoint for building an inventory of connected devices.
# Update ARP Entry
Source: https://altostrat.io/docs/api/en/arp-inventory/update-arp-entry
api/en/monitoring-metrics.yaml put /v1/monitoring/arps/{siteId}/{arpEntryId}
Updates metadata for a specific ARP entry, such as assigning it to a group or setting a custom alias.
# List audit log events
Source: https://altostrat.io/docs/api/en/audit-logs/list-audit-log-events
api/en/audit-logs.yaml get /audit-logs
Retrieve a list of audit log events for your organization. This endpoint supports powerful filtering and pagination to help you find specific events for security, compliance, or debugging purposes.
Results are returned in reverse chronological order (most recent first) by default.
# Create an auth integration
Source: https://altostrat.io/docs/api/en/auth-integrations/create-an-auth-integration
api/en/captive-portal.yaml post /auth-integrations
Creates a new authentication integration for use with captive portal instances that have an 'oauth2' strategy.
# Delete an auth integration
Source: https://altostrat.io/docs/api/en/auth-integrations/delete-an-auth-integration
api/en/captive-portal.yaml delete /auth-integrations/{authIntegrationId}
Permanently deletes an authentication integration. This action cannot be undone and may affect captive portal instances that rely on it.
# List all auth integrations
Source: https://altostrat.io/docs/api/en/auth-integrations/list-all-auth-integrations
api/en/captive-portal.yaml get /auth-integrations
Retrieves a list of all OAuth2 authentication integrations (IDPs) configured for the user's account.
# Retrieve an auth integration
Source: https://altostrat.io/docs/api/en/auth-integrations/retrieve-an-auth-integration
api/en/captive-portal.yaml get /auth-integrations/{authIntegrationId}
Retrieves the details of a specific authentication integration by its unique ID.
# Update an auth integration
Source: https://altostrat.io/docs/api/en/auth-integrations/update-an-auth-integration
api/en/captive-portal.yaml put /auth-integrations/{authIntegrationId}
Updates the configuration of an existing authentication integration.
# Compare Two Backups
Source: https://altostrat.io/docs/api/en/backups/compare-two-backups
api/en/backups.yaml get /sites/{siteId}/backups/{fromFilename}/diff/{toFilename}
Generates a unified diff between two backup files for a site, showing the precise configuration changes. This is invaluable for auditing changes and understanding network evolution.
# List Backups for a Site
Source: https://altostrat.io/docs/api/en/backups/list-backups-for-a-site
api/en/backups.yaml get /sites/{siteId}/backups
Retrieves a list of all available configuration backup files for a specific site, sorted from newest to oldest. This allows you to see the entire history of captured configurations for a device.
# Request a New Backup
Source: https://altostrat.io/docs/api/en/backups/request-a-new-backup
api/en/backups.yaml post /sites/{siteId}/backups
Asynchronously triggers a new configuration backup for the specified site. The backup process runs in the background. This endpoint returns immediately with a status indicating the request has been accepted for processing.
# Retrieve a Specific Backup
Source: https://altostrat.io/docs/api/en/backups/retrieve-a-specific-backup
api/en/backups.yaml get /sites/{siteId}/backups/{filename}
Fetches the contents of a specific backup file. The format of the response can be controlled via HTTP headers to return JSON metadata, raw text, highlighted HTML, or a downloadable file.
# Create a BGP Threat Intelligence Policy
Source: https://altostrat.io/docs/api/en/bgp-threat-intelligence/create-a-bgp-threat-intelligence-policy
api/en/utm-ips.yaml post /bgp/policy
Creates a new BGP policy, specifying which IP reputation lists to use for blocking traffic.
# Delete a BGP Policy
Source: https://altostrat.io/docs/api/en/bgp-threat-intelligence/delete-a-bgp-policy
api/en/utm-ips.yaml delete /bgp/policy/{policyId}
Permanently deletes a BGP policy. This operation will fail if the policy is currently attached to one or more sites.
# List BGP IP Reputation Lists
Source: https://altostrat.io/docs/api/en/bgp-threat-intelligence/list-bgp-ip-reputation-lists
api/en/utm-ips.yaml get /bgp/category
Retrieves a list of all available BGP IP reputation lists that can be included in a BGP policy.
# List BGP Threat Intelligence Policies
Source: https://altostrat.io/docs/api/en/bgp-threat-intelligence/list-bgp-threat-intelligence-policies
api/en/utm-ips.yaml get /bgp/policy
Retrieves a list of all BGP Threat Intelligence policies associated with your account.
# Retrieve a BGP Policy
Source: https://altostrat.io/docs/api/en/bgp-threat-intelligence/retrieve-a-bgp-policy
api/en/utm-ips.yaml get /bgp/policy/{policyId}
Retrieves the details of a specific BGP Threat Intelligence policy by its unique identifier.
# Update a BGP Policy
Source: https://altostrat.io/docs/api/en/bgp-threat-intelligence/update-a-bgp-policy
api/en/utm-ips.yaml put /bgp/policy/{policyId}
Updates the properties of an existing BGP policy, including its name, status, selected IP lists, and site attachments.
# Create a billing account
Source: https://altostrat.io/docs/api/en/billing-accounts/create-a-billing-account
api/en/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts
Creates a new billing account within a workspace. This also creates a corresponding Customer object in Stripe. The behavior is constrained by the workspace's billing mode; for `single` mode, only one billing account can be created. For `pooled` and `assigned` modes, up to 10 can be created.
# Delete a billing account
Source: https://altostrat.io/docs/api/en/billing-accounts/delete-a-billing-account
api/en/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Permanently deletes a billing account. This action cannot be undone. A billing account cannot be deleted if it has any active subscriptions.
# List billing accounts
Source: https://altostrat.io/docs/api/en/billing-accounts/list-billing-accounts
api/en/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts
Returns a list of billing accounts associated with a workspace.
# Retrieve a billing account
Source: https://altostrat.io/docs/api/en/billing-accounts/retrieve-a-billing-account
api/en/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Retrieves the details of a specific billing account.
# Update a billing account
Source: https://altostrat.io/docs/api/en/billing-accounts/update-a-billing-account
api/en/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Updates the details of a billing account. Any parameters not provided will be left unchanged. This operation also updates the corresponding Customer object in Stripe.
# Fetch Latest Backups in Bulk
Source: https://altostrat.io/docs/api/en/bulk-operations/fetch-latest-backups-in-bulk
api/en/backups.yaml post /backups/latest
Efficiently retrieves the latest backup content for a list of up to 50 sites. This is optimized for AI agents and automation systems that need to gather configurations for multiple sites in a single request. The endpoint validates access for each site individually and returns a per-site status.
# Create a captive portal instance
Source: https://altostrat.io/docs/api/en/captive-portal-instances/create-a-captive-portal-instance
api/en/captive-portal.yaml post /instances
Creates a new captive portal instance with a basic configuration. Further details, such as themes and sites, can be added via an update operation.
# Delete a captive portal instance
Source: https://altostrat.io/docs/api/en/captive-portal-instances/delete-a-captive-portal-instance
api/en/captive-portal.yaml delete /instances/{instanceId}
Permanently deletes a captive portal instance and all associated subnets, sites, coupons, and assets. This action cannot be undone.
# List all captive portal instances
Source: https://altostrat.io/docs/api/en/captive-portal-instances/list-all-captive-portal-instances
api/en/captive-portal.yaml get /instances
Retrieves a list of all captive portal instances accessible to the authenticated user.
# Retrieve a captive portal instance
Source: https://altostrat.io/docs/api/en/captive-portal-instances/retrieve-a-captive-portal-instance
api/en/captive-portal.yaml get /instances/{instanceId}
Retrieves the complete details of a specific captive portal instance by its unique ID.
# Update a captive portal instance
Source: https://altostrat.io/docs/api/en/captive-portal-instances/update-a-captive-portal-instance
api/en/captive-portal.yaml put /instances/{instanceId}
Updates the configuration of a specific captive portal instance, including its theme, sites, subnets, and other settings.
# Upload an instance image
Source: https://altostrat.io/docs/api/en/captive-portal-instances/upload-an-instance-image
api/en/captive-portal.yaml post /instances/{instanceId}/images/{type}
Uploads a logo or icon for a specific captive portal instance. The image will be stored and served via a signed URL in the instance's theme.
# Add a comment to a fault
Source: https://altostrat.io/docs/api/en/comments/add-a-comment-to-a-fault
api/en/faults.yaml post /faults/{faultId}/comment
Adds a new comment to an existing fault. Comments are useful for tracking troubleshooting steps, adding context, or communicating with team members about an incident.
# Get Raw README Content
Source: https://altostrat.io/docs/api/en/community-scripts/get-raw-readme-content
api/en/scripts.yaml get /community-scripts/{communityScriptId}.md
Downloads the raw, plain-text markdown content of a community script's README file, if one exists.
# Get Raw Script Content
Source: https://altostrat.io/docs/api/en/community-scripts/get-raw-script-content
api/en/scripts.yaml get /community-scripts/{communityScriptId}.rsc
Downloads the raw, plain-text content of a community script, suitable for direct use or inspection.
# List Community Scripts
Source: https://altostrat.io/docs/api/en/community-scripts/list-community-scripts
api/en/scripts.yaml get /community-scripts
Retrieves a paginated list of scripts from the public community repository. This is a valuable resource for finding pre-built solutions for common MikroTik tasks.
# Retrieve a Community Script
Source: https://altostrat.io/docs/api/en/community-scripts/retrieve-a-community-script
api/en/scripts.yaml get /community-scripts/{communityScriptId}
Fetches detailed information about a specific community script, including its content, description, and metadata about the author and source repository.
# Submit a Community Script
Source: https://altostrat.io/docs/api/en/community-scripts/submit-a-community-script
api/en/scripts.yaml post /community-scripts
Submits a new script to the community repository by providing a URL to a raw `.rsc` file on GitHub. The system will then fetch the script content and associated repository metadata.
# Create a coupon schedule
Source: https://altostrat.io/docs/api/en/coupon-schedules/create-a-coupon-schedule
api/en/captive-portal.yaml post /instances/{instanceId}/coupon-schedules
Creates a new schedule to automatically generate coupons on a recurring basis (daily, weekly, or monthly).
# Delete a coupon schedule
Source: https://altostrat.io/docs/api/en/coupon-schedules/delete-a-coupon-schedule
api/en/captive-portal.yaml delete /instances/{instanceId}/coupon-schedules/{scheduleId}
Permanently deletes a coupon schedule. This will not delete coupons that have already been generated by the schedule.
# Generate a signed coupon URL
Source: https://altostrat.io/docs/api/en/coupon-schedules/generate-a-signed-coupon-url
api/en/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}/generate-url
Creates a temporary, signed URL that can be used to retrieve the list of valid coupons generated by a specific schedule. This is useful for distributing coupons to third-party systems without exposing API keys. The URL is valid for 24 hours.
# List coupon schedules
Source: https://altostrat.io/docs/api/en/coupon-schedules/list-coupon-schedules
api/en/captive-portal.yaml get /instances/{instanceId}/coupon-schedules
Retrieves a list of all coupon generation schedules for a specific captive portal instance.
# Retrieve a coupon schedule
Source: https://altostrat.io/docs/api/en/coupon-schedules/retrieve-a-coupon-schedule
api/en/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}
Retrieves the details of a specific coupon schedule by its ID.
# Run a coupon schedule now
Source: https://altostrat.io/docs/api/en/coupon-schedules/run-a-coupon-schedule-now
api/en/captive-portal.yaml post /instances/{instanceId}/coupon-schedules/{scheduleId}/run
Manually triggers a coupon schedule to generate a new batch of coupons immediately, outside of its normal recurrence.
# Update a coupon schedule
Source: https://altostrat.io/docs/api/en/coupon-schedules/update-a-coupon-schedule
api/en/captive-portal.yaml put /instances/{instanceId}/coupon-schedules/{scheduleId}
Updates the configuration of an existing coupon schedule.
# Create coupons
Source: https://altostrat.io/docs/api/en/coupons/create-coupons
api/en/captive-portal.yaml post /instances/{instanceId}/coupons
Generates a batch of one-time use coupons for a specified captive portal instance.
# List valid coupons for an instance
Source: https://altostrat.io/docs/api/en/coupons/list-valid-coupons-for-an-instance
api/en/captive-portal.yaml get /instances/{instanceId}/coupons
Retrieves a list of all valid (unredeemed and not expired) coupons for a specific captive portal instance.
# Get Data Transferred Volume
Source: https://altostrat.io/docs/api/en/dashboard/get-data-transferred-volume
api/en/monitoring-metrics.yaml get /v1/monitoring/dashboard/data-transferred
Retrieves the total volume of data transferred (in bytes) across specified sites, aggregated into time buckets. Use this endpoint to analyze data consumption and usage patterns.
# Get Network Throughput
Source: https://altostrat.io/docs/api/en/dashboard/get-network-throughput
api/en/monitoring-metrics.yaml get /v1/monitoring/dashboard/throughput
Retrieves time-series data representing the average network throughput (in bits per second) across specified sites over a given time window. Use this endpoint to visualize traffic rates for dashboards and reports.
# Get Device Heartbeat History
Source: https://altostrat.io/docs/api/en/device-health-&-status/get-device-heartbeat-history
api/en/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats/{siteId}
Retrieves the device's heartbeat and connectivity status over the past 24 hours, aggregated hourly. This helps identify periods of downtime or missed check-ins.
# Get Last Seen Time
Source: https://altostrat.io/docs/api/en/device-health-&-status/get-last-seen-time
api/en/monitoring-metrics.yaml get /v1/monitoring/last-seen/{siteId}
Returns the time since the device at the specified site last reported its status.
# Get Recent Device Health Stats
Source: https://altostrat.io/docs/api/en/device-health-&-status/get-recent-device-health-stats
api/en/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats-all/{siteId}
Retrieves a time-series of key health metrics (CPU, memory, disk, uptime) for a specific site's device from the last 8 hours.
# Retrieve Site Stats Over a Date Range
Source: https://altostrat.io/docs/api/en/device-stats/retrieve-site-stats-over-a-date-range
api/en/mikrotik-api.yaml get /sites/{siteId}/mikrotik-stats/range
Fetches time-series performance metrics (CPU, memory, disk, uptime) for a site within a specified date range. For ranges over 48 hours, data is automatically aggregated hourly to ensure a fast response. For shorter ranges, raw data points are returned.
# JSON Web Key Set (JWKS) Endpoint
Source: https://altostrat.io/docs/api/en/discovery/json-web-key-set-jwks-endpoint
api/en/authentication.yaml get /.well-known/jwks.json
Provides the set of public keys used to verify the signature of JWTs issued by the authentication server. Clients should use the `kid` (Key ID) from a JWT's header to select the correct key for validation.
# OIDC Discovery Endpoint
Source: https://altostrat.io/docs/api/en/discovery/oidc-discovery-endpoint
api/en/authentication.yaml get /.well-known/openid-configuration
Returns a JSON document containing the OpenID Provider's configuration metadata. OIDC-compliant clients use this endpoint to automatically discover the locations of the authorization, token, userinfo, and JWKS endpoints, as well as all supported capabilities.
# Create a DNS Content Filtering Policy
Source: https://altostrat.io/docs/api/en/dns-content-filtering/create-a-dns-content-filtering-policy
api/en/utm-ips.yaml post /policy
Creates a new DNS Content Filtering policy with specified filtering rules, application blocks, and safe search settings.
# Delete a DNS Policy
Source: https://altostrat.io/docs/api/en/dns-content-filtering/delete-a-dns-policy
api/en/utm-ips.yaml delete /policy/{policyId}
Permanently deletes a DNS policy. This operation will fail if the policy is currently attached to one or more sites.
# List Application Categories
Source: https://altostrat.io/docs/api/en/dns-content-filtering/list-application-categories
api/en/utm-ips.yaml get /category
Retrieves a list of all available application categories. Each category contains a list of applications that can be targeted in DNS policies.
# List DNS Content Filtering Policies
Source: https://altostrat.io/docs/api/en/dns-content-filtering/list-dns-content-filtering-policies
api/en/utm-ips.yaml get /policy
Retrieves a list of all DNS Content Filtering policies associated with your account.
# List Safe Search Services
Source: https://altostrat.io/docs/api/en/dns-content-filtering/list-safe-search-services
api/en/utm-ips.yaml get /category/safe_search
Retrieves a list of services (e.g., Google, YouTube) for which Safe Search can be enforced in a DNS policy.
# Retrieve a DNS Policy
Source: https://altostrat.io/docs/api/en/dns-content-filtering/retrieve-a-dns-policy
api/en/utm-ips.yaml get /policy/{policyId}
Retrieves the details of a specific DNS Content Filtering policy by its unique identifier.
# Update a DNS Policy
Source: https://altostrat.io/docs/api/en/dns-content-filtering/update-a-dns-policy
api/en/utm-ips.yaml put /policy/{policyId}
Updates the properties of an existing DNS policy. You can change its name, application blocks, safe search settings, and site attachments.
# Activate Failover Service
Source: https://altostrat.io/docs/api/en/failover-service/activate-failover-service
api/en/wan-failover.yaml post /v1/failover/{site_id}
Activates the WAN Failover service for a specified site. This is the first step to enabling SD-WAN capabilities. Activating the service automatically creates two default, unconfigured WAN tunnels.
# Deactivate Failover Service
Source: https://altostrat.io/docs/api/en/failover-service/deactivate-failover-service
api/en/wan-failover.yaml delete /v1/failover/{site_id}
Deactivates the WAN Failover service for a site, removing all associated WAN tunnels and their configurations from both the Altostrat platform and the on-site router. This action is irreversible.
# Get Failover Service Status
Source: https://altostrat.io/docs/api/en/failover-service/get-failover-service-status
api/en/wan-failover.yaml get /v1/failover/{site_id}
Checks the status of the WAN Failover service for a specific site, returning the subscription ID if it is active.
# List Sites with Failover Service
Source: https://altostrat.io/docs/api/en/failover-service/list-sites-with-failover-service
api/en/wan-failover.yaml get /v1/failover/service-counts
Retrieves a list of all sites associated with the authenticated user that have the WAN Failover service currently activated.
# Create a fault
Source: https://altostrat.io/docs/api/en/faults/create-a-fault
api/en/faults.yaml post /faults
Manually creates a new fault object. This is typically used for creating faults from external systems or for testing purposes. For automated ingestion, other microservices push events that are processed into faults.
# Delete a fault
Source: https://altostrat.io/docs/api/en/faults/delete-a-fault
api/en/faults.yaml delete /faults/{faultId}
Permanently deletes a fault object. This action cannot be undone.
# List all faults
Source: https://altostrat.io/docs/api/en/faults/list-all-faults
api/en/faults.yaml get /faults
Returns a paginated list of fault objects for your account. The faults are returned in reverse chronological order by creation time. You can filter the results using the query parameters.
# Retrieve a fault
Source: https://altostrat.io/docs/api/en/faults/retrieve-a-fault
api/en/faults.yaml get /faults/{faultId}
Retrieves the details of an existing fault. You need only supply the unique fault identifier that was returned upon fault creation.
# Update a fault
Source: https://altostrat.io/docs/api/en/faults/update-a-fault
api/en/faults.yaml put /faults/{faultId}
Updates the specified fault by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This is useful for changing a fault's severity or manually resolving it.
# Delete a Generated Report
Source: https://altostrat.io/docs/api/en/generated-reports/delete-a-generated-report
api/en/reports.yaml delete /sla/reports/{reportId}
Permanently deletes a previously generated report and its associated PDF and JSON data from storage.
# List Generated Reports
Source: https://altostrat.io/docs/api/en/generated-reports/list-generated-reports
api/en/reports.yaml get /sla/reports
Retrieves a paginated list of all historically generated reports for the workspace, sorted by creation date in descending order.
# Health Check
Source: https://altostrat.io/docs/api/en/health/health-check
api/en/mcp-server.yaml get /health
Provides a simple health check of the MCP server, returning its status, version, and supported capabilities. This endpoint can be used for monitoring and service discovery.
# List Router Interfaces
Source: https://altostrat.io/docs/api/en/helper-endpoints/list-router-interfaces
api/en/wan-failover.yaml get /v1/failover/{site_id}/interfaces
Retrieves a list of available physical and logical network interfaces from the router at the specified site. This is useful for identifying the correct `interface` name when configuring a tunnel.
# Look up Eligible Gateways
Source: https://altostrat.io/docs/api/en/helper-endpoints/look-up-eligible-gateways
api/en/wan-failover.yaml post /v1/failover/{site_id}/gateways
For a given router interface, this endpoint attempts to detect eligible upstream gateway IP addresses. This helps automate the process of finding the correct `gateway` IP for a tunnel configuration.
# Create a VPN instance
Source: https://altostrat.io/docs/api/en/instances/create-a-vpn-instance
api/en/managed-vpn.yaml post /instances
Provisions a new VPN server instance in a specified region with a unique hostname. This is the first step in setting up a new VPN.
# Delete a VPN instance
Source: https://altostrat.io/docs/api/en/instances/delete-a-vpn-instance
api/en/managed-vpn.yaml delete /instances/{instanceId}
Permanently decommissions a VPN instance and all its associated servers and peers. This action cannot be undone.
# List all VPN instances
Source: https://altostrat.io/docs/api/en/instances/list-all-vpn-instances
api/en/managed-vpn.yaml get /instances
Retrieves a list of all VPN instances accessible by the authenticated user.
# Retrieve a VPN instance
Source: https://altostrat.io/docs/api/en/instances/retrieve-a-vpn-instance
api/en/managed-vpn.yaml get /instances/{instanceId}
Fetches the details of a specific VPN instance by its unique identifier.
# Retrieve instance bandwidth
Source: https://altostrat.io/docs/api/en/instances/retrieve-instance-bandwidth
api/en/managed-vpn.yaml get /instances/{instanceId}/bandwidth
Fetches the bandwidth usage statistics for the primary server associated with a VPN instance.
# Update a VPN instance
Source: https://altostrat.io/docs/api/en/instances/update-a-vpn-instance
api/en/managed-vpn.yaml put /instances/{instanceId}
Modifies the configuration of an existing VPN instance, such as its name, DNS settings, or pushed routes.
# API Introduction
Source: https://altostrat.io/docs/api/en/introduction
Welcome to the Altostrat API! Your toolkit for building powerful network automation and security integrations on top of your MikroTik fleet.
Welcome to the Altostrat Developer Platform. Our API is built on REST principles, with predictable, resource-oriented URLs and standard HTTP response codes. All API requests and responses, including errors, are returned in JSON format.
This reference is your complete guide to integrating with Altostrat's powerful automation, security, and management capabilities.
## Getting Started: Your First API Call
Authentication is handled via Bearer Tokens. You can create and manage your API tokens from the **Settings > API Tokens** section of your Altostrat workspace dashboard.
All API requests must be made over HTTPS and include your token in the `Authorization` header. Here’s a quick example to get you started by listing the workspaces your token has access to:
```bash title="cURL" theme={null}
curl -X GET 'https://api.altostrat.io/v1/workspaces' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json'
```
```python title="Python" theme={null}
import requests
url = "https://api.altostrat.io/v1/workspaces"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
print(response.json())
```
## Exploring the API: Core Concepts
Our API is organized into logical groups of resources based on their function within the Altostrat SDX platform. This structure is designed to help you quickly find the endpoints you need to accomplish your goals.
Manage workspaces, user access, billing, and view audit logs. This is the foundation of your account.
The core of fleet management. Interact with sites, jobs, backups, scripts, and device configurations.
Build and trigger powerful no-code workflows and leverage our generative AI for script creation.
Configure SD-WAN, manage site-to-site VPNs, and set up branded captive portals for guest access.
Enforce security policies, manage UTM/IPS rules, and perform vulnerability scans.
Retrieve device metrics, query fault logs, generate SLA reports, and configure notifications.
We encourage you to explore these sections to understand the full capabilities of the platform. Happy building!
# List invoices
Source: https://altostrat.io/docs/api/en/invoices/list-invoices
api/en/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices
Returns a list of invoices for a billing account. Invoices are returned in reverse chronological order.
# Preview an invoice
Source: https://altostrat.io/docs/api/en/invoices/preview-an-invoice
api/en/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices/preview
Previews an upcoming invoice for a billing account, showing the financial impact of potential subscription changes, such as adding products or changing quantities. This does not modify any existing subscriptions.
# Cancel a Pending Job
Source: https://altostrat.io/docs/api/en/jobs/cancel-a-pending-job
api/en/mikrotik-api.yaml delete /sites/{siteId}/jobs/{jobId}
Deletes a job that has not yet started execution. Jobs that are in progress, completed, or failed cannot be deleted.
# Create a Job for a Site
Source: https://altostrat.io/docs/api/en/jobs/create-a-job-for-a-site
api/en/mikrotik-api.yaml post /sites/{siteId}/jobs
Creates and queues a new job to be executed on the specified site. The job's payload is a raw RouterOS script, and metadata is provided via headers.
# List Jobs for a Site
Source: https://altostrat.io/docs/api/en/jobs/list-jobs-for-a-site
api/en/mikrotik-api.yaml get /sites/{siteId}/jobs
Retrieves a list of all jobs that have been created for a specific site, ordered by creation date (most recent first).
# Retrieve a Job
Source: https://altostrat.io/docs/api/en/jobs/retrieve-a-job
api/en/mikrotik-api.yaml get /sites/{siteId}/jobs/{jobId}
Retrieves the complete details of a specific job by its unique identifier (UUID).
# Execute Synchronous Command
Source: https://altostrat.io/docs/api/en/live-commands/execute-synchronous-command
api/en/generative-ai.yaml post /sites/{siteId}/commands/synchronous
Executes a read-only MikroTik RouterOS API command synchronously on a specific site. This provides a direct, real-time interface to the device. For fetching static configuration, using the Backups API is often faster. Write operations are strictly forbidden.
# MCP JSON-RPC Endpoint
Source: https://altostrat.io/docs/api/en/mcp--core-protocol/mcp-json-rpc-endpoint
api/en/mcp-server.yaml post /mcp
This is the single endpoint for all Model Context Protocol (MCP) interactions, which follow the JSON-RPC 2.0 specification.
The specific action to be performed is determined by the `method` property within the JSON request body. The `params` object structure varies depending on the method being called.
Below are the supported methods:
### Lifecycle
- `initialize`: Establishes a connection and negotiates protocol versions.
- `ping`: A simple method to check if the connection is alive.
### Tools
- `tools/list`: Retrieves a list of available tools that an AI agent can execute.
- `tools/call`: Executes a specific tool with the provided arguments.
### Resources
- `resources/list`: Retrieves a list of available knowledge resources.
- `resources/read`: Reads the content of a specific resource.
### Prompts
- `prompts/list`: Retrieves a list of available, pre-defined prompts.
- `prompts/get`: Retrieves the full message structure for a specific prompt, populated with arguments.
# Create a metadata object
Source: https://altostrat.io/docs/api/en/metadata/create-a-metadata-object
api/en/metadata.yaml post /metadata
Creates a new metadata object for a given resource, or fully overwrites an existing one for that resource. The metadata itself is a flexible key-value store.
# Delete a metadata object
Source: https://altostrat.io/docs/api/en/metadata/delete-a-metadata-object
api/en/metadata.yaml delete /metadata/{resourceId}
Deletes all custom metadata associated with a resource. This action clears the `metadata` field but does not delete the resource itself.
# List all metadata objects
Source: https://altostrat.io/docs/api/en/metadata/list-all-metadata-objects
api/en/metadata.yaml get /metadata
Retrieves a collection of all resources that have metadata associated with them for the current customer.
# Retrieve a metadata object
Source: https://altostrat.io/docs/api/en/metadata/retrieve-a-metadata-object
api/en/metadata.yaml get /metadata/{resourceId}
Fetches the metadata object for a single resource, identified by its unique ID.
# Update a metadata object
Source: https://altostrat.io/docs/api/en/metadata/update-a-metadata-object
api/en/metadata.yaml put /metadata/{resourceId}
Updates the metadata for a specific resource. This operation performs a merge; any keys you provide will be added or will overwrite existing keys, while keys you don't provide will be left untouched. To remove a key, set its value to `null` or an empty string.
# Get BGP Security Report
Source: https://altostrat.io/docs/api/en/network-logs/get-bgp-security-report
api/en/monitoring-metrics.yaml get /v1/monitoring/bgp-report/{siteId}
Generates a BGP security report for a site based on the last 24 hours of data. The report includes top 10 destination ports, top 10 blocklists triggered, and top 10 source IPs initiating blocked traffic.
# Get DNS Security Report
Source: https://altostrat.io/docs/api/en/network-logs/get-dns-security-report
api/en/monitoring-metrics.yaml get /v1/monitoring/dns-report/{siteId}
Generates a DNS security report for a site based on the last 24 hours of data. The report includes top 10 blocked categories, top 10 blocked applications, and top 10 internal source IPs making blocked requests.
# Get Site Syslog Entries
Source: https://altostrat.io/docs/api/en/network-logs/get-site-syslog-entries
api/en/monitoring-metrics.yaml get /v1/monitoring/syslogs/{siteId}
Retrieves a paginated list of syslog messages for a specific site, ordered by the most recent first.
# Create a Notification Group
Source: https://altostrat.io/docs/api/en/notification-groups/create-a-notification-group
api/en/notifications.yaml post /notifications
Creates a new notification group. This allows you to define a new rule for who gets notified about which topics, for which sites, and on what schedule.
# Delete a Notification Group
Source: https://altostrat.io/docs/api/en/notification-groups/delete-a-notification-group
api/en/notifications.yaml delete /notifications/{groupId}
Permanently deletes a notification group. This action cannot be undone.
# List Notification Groups
Source: https://altostrat.io/docs/api/en/notification-groups/list-notification-groups
api/en/notifications.yaml get /notifications
Retrieves a list of all notification groups configured for the authenticated user's workspace. Each group represents a specific set of rules for routing alerts.
# Retrieve a Notification Group
Source: https://altostrat.io/docs/api/en/notification-groups/retrieve-a-notification-group
api/en/notifications.yaml get /notifications/{groupId}
Fetches the details of a specific notification group by its unique ID.
# Update a Notification Group
Source: https://altostrat.io/docs/api/en/notification-groups/update-a-notification-group
api/en/notifications.yaml put /notifications/{groupId}
Updates the configuration of an existing notification group. This operation replaces the entire group object with the provided data.
# Exchange Code or Refresh Token for Tokens
Source: https://altostrat.io/docs/api/en/oauth-20-&-oidc/exchange-code-or-refresh-token-for-tokens
api/en/authentication.yaml post /oauth/token
Used to exchange an `authorization_code` for tokens, or to use a `refresh_token` to get a new `access_token`. Client authentication can be performed via `client_secret_post` (in the body), `client_secret_basic` (HTTP Basic Auth), or `private_key_jwt`.
# Get User Profile
Source: https://altostrat.io/docs/api/en/oauth-20-&-oidc/get-user-profile
api/en/authentication.yaml get /userinfo
Retrieves the profile of the user associated with the provided `access_token`. The claims returned are based on the scopes granted during authentication.
# Initiate User Authentication
Source: https://altostrat.io/docs/api/en/oauth-20-&-oidc/initiate-user-authentication
api/en/authentication.yaml get /authorize
This is the starting point for user authentication. The Altostrat web application redirects the user's browser to this endpoint to begin the OAuth 2.0 Authorization Code Flow with PKCE.
# Log Out User (Legacy)
Source: https://altostrat.io/docs/api/en/oauth-20-&-oidc/log-out-user-legacy
api/en/authentication.yaml get /v2/logout
Logs the user out of their Altostrat session and redirects them back to a specified URL.
# Log Out User (OIDC Compliant)
Source: https://altostrat.io/docs/api/en/oauth-20-&-oidc/log-out-user-oidc-compliant
api/en/authentication.yaml get /oidc/logout
This endpoint conforms to the OIDC Session Management specification. It logs the user out and can redirect them back to the application.
# Revoke Token
Source: https://altostrat.io/docs/api/en/oauth-20-&-oidc/revoke-token
api/en/authentication.yaml post /oauth/revoke
Revokes an `access_token` or `refresh_token`, invalidating it immediately. This is useful for scenarios like password changes or user-initiated logouts from all devices.
# Create a child organization
Source: https://altostrat.io/docs/api/en/organizations/create-a-child-organization
api/en/workspaces.yaml post /workspaces/{workspaceId}/organizations/{organizationId}/children
Creates a new organization as a direct child of the specified parent organization. The hierarchy cannot exceed 10 levels of depth, and a parent cannot have more than 100 direct children.
# Create an organization
Source: https://altostrat.io/docs/api/en/organizations/create-an-organization
api/en/workspaces.yaml post /workspaces/{workspaceId}/organizations
Creates a new top-level organization within a workspace. To create a child organization, use the `/organizations/{organizationId}/children` endpoint. A workspace cannot have more than 1,000 organizations in total.
# Delete an organization
Source: https://altostrat.io/docs/api/en/organizations/delete-an-organization
api/en/workspaces.yaml delete /workspaces/{workspaceId}/organizations/{organizationId}
Permanently deletes an organization. An organization cannot be deleted if it or any of its descendants have active resource usage.
# Export organization usage as CSV
Source: https://altostrat.io/docs/api/en/organizations/export-organization-usage-as-csv
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.csv
Generates and downloads a CSV file detailing the resource usage and limits for all organizations within the specified workspace.
# Export organization usage as PDF
Source: https://altostrat.io/docs/api/en/organizations/export-organization-usage-as-pdf
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.pdf
Generates and downloads a PDF file detailing the resource usage and limits for all organizations within the specified workspace.
# List all descendant organizations
Source: https://altostrat.io/docs/api/en/organizations/list-all-descendant-organizations
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/descendants
Returns a flat list of all organizations that are descendants (children, grandchildren, etc.) of the specified parent organization.
# List child organizations
Source: https://altostrat.io/docs/api/en/organizations/list-child-organizations
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/children
Returns a list of immediate child organizations of a specified parent organization.
# List organizations
Source: https://altostrat.io/docs/api/en/organizations/list-organizations
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations
Returns a list of all organizations within the specified workspace.
# Retrieve an organization
Source: https://altostrat.io/docs/api/en/organizations/retrieve-an-organization
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}
Retrieves the details of a specific organization within a workspace.
# Retrieve organization limits
Source: https://altostrat.io/docs/api/en/organizations/retrieve-organization-limits
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/limits
Retrieves a detailed breakdown of usage, limits, and available capacity for each meterable product type for a specific organization. This takes into account the organization's own limits, limits inherited from its parents, and the total capacity available from its subscription.
# Retrieve parent organization
Source: https://altostrat.io/docs/api/en/organizations/retrieve-parent-organization
api/en/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/parent
Retrieves the parent organization of a specified child organization. If the organization is at the top level, this endpoint will return a 204 No Content response.
# Update an organization
Source: https://altostrat.io/docs/api/en/organizations/update-an-organization
api/en/workspaces.yaml patch /workspaces/{workspaceId}/organizations/{organizationId}
Updates specified attributes of an organization. This endpoint can be used to change the organization's name, update its resource limits, or modify branding settings. You only need to provide the fields you want to change.
# Create a Setup Intent
Source: https://altostrat.io/docs/api/en/payment-methods/create-a-setup-intent
api/en/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Creates a Stripe Setup Intent to collect payment method details for future payments. This returns a `client_secret` that you can use with Stripe.js or the mobile SDKs to display a payment form. A billing account cannot have more than 5 payment methods.
# Detach a payment method
Source: https://altostrat.io/docs/api/en/payment-methods/detach-a-payment-method
api/en/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Detaches a payment method from a billing account. You cannot detach the only payment method on an account, nor can you detach the default payment method if there are active subscriptions.
# List payment methods
Source: https://altostrat.io/docs/api/en/payment-methods/list-payment-methods
api/en/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Returns a list of payment methods attached to a billing account.
# Set default payment method
Source: https://altostrat.io/docs/api/en/payment-methods/set-default-payment-method
api/en/workspaces.yaml put /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Sets a specified payment method as the default for a billing account. This payment method will be used for all future subscription invoices.
# Create a peer
Source: https://altostrat.io/docs/api/en/peers/create-a-peer
api/en/managed-vpn.yaml post /instances/{instanceId}/peers
Creates a new peer (a client or a site) and associates it with a VPN instance.
# Delete a peer
Source: https://altostrat.io/docs/api/en/peers/delete-a-peer
api/en/managed-vpn.yaml delete /instances/{instanceId}/peers/{peerId}
Permanently removes a peer from a VPN instance. This revokes its access.
# List all peers for an instance
Source: https://altostrat.io/docs/api/en/peers/list-all-peers-for-an-instance
api/en/managed-vpn.yaml get /instances/{instanceId}/peers
Retrieves a list of all peers (clients and sites) associated with a specific VPN instance.
# Retrieve a peer
Source: https://altostrat.io/docs/api/en/peers/retrieve-a-peer
api/en/managed-vpn.yaml get /instances/{instanceId}/peers/{peerId}
Fetches the details of a specific peer by its unique identifier.
# Update a peer
Source: https://altostrat.io/docs/api/en/peers/update-a-peer
api/en/managed-vpn.yaml put /instances/{instanceId}/peers/{peerId}
Modifies the configuration of an existing peer, such as its subnets or routing behavior.
# Apply policy to sites
Source: https://altostrat.io/docs/api/en/policies/apply-policy-to-sites
api/en/control-plane.yaml post /policies/{policyId}/sites
Assigns or reassigns a list of sites to this policy. This is the primary way to apply a new set of firewall rules to one or more devices.
# Create a policy
Source: https://altostrat.io/docs/api/en/policies/create-a-policy
api/en/control-plane.yaml post /policies
Creates a new security policy. You can define rules for services like Winbox, SSH, and HTTP/S, including which networks are allowed to access them.
# Delete a policy
Source: https://altostrat.io/docs/api/en/policies/delete-a-policy
api/en/control-plane.yaml delete /policies/{policyId}
Deletes a policy. You cannot delete the default policy. Any sites using the deleted policy will be reassigned to the default policy.
# List all policies
Source: https://altostrat.io/docs/api/en/policies/list-all-policies
api/en/control-plane.yaml get /policies
Retrieves a list of all security policies belonging to your workspace. Policies define the firewall rules and service access configurations applied to your sites.
# Retrieve a policy
Source: https://altostrat.io/docs/api/en/policies/retrieve-a-policy
api/en/control-plane.yaml get /policies/{policyId}
Retrieves the details of a specific policy, including its rules and a list of sites it is applied to.
# Update a policy
Source: https://altostrat.io/docs/api/en/policies/update-a-policy
api/en/control-plane.yaml put /policies/{policyId}
Updates the specified policy by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
# Create a prefix list
Source: https://altostrat.io/docs/api/en/prefix-lists/create-a-prefix-list
api/en/security-groups.yaml post /prefix-lists
Creates a new prefix list with a defined set of CIDR blocks and initial site associations. Site associations and address list deployments are handled asynchronously.
# Delete a prefix list
Source: https://altostrat.io/docs/api/en/prefix-lists/delete-a-prefix-list
api/en/security-groups.yaml delete /prefix-lists/{prefixListId}
Permanently deletes a prefix list. This action will fail if the prefix list is currently referenced by any security group rule. An asynchronous process will remove the corresponding address list from all associated sites.
# List prefix lists
Source: https://altostrat.io/docs/api/en/prefix-lists/list-prefix-lists
api/en/security-groups.yaml get /prefix-lists
Retrieves a list of all prefix lists within your organization. This endpoint provides a summary view and does not include the detailed list of prefixes or sites for performance. To get full details, retrieve a specific prefix list by its ID.
# Retrieve a prefix list
Source: https://altostrat.io/docs/api/en/prefix-lists/retrieve-a-prefix-list
api/en/security-groups.yaml get /prefix-lists/{prefixListId}
Retrieves the complete details of a specific prefix list, including its name, description, status, associated sites, and a full list of its prefixes.
# Update a prefix list
Source: https://altostrat.io/docs/api/en/prefix-lists/update-a-prefix-list
api/en/security-groups.yaml put /prefix-lists/{prefixListId}
Updates an existing prefix list by fully replacing its attributes, including its name, description, prefixes, and site associations. This is a full replacement operation (PUT); any omitted fields will result in those items being removed.
# List Products
Source: https://altostrat.io/docs/api/en/products/list-products
api/en/mikrotik-oem-data.yaml get /oem/products
Returns a paginated list of MikroTik products. The list can be filtered by product name or model number, allowing for powerful search and cataloging capabilities.
# Retrieve a Product
Source: https://altostrat.io/docs/api/en/products/retrieve-a-product
api/en/mikrotik-oem-data.yaml get /oem/product/{slug}
Retrieves the complete details of a single MikroTik product, identified by its unique slug. This endpoint provides an exhaustive set of specifications, including core hardware details, performance test results, included accessories, and downloadable assets.
# Get public branding information
Source: https://altostrat.io/docs/api/en/public/get-public-branding-information
api/en/workspaces.yaml get /organizations/{id}/branding
Retrieves the public branding information for an organization, such as its display name, logo, and theme colors. You can use either the organization's primary ID (`org_...`) or its external UUID as the identifier. This is a public, unauthenticated endpoint.
# Resolve login hint
Source: https://altostrat.io/docs/api/en/public/resolve-login-hint
api/en/workspaces.yaml get /organizations/resolve/{login_hint}
Given a unique login hint (e.g., a short company name like 'acme'), this endpoint returns the corresponding organization ID. This is useful for pre-filling organization details in a login flow. This is a public, unauthenticated endpoint.
# List common services
Source: https://altostrat.io/docs/api/en/reference-data/list-common-services
api/en/security-groups.yaml get /reference/services
Retrieves a list of common network services and their standard port numbers to aid in the creation of firewall rules.
# List supported protocols
Source: https://altostrat.io/docs/api/en/reference-data/list-supported-protocols
api/en/security-groups.yaml get /reference/protocols
Retrieves a list of all supported network protocols and their corresponding integer values, which are required when creating firewall rules.
# List Resellers
Source: https://altostrat.io/docs/api/en/resellers/list-resellers
api/en/mikrotik-oem-data.yaml get /oem/mikrotik-resellers
Returns a paginated list of official MikroTik resellers. This allows you to find resellers based on their geographical location or name, providing valuable information for procurement and partnership purposes.
# Retrieve a Runbook
Source: https://altostrat.io/docs/api/en/runbooks/retrieve-a-runbook
api/en/mikrotik-api.yaml get /runbooks/{runbookId}
Retrieves the details of a specific runbook, including its name and the bootstrap command used to onboard new devices with this configuration.
# Start a Scan
Source: https://altostrat.io/docs/api/en/scan-execution/start-a-scan
api/en/cve-scans.yaml post /scans/cve/scheduled/{scanScheduleId}/invoke
Manually triggers a scan for a given schedule, overriding its normal timetable. The scan will be queued for execution immediately.
# Start On-Demand Multi-IP Scan
Source: https://altostrat.io/docs/api/en/scan-execution/start-on-demand-multi-ip-scan
api/en/cve-scans.yaml post /scans/cve/scan/multiple-ips
Initiates an immediate, on-demand scan for a specific list of IP addresses. This uses the configuration of an existing scan schedule but targets only the specified IPs within a particular site.
# Start On-Demand Single-IP Scan
Source: https://altostrat.io/docs/api/en/scan-execution/start-on-demand-single-ip-scan
api/en/cve-scans.yaml post /scans/cve/scheduled/single-ip
Initiates an immediate, on-demand scan for a single IP address. This uses the configuration of an existing scan schedule but targets only the specified IP within a particular site.
# Stop a Scan
Source: https://altostrat.io/docs/api/en/scan-execution/stop-a-scan
api/en/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}/invoke
Forcefully stops a scan that is currently in progress for a given schedule.
# Get Latest Scan Status
Source: https://altostrat.io/docs/api/en/scan-results/get-latest-scan-status
api/en/cve-scans.yaml get /scans/cve/{scanScheduleId}/status
Retrieves the status of the most recent scan associated with a specific schedule, whether it is running, completed, or failed.
# List Scan Reports
Source: https://altostrat.io/docs/api/en/scan-results/list-scan-reports
api/en/cve-scans.yaml get /scans/cve
Retrieves a list of completed scan reports for your account, ordered by the most recent first. Each item in the list is a summary of a scan run.
# Retrieve a Scan Report
Source: https://altostrat.io/docs/api/en/scan-results/retrieve-a-scan-report
api/en/cve-scans.yaml get /scans/cve/{scan_id}
Fetches the detailed report for a specific completed scan run. The report includes scan metadata and links to download the full JSON or PDF report.
# Create Scan Schedule
Source: https://altostrat.io/docs/api/en/scan-schedules/create-scan-schedule
api/en/cve-scans.yaml post /scans/cve/scheduled
Creates a new recurring CVE scan schedule. You must define the timing, frequency, target sites and subnets, and notification settings. A successful creation returns the full schedule object.
# Delete a Scan Schedule
Source: https://altostrat.io/docs/api/en/scan-schedules/delete-a-scan-schedule
api/en/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}
Permanently deletes a scan schedule. This action cannot be undone and will stop any future scans for this schedule.
# List Scan Schedules
Source: https://altostrat.io/docs/api/en/scan-schedules/list-scan-schedules
api/en/cve-scans.yaml get /scans/cve/scheduled
Retrieves a list of all CVE scan schedules configured for your account. This is useful for displaying all configured scans in a dashboard or for programmatic management.
# Retrieve a Scan Schedule
Source: https://altostrat.io/docs/api/en/scan-schedules/retrieve-a-scan-schedule
api/en/cve-scans.yaml get /scans/cve/scheduled/{scanScheduleId}
Fetches the details of a specific scan schedule by its unique identifier.
# Update a Scan Schedule
Source: https://altostrat.io/docs/api/en/scan-schedules/update-a-scan-schedule
api/en/cve-scans.yaml put /scans/cve/scheduled/{scanScheduleId}
Updates the configuration of an existing scan schedule. All fields are replaced by the new values provided in the request body.
# Cancel or Delete a Scheduled Script
Source: https://altostrat.io/docs/api/en/scheduled-scripts/cancel-or-delete-a-scheduled-script
api/en/scripts.yaml delete /scheduled/{scheduledScriptId}
This endpoint has dual functionality. If the script is 'unauthorized' and has not been launched, it will be permanently deleted. If the script is 'scheduled' or 'launched', it will be marked as 'cancelled' to prevent further execution, but the record will be retained.
# Get Execution Progress
Source: https://altostrat.io/docs/api/en/scheduled-scripts/get-execution-progress
api/en/scripts.yaml get /scheduled/{scheduledScriptId}/progress
Retrieves the real-time execution progress for a script that has been launched. It provides lists of sites where the script has completed, failed, or is still pending.
# Immediately Run a Scheduled Script
Source: https://altostrat.io/docs/api/en/scheduled-scripts/immediately-run-a-scheduled-script
api/en/scripts.yaml put /scheduled/{scheduledScriptId}/run
Triggers an immediate execution of an already authorized script, overriding its scheduled 'launch_at' time. This is useful for urgent deployments. The script must be in an 'authorized' state to be run immediately.
# List Scheduled Scripts
Source: https://altostrat.io/docs/api/en/scheduled-scripts/list-scheduled-scripts
api/en/scripts.yaml get /scheduled
Retrieves a list of all scripts scheduled for execution that are accessible by the authenticated user. This provides an overview of pending, in-progress, and completed automation tasks.
# Request Script Authorization
Source: https://altostrat.io/docs/api/en/scheduled-scripts/request-script-authorization
api/en/scripts.yaml get /scheduled/{scheduledScriptId}/authorize
Initiates the authorization workflow for an 'unauthorized' script. This action sends notifications (e.g., WhatsApp, email) to the configured recipients, containing a unique link to approve the script's execution.
# Retrieve a Scheduled Script
Source: https://altostrat.io/docs/api/en/scheduled-scripts/retrieve-a-scheduled-script
api/en/scripts.yaml get /scheduled/{scheduledScriptId}
Fetches the detailed information for a single scheduled script, including its current status, progress, and configuration.
# Run a Test Execution
Source: https://altostrat.io/docs/api/en/scheduled-scripts/run-a-test-execution
api/en/scripts.yaml put /scheduled/{scheduledScriptId}/run-test
Immediately dispatches the script for execution on the designated 'test_site_id'. This allows for validation of the script's logic and impact in a controlled environment before a full-scale launch. The script does not need to be authorized to run a test.
# Schedule a New Script
Source: https://altostrat.io/docs/api/en/scheduled-scripts/schedule-a-new-script
api/en/scripts.yaml post /scheduled
Creates a new scheduled script entry. This involves defining the script content, selecting target devices (sites), specifying a launch time, and configuring notification recipients. The script will be in an 'unauthorized' state until an authorization workflow is completed.
# Update a Scheduled Script
Source: https://altostrat.io/docs/api/en/scheduled-scripts/update-a-scheduled-script
api/en/scripts.yaml put /scheduled/{scheduledScriptId}
Modifies an existing scheduled script. This is only possible if the script has not yet been launched. Updating a script will reset its authorization status to 'unauthorized', requiring re-approval before it can be executed.
# Create a new schedule
Source: https://altostrat.io/docs/api/en/schedules/create-a-new-schedule
api/en/schedules.yaml post /chrono/schedules
Creates a new schedule with a defined set of recurring time slots. Upon creation, the schedule's `active` status is automatically calculated based on the current time and the provided slots.
# Delete a schedule
Source: https://altostrat.io/docs/api/en/schedules/delete-a-schedule
api/en/schedules.yaml delete /chrono/schedules/{scheduleId}
Permanently deletes a schedule, including all of its associated time slots and metadata. This action cannot be undone.
# List all schedules
Source: https://altostrat.io/docs/api/en/schedules/list-all-schedules
api/en/schedules.yaml get /chrono/schedules
Retrieves a list of all schedule objects belonging to your workspace. The schedules are returned sorted by creation date, with the most recently created schedules appearing first.
# Retrieve a schedule
Source: https://altostrat.io/docs/api/en/schedules/retrieve-a-schedule
api/en/schedules.yaml get /chrono/schedules/{scheduleId}
Retrieves the details of an existing schedule by its unique identifier.
# Update a schedule
Source: https://altostrat.io/docs/api/en/schedules/update-a-schedule
api/en/schedules.yaml put /chrono/schedules/{scheduleId}
Updates the specified schedule by setting the properties of the request body. Any properties not provided will be left unchanged. When updating `hours`, the entire array is replaced. When updating `metadata`, providing a key with a `null` value will delete that metadata entry.
# Create a Script Template
Source: https://altostrat.io/docs/api/en/script-templates/create-a-script-template
api/en/scripts.yaml post /templates
Creates a new, private script template for the user's organization. This allows for the storage and reuse of standardized scripts within a team.
# Delete a Script Template
Source: https://altostrat.io/docs/api/en/script-templates/delete-a-script-template
api/en/scripts.yaml delete /templates/{templateId}
Permanently removes a private script template. This action cannot be undone and is only permitted on templates that the user is authorized to edit.
# List Script Templates
Source: https://altostrat.io/docs/api/en/script-templates/list-script-templates
api/en/scripts.yaml get /templates
Retrieves a collection of script templates. Templates can be filtered to show public (global), private (organization-specific), or all accessible templates. They can also be searched by name or description.
# Retrieve a Script Template
Source: https://altostrat.io/docs/api/en/script-templates/retrieve-a-script-template
api/en/scripts.yaml get /templates/{templateId}
Fetches the details of a specific script template, including its content.
# Update a Script Template
Source: https://altostrat.io/docs/api/en/script-templates/update-a-script-template
api/en/scripts.yaml put /templates/{templateId}
Modifies an existing script template. This action is only permitted on templates that are private to the user's organization and were created by the user. Global templates are read-only.
# Search Tenant Resources
Source: https://altostrat.io/docs/api/en/search/search-tenant-resources
api/en/search.yaml get /search
Performs a full-text search across all indexed resources within the authenticated user's tenancy.
Results are automatically scoped to the user's organization. You can further refine the search by providing a specific `workspace_id` or filtering by resource `types`. The query supports fuzzy matching and typo tolerance for an improved user experience.
# Create a security group
Source: https://altostrat.io/docs/api/en/security-groups/create-a-security-group
api/en/security-groups.yaml post /security-groups
Creates a new security group with a defined set of firewall rules and initial site associations. The group is created atomically. Site associations and rule deployments are handled asynchronously. The response will indicate a `syncing` status if there are sites to update.
# Delete a security group
Source: https://altostrat.io/docs/api/en/security-groups/delete-a-security-group
api/en/security-groups.yaml delete /security-groups/{securityGroupId}
Permanently deletes a security group. This action cannot be undone. An asynchronous process will remove the corresponding firewall rules from all associated sites.
# List security groups
Source: https://altostrat.io/docs/api/en/security-groups/list-security-groups
api/en/security-groups.yaml get /security-groups
Retrieves a list of all security groups within your organization. This endpoint provides a summary view of each group and does not include the detailed list of rules or associated sites for performance reasons. To get full details, retrieve a specific security group by its ID.
# Retrieve a security group
Source: https://altostrat.io/docs/api/en/security-groups/retrieve-a-security-group
api/en/security-groups.yaml get /security-groups/{securityGroupId}
Retrieves the complete details of a specific security group, including its name, description, status, associated sites, and a full list of its firewall rules.
# Update a security group
Source: https://altostrat.io/docs/api/en/security-groups/update-a-security-group
api/en/security-groups.yaml put /security-groups/{securityGroupId}
Updates an existing security group by fully replacing its attributes, including its name, description, rules, and site associations. This is a full replacement operation (PUT); any omitted fields in the `rules` or `sites` arrays will result in those items being removed.
# Create a site note
Source: https://altostrat.io/docs/api/en/site-files/create-a-site-note
api/en/metadata.yaml post /sites/{siteId}/notes
Creates a new markdown note and attaches it to the specified site.
# Delete a document file
Source: https://altostrat.io/docs/api/en/site-files/delete-a-document-file
api/en/metadata.yaml delete /sites/{siteId}/documents/{documentId}
Permanently deletes a document file from a site.
# Delete a media file
Source: https://altostrat.io/docs/api/en/site-files/delete-a-media-file
api/en/metadata.yaml delete /sites/{siteId}/media/{mediaId}
Permanently deletes a media file from a site.
# Delete a site note
Source: https://altostrat.io/docs/api/en/site-files/delete-a-site-note
api/en/metadata.yaml delete /sites/{siteId}/notes/{noteId}
Permanently deletes a note from a site.
# Download a document file
Source: https://altostrat.io/docs/api/en/site-files/download-a-document-file
api/en/metadata.yaml get /sites/{siteId}/documents/{documentId}
Downloads a specific document file associated with a site.
# Download a media file
Source: https://altostrat.io/docs/api/en/site-files/download-a-media-file
api/en/metadata.yaml get /sites/{siteId}/media/{mediaId}
Downloads a specific media file associated with a site.
# Get document upload URL
Source: https://altostrat.io/docs/api/en/site-files/get-document-upload-url
api/en/metadata.yaml post /sites/{siteId}/documents
Requests a pre-signed URL that can be used to upload a document file (e.g., PDF, DOCX) directly to secure storage. You should perform a PUT request to the returned `signed_url` with the file content as the request body.
# Get media upload URL
Source: https://altostrat.io/docs/api/en/site-files/get-media-upload-url
api/en/metadata.yaml post /sites/{siteId}/media
Requests a pre-signed URL that can be used to upload a media file (e.g., image, video) directly to secure storage. You should perform a PUT request to the returned `signed_url` with the file content as the request body.
# Get site note content
Source: https://altostrat.io/docs/api/en/site-files/get-site-note-content
api/en/metadata.yaml get /sites/{siteId}/notes/{noteId}
Downloads the raw Markdown content of a specific site note.
# List site notes
Source: https://altostrat.io/docs/api/en/site-files/list-site-notes
api/en/metadata.yaml get /sites/{siteId}/notes
Retrieves a list of all markdown notes associated with a specific site.
# Get Interface Metrics
Source: https://altostrat.io/docs/api/en/site-interfaces-&-metrics/get-interface-metrics
api/en/monitoring-metrics.yaml post /v1/monitoring/interfaces/{interfaceId}/metrics
Fetches time-series traffic metrics (ifInOctets for inbound, ifOutOctets for outbound) for a specific network interface over a given time period. The values are returned as bits per second.
# List Site Interfaces
Source: https://altostrat.io/docs/api/en/site-interfaces-&-metrics/list-site-interfaces
api/en/monitoring-metrics.yaml get /v1/monitoring/interfaces/{siteId}
Retrieves a list of all network interfaces monitored via SNMP for a specific site.
# Get API credentials for a site
Source: https://altostrat.io/docs/api/en/site-operations/get-api-credentials-for-a-site
api/en/control-plane.yaml get /sites/{siteId}/credentials
Retrieves the current API credentials for a site. These credentials are used by the Altostrat platform to manage the device.
# Get management server for a site
Source: https://altostrat.io/docs/api/en/site-operations/get-management-server-for-a-site
api/en/control-plane.yaml get /sites/{siteId}/management-server
Retrieves the hostname of the Altostrat management server currently responsible for the site's secure tunnel. This is useful for diagnostics.
# Perform an action on a site
Source: https://altostrat.io/docs/api/en/site-operations/perform-an-action-on-a-site
api/en/control-plane.yaml post /sites/{siteId}/action
Sends a command to a site to perform a specific, predefined action. This is used for remote operations like rebooting or clearing firewall rules.
Available actions: - `site.upgrade`: Triggers a software upgrade on the device. - `site.clear_firewall`: Clears the device's firewall rules. - `site.reboot`: Reboots the device. - `site.recreate_management_filter`: Re-applies the Altostrat management firewall rules. - `site.recreate_tunnel`: Tears down and rebuilds the secure tunnel to the platform. - `site.resend_api_user`: Pushes the current API user credentials to the device again.
# Rotate API credentials for a site
Source: https://altostrat.io/docs/api/en/site-operations/rotate-api-credentials-for-a-site
api/en/control-plane.yaml post /sites/{siteId}/credentials
Generates new API credentials for the specified site. The old credentials will be invalidated and replaced on the device.
# Attach BGP Policy to a Site
Source: https://altostrat.io/docs/api/en/site-security-configuration/attach-bgp-policy-to-a-site
api/en/utm-ips.yaml post /sites/{siteId}/bgp
Attaches a BGP Threat Intelligence policy to a specific site, activating IP reputation blocking for that site.
# Attach DNS Policy to a Site
Source: https://altostrat.io/docs/api/en/site-security-configuration/attach-dns-policy-to-a-site
api/en/utm-ips.yaml post /sites/{siteId}/dns
Attaches a DNS Content Filtering policy to a specific site, activating its rules for all traffic from that site.
# Detach BGP Policy from a Site
Source: https://altostrat.io/docs/api/en/site-security-configuration/detach-bgp-policy-from-a-site
api/en/utm-ips.yaml delete /sites/{siteId}/bgp
Detaches the currently active BGP Threat Intelligence policy from a specific site, deactivating IP reputation blocking.
# Detach DNS Policy from a Site
Source: https://altostrat.io/docs/api/en/site-security-configuration/detach-dns-policy-from-a-site
api/en/utm-ips.yaml delete /sites/{siteId}/dns
Detaches the currently active DNS Content Filtering policy from a specific site, deactivating its rules.
# List All Site Security Configurations
Source: https://altostrat.io/docs/api/en/site-security-configuration/list-all-site-security-configurations
api/en/utm-ips.yaml get /tunnel
Retrieves a list of all sites (tunnels) associated with your account and their current security policy attachments.
# Retrieve a Site's Security Configuration
Source: https://altostrat.io/docs/api/en/site-security-configuration/retrieve-a-sites-security-configuration
api/en/utm-ips.yaml get /tunnel/{siteId}
Retrieves the current DNS and BGP policy attachments for a specific site.
# List users for a site
Source: https://altostrat.io/docs/api/en/site-users/list-users-for-a-site
api/en/captive-portal.yaml get /sites/{siteId}/users
Retrieves a paginated list of users who have connected through the captive portal at a specific site.
# Delete a Site
Source: https://altostrat.io/docs/api/en/sites/delete-a-site
api/en/mikrotik-api.yaml delete /sites/{siteId}
Schedules a site for deletion. The device will be sent a command to remove its bootstrap scheduler, and after a grace period, the site record and all associated data will be permanently removed.
# Get Site Metadata
Source: https://altostrat.io/docs/api/en/sites/get-site-metadata
api/en/generative-ai.yaml get /sites/{siteId}/metadata
Retrieves freeform metadata associated with a specific site. This can include the router's assigned name, configured timezone, custom banner messages, notes, or other user-defined tags.
# Get Site Metrics
Source: https://altostrat.io/docs/api/en/sites/get-site-metrics
api/en/generative-ai.yaml get /sites/{siteId}/metrics
Retrieves uptime and downtime metrics for a specific site over the past 24 hours, based on heartbeat signals received by the Altostrat platform.
# Get Site OEM Information
Source: https://altostrat.io/docs/api/en/sites/get-site-oem-information
api/en/generative-ai.yaml get /sites/{siteId}/oem
Retrieves detailed Original Equipment Manufacturer (OEM) information for a specific deployed MikroTik router. This includes hardware specifications, serial numbers, CPU, RAM, and RouterOS license level.
# List All Sites
Source: https://altostrat.io/docs/api/en/sites/list-all-sites
api/en/generative-ai.yaml get /sites
Retrieves a simplified list of all sites (MikroTik routers) managed within the organization. This endpoint is optimized for performance and is ideal for populating user interfaces or obtaining site IDs for use in other API calls.
# List Recent Sites
Source: https://altostrat.io/docs/api/en/sites/list-recent-sites
api/en/mikrotik-api.yaml get /sites/recent
Returns a list of the 5 most recently accessed sites for the authenticated user, ordered by most recent access.
# List Sites
Source: https://altostrat.io/docs/api/en/sites/list-sites
api/en/mikrotik-api.yaml get /sites
Retrieves a paginated list of all MikroTik sites associated with the authenticated user's workspace.
# List Sites (Minimal)
Source: https://altostrat.io/docs/api/en/sites/list-sites-minimal
api/en/mikrotik-api.yaml get /site-minimal
Retrieves a condensed list of MikroTik sites, suitable for UI elements like navigation menus where only essential information is needed.
# Retrieve a Site
Source: https://altostrat.io/docs/api/en/sites/retrieve-a-site
api/en/mikrotik-api.yaml get /sites/{siteId}
Retrieves the complete details of a specific MikroTik site by its unique identifier (UUID).
# Update a Site
Source: https://altostrat.io/docs/api/en/sites/update-a-site
api/en/mikrotik-api.yaml patch /sites/{siteId}
Updates the mutable properties of a site, such as its name, location, or timezone. Only the fields provided in the request body will be updated.
# Create SLA Report Schedule
Source: https://altostrat.io/docs/api/en/sla-report-schedules/create-sla-report-schedule
api/en/reports.yaml post /sla/schedules
Creates a new SLA report schedule. This schedule defines a recurring report, including its frequency, site selection criteria, and SLA targets. The `id` for the schedule will be generated by the server.
# Delete a Report Schedule
Source: https://altostrat.io/docs/api/en/sla-report-schedules/delete-a-report-schedule
api/en/reports.yaml delete /sla/schedules/{scheduleId}
Permanently deletes an SLA report schedule. This action cannot be undone.
# List SLA Report Schedules
Source: https://altostrat.io/docs/api/en/sla-report-schedules/list-sla-report-schedules
api/en/reports.yaml get /sla/schedules
Retrieves a list of all configured SLA report schedules for the authenticated customer's workspace.
# Retrieve a Report Schedule
Source: https://altostrat.io/docs/api/en/sla-report-schedules/retrieve-a-report-schedule
api/en/reports.yaml get /sla/schedules/{scheduleId}
Retrieves the details of a single SLA report schedule by its unique ID.
# Run a Report On-Demand
Source: https://altostrat.io/docs/api/en/sla-report-schedules/run-a-report-on-demand
api/en/reports.yaml post /sla/schedules/{scheduleId}/run
Triggers an immediate, on-demand generation of a report for a specified date range. This does not affect the regular schedule. The report generation is asynchronous and the result will appear in the Generated Reports list when complete.
# Update a Report Schedule
Source: https://altostrat.io/docs/api/en/sla-report-schedules/update-a-report-schedule
api/en/reports.yaml put /sla/schedules/{scheduleId}
Updates the configuration of an existing SLA report schedule.
# Cancel a subscription
Source: https://altostrat.io/docs/api/en/subscriptions/cancel-a-subscription
api/en/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Cancels a subscription at the end of the current billing period. This operation cannot be performed if it would leave the workspace or billing account with insufficient capacity for its current resource usage.
# Check trial eligibility
Source: https://altostrat.io/docs/api/en/subscriptions/check-trial-eligibility
api/en/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/trial-eligibility
Checks if a workspace is eligible for a 14-day free trial. A workspace is eligible if it has only one billing account and no existing subscriptions.
# Create a subscription
Source: https://altostrat.io/docs/api/en/subscriptions/create-a-subscription
api/en/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Creates a new Stripe subscription for a billing account. If the workspace is eligible for a trial, a 14-day trial subscription is created without requiring a payment method. Otherwise, a default payment method must be present on the billing account.
# List subscriptions
Source: https://altostrat.io/docs/api/en/subscriptions/list-subscriptions
api/en/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Returns a list of subscriptions associated with a billing account.
# Retrieve a subscription
Source: https://altostrat.io/docs/api/en/subscriptions/retrieve-a-subscription
api/en/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Retrieves the details of a specific subscription.
# Update a subscription
Source: https://altostrat.io/docs/api/en/subscriptions/update-a-subscription
api/en/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Updates a subscription. This endpoint supports multiple distinct operations. You can change product quantities, add or remove products, update metadata, or perform an action like `pause`, `resume`, or `sync`. Only one type of operation (e.g., `product_quantities`, `add_products`, `action`) is allowed per request.
# Apply a tag to a resource
Source: https://altostrat.io/docs/api/en/tag-values/apply-a-tag-to-a-resource
api/en/metadata.yaml post /tags/{tagId}/values
Applies a tag with a specific value to a resource, identified by its `correlation_id` and `correlation_type`. If a tag with the same value (case-insensitive) already exists for this tag definition, the existing canonical value will be used.
# Find resources by tag value
Source: https://altostrat.io/docs/api/en/tag-values/find-resources-by-tag-value
api/en/metadata.yaml get /tags/{tagId}/resources
Retrieves a list of all resources that have a specific tag applied with a specific value. This is a powerful query for filtering resources based on their classifications.
# List tags for a resource
Source: https://altostrat.io/docs/api/en/tag-values/list-tags-for-a-resource
api/en/metadata.yaml get /resources/{correlationId}/tags
Retrieves all tags that have been applied to a specific resource.
# List unique values for a tag
Source: https://altostrat.io/docs/api/en/tag-values/list-unique-values-for-a-tag
api/en/metadata.yaml get /tags/{tagId}/values
Retrieves a list of unique values that have been applied to resources using a specific tag definition. This is useful for populating dropdowns or autocomplete fields in a UI.
# Remove a tag from a resource
Source: https://altostrat.io/docs/api/en/tag-values/remove-a-tag-from-a-resource
api/en/metadata.yaml delete /tags/{tagId}/values/{correlationId}
Removes a specific tag from a resource. This does not delete the tag definition itself.
# Update a tag on a resource
Source: https://altostrat.io/docs/api/en/tag-values/update-a-tag-on-a-resource
api/en/metadata.yaml put /tags/{tagId}/values/{correlationId}
Updates the value of a tag on a specific resource. This is effectively the same as creating a new tag value, as it will overwrite any existing value for that tag on the resource.
# Create a tag definition
Source: https://altostrat.io/docs/api/en/tags/create-a-tag-definition
api/en/metadata.yaml post /tags
Creates a new tag definition. A tag definition acts as a template or category (e.g., "Site Type", "Priority") that can then be applied to various resources.
# Delete a tag definition
Source: https://altostrat.io/docs/api/en/tags/delete-a-tag-definition
api/en/metadata.yaml delete /tags/{tagId}
Permanently deletes a tag definition and all of its associated values from all resources. This action cannot be undone.
# List all tag definitions
Source: https://altostrat.io/docs/api/en/tags/list-all-tag-definitions
api/en/metadata.yaml get /tags
Retrieves a list of all tag definitions for your workspace. Each tag definition includes its key, color, and a list of all values currently applied to resources. This is useful for understanding the available classification schemes in your environment.
# Retrieve a tag definition
Source: https://altostrat.io/docs/api/en/tags/retrieve-a-tag-definition
api/en/metadata.yaml get /tags/{tagId}
Retrieves the details of a specific tag definition by its unique ID. This includes all the values that have been applied to resources using this tag.
# Update a tag definition
Source: https://altostrat.io/docs/api/en/tags/update-a-tag-definition
api/en/metadata.yaml put /tags/{tagId}
Updates the properties of an existing tag definition, such as its key or color.
# List Available Topics
Source: https://altostrat.io/docs/api/en/topics/list-available-topics
api/en/notifications.yaml get /notifications/topics
Retrieves a list of all available notification topics. These are the event categories that notification groups can subscribe to.
# Create a transient access session
Source: https://altostrat.io/docs/api/en/transient-access/create-a-transient-access-session
api/en/control-plane.yaml post /sites/{siteId}/transient-accesses
Creates a temporary, secure session for accessing a site via Winbox or SSH. The session is automatically revoked after the specified duration.
# List transient accesses for a site
Source: https://altostrat.io/docs/api/en/transient-access/list-transient-accesses-for-a-site
api/en/control-plane.yaml get /sites/{siteId}/transient-accesses
Retrieves a list of all active and expired transient access sessions for a specific site.
# Retrieve a transient access session
Source: https://altostrat.io/docs/api/en/transient-access/retrieve-a-transient-access-session
api/en/control-plane.yaml get /sites/{siteId}/transient-accesses/{accessId}
Retrieves the details of a single transient access session.
# Revoke a transient access session
Source: https://altostrat.io/docs/api/en/transient-access/revoke-a-transient-access-session
api/en/control-plane.yaml delete /sites/{siteId}/transient-accesses/{accessId}
Immediately revokes an active transient access session, terminating the connection and preventing further access.
# Create a transient port forward
Source: https://altostrat.io/docs/api/en/transient-port-forwarding/create-a-transient-port-forward
api/en/control-plane.yaml post /sites/{siteId}/transient-forward
Creates a temporary, secure port forwarding rule. This allows you to access a device (e.g., a server or camera) on the LAN behind your MikroTik site from a specific public IP address.
# List transient port forwards for a site
Source: https://altostrat.io/docs/api/en/transient-port-forwarding/list-transient-port-forwards-for-a-site
api/en/control-plane.yaml get /sites/{siteId}/transient-forward
Retrieves a list of all active and expired transient port forwarding rules for a specific site.
# Retrieve a transient port forward
Source: https://altostrat.io/docs/api/en/transient-port-forwarding/retrieve-a-transient-port-forward
api/en/control-plane.yaml get /sites/{siteId}/transient-forward/{forwardId}
Retrieves the details of a single transient port forwarding rule.
# Revoke a transient port forward
Source: https://altostrat.io/docs/api/en/transient-port-forwarding/revoke-a-transient-port-forward
api/en/control-plane.yaml delete /sites/{siteId}/transient-forward/{forwardId}
Immediately revokes an active port forwarding rule, closing the connection.
# List available node types
Source: https://altostrat.io/docs/api/en/utilities/list-available-node-types
api/en/workflows.yaml get /workflows/node-types
Retrieves a list of all available node types (triggers, actions, and conditions) that can be used to build workflows, along with their configuration schemas.
# List available server regions
Source: https://altostrat.io/docs/api/en/utilities/list-available-server-regions
api/en/managed-vpn.yaml get /servers/regions
Retrieves a structured list of all available geographical regions where a VPN instance can be deployed.
# List subnets for a site
Source: https://altostrat.io/docs/api/en/utilities/list-subnets-for-a-site
api/en/managed-vpn.yaml get /site/{siteId}/subnets
Retrieves a list of available subnets for a specific site, which is useful when configuring site-to-site peers.
# Test a single node
Source: https://altostrat.io/docs/api/en/utilities/test-a-single-node
api/en/workflows.yaml post /workflows/test-node
Executes a single workflow node in isolation with a provided context. This is a powerful debugging tool to test a node's logic without running an entire workflow.
# Create a vault item
Source: https://altostrat.io/docs/api/en/vault/create-a-vault-item
api/en/workflows.yaml post /vault
Creates a new item in the vault for storing sensitive information like API keys or passwords. The secret value is encrypted at rest and can only be used by workflows.
# Delete a vault item
Source: https://altostrat.io/docs/api/en/vault/delete-a-vault-item
api/en/workflows.yaml delete /vault/{vaultId}
Permanently deletes a vault item. This action cannot be undone. Any workflows using this item will fail.
# List vault items
Source: https://altostrat.io/docs/api/en/vault/list-vault-items
api/en/workflows.yaml get /vault
Retrieves a list of all secret items stored in your organization's vault. The secret values themselves are never returned.
# Retrieve a vault item
Source: https://altostrat.io/docs/api/en/vault/retrieve-a-vault-item
api/en/workflows.yaml get /vault/{vaultId}
Retrieves the details of a single vault item by its prefixed ID. The secret value is never returned.
# Update a vault item
Source: https://altostrat.io/docs/api/en/vault/update-a-vault-item
api/en/workflows.yaml put /vault/{vaultId}
Updates an existing vault item, such as its name, secret value, or expiration date.
# Get CVEs by MAC Address
Source: https://altostrat.io/docs/api/en/vulnerability-intelligence/get-cves-by-mac-address
api/en/cve-scans.yaml post /scans/cve/mac-address/cves
Retrieves all discovered vulnerabilities (CVEs) associated with a specific list of MAC addresses across all historical scans. This is the primary endpoint for tracking a device's vulnerability history.
Note: This endpoint uses POST to allow for querying multiple MAC addresses in the request body, which is more robust and secure than a lengthy GET URL.
# Get Mitigation Steps
Source: https://altostrat.io/docs/api/en/vulnerability-intelligence/get-mitigation-steps
api/en/cve-scans.yaml get /scans/cve/mitigation/{cve_id}
Provides AI-generated, actionable mitigation steps for a specific CVE identifier. The response is formatted in Markdown for easy rendering.
# List All Scanned MAC Addresses
Source: https://altostrat.io/docs/api/en/vulnerability-intelligence/list-all-scanned-mac-addresses
api/en/cve-scans.yaml get /scans/cve/mac-address/cve/list
Retrieves a list of all unique MAC addresses that have been discovered across all scans for your account. This can be used to populate a device inventory or to discover which devices to query for CVEs.
# List CVE Statuses
Source: https://altostrat.io/docs/api/en/vulnerability-management/list-cve-statuses
api/en/cve-scans.yaml get /scans/cve/mac-address/cve/status
Retrieves a list of all managed CVE statuses. You can filter the results by MAC address, CVE ID, or status to find specific records.
# Update CVE Status
Source: https://altostrat.io/docs/api/en/vulnerability-management/update-cve-status
api/en/cve-scans.yaml post /scans/cve/mac-address/cve/status
Updates the status of a specific CVE for a given MAC address. Use this to mark a vulnerability as 'accepted' (e.g., a false positive or acceptable risk) or 'mitigated' (e.g., a patch has been applied or a workaround is in place). Each update creates a new historical record.
# Create a walled garden entry
Source: https://altostrat.io/docs/api/en/walled-garden/create-a-walled-garden-entry
api/en/captive-portal.yaml post /sites/{siteId}/walled-garden-entries
Adds a new IP address or subnet to the walled garden for a specific site, allowing users to access it before authenticating.
# Delete a walled garden entry
Source: https://altostrat.io/docs/api/en/walled-garden/delete-a-walled-garden-entry
api/en/captive-portal.yaml delete /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Removes an entry from the walled garden, blocking pre-authentication access to the specified IP address or subnet.
# List walled garden entries for a site
Source: https://altostrat.io/docs/api/en/walled-garden/list-walled-garden-entries-for-a-site
api/en/captive-portal.yaml get /sites/{siteId}/walled-garden-entries
Retrieves a list of all walled garden entries (allowed pre-authentication destinations) for a specific site.
# Retrieve a walled garden entry
Source: https://altostrat.io/docs/api/en/walled-garden/retrieve-a-walled-garden-entry
api/en/captive-portal.yaml get /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Retrieves the details of a specific walled garden entry.
# Update a walled garden entry
Source: https://altostrat.io/docs/api/en/walled-garden/update-a-walled-garden-entry
api/en/captive-portal.yaml put /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Updates the details of a walled garden entry, such as its name. The IP address cannot be changed.
# Get Aggregated Ping Statistics
Source: https://altostrat.io/docs/api/en/wan-tunnels-&-performance/get-aggregated-ping-statistics
api/en/monitoring-metrics.yaml post /v1/monitoring/wan/ping-stats
Fetches aggregated time-series data for latency, jitter (mdev), and packet loss for one or more WAN tunnels over a specified time period. If no tunnels are specified, it returns an aggregated average across all tunnels. This endpoint is optimized for creating performance charts with a specified number of data points.
# List Site WAN Tunnels
Source: https://altostrat.io/docs/api/en/wan-tunnels-&-performance/list-site-wan-tunnels
api/en/monitoring-metrics.yaml get /v1/monitoring/wan-tunnels/{siteId}
Retrieves a list of all configured SD-WAN tunnels for a specific site.
# Add a new WAN Tunnel
Source: https://altostrat.io/docs/api/en/wan-tunnels/add-a-new-wan-tunnel
api/en/wan-failover.yaml post /v1/failover/{site_id}/tunnels
Creates a new, unconfigured WAN tunnel for the site, up to the maximum allowed by the subscription. After creation, you must use a `PUT` request to `/v1/failover/{site_id}/tunnels/{tunnel_id}` to configure its properties like interface and gateway.
# Configure a WAN Tunnel
Source: https://altostrat.io/docs/api/en/wan-tunnels/configure-a-wan-tunnel
api/en/wan-failover.yaml put /v1/failover/{site_id}/tunnels/{tunnel_id}
Updates the configuration of a specific WAN tunnel. This is the primary endpoint for defining how a WAN connection operates, including its router interface, gateway, and connection type.
# Delete a WAN Tunnel
Source: https://altostrat.io/docs/api/en/wan-tunnels/delete-a-wan-tunnel
api/en/wan-failover.yaml delete /v1/failover/{site_id}/tunnels/{tunnel_id}
Permanently deletes a WAN tunnel from the failover configuration. The system will automatically re-prioritize the remaining tunnels.
# Get a Specific Tunnel
Source: https://altostrat.io/docs/api/en/wan-tunnels/get-a-specific-tunnel
api/en/wan-failover.yaml get /v1/failover/{site_id}/tunnels/{tunnel_id}
Retrieves the detailed configuration and status of a single WAN tunnel.
# List Tunnels for a Site
Source: https://altostrat.io/docs/api/en/wan-tunnels/list-tunnels-for-a-site
api/en/wan-failover.yaml get /v1/failover/{site_id}/tunnels
Retrieves a detailed list of all WAN tunnels configured for a specific site.
# Update Tunnel Priorities
Source: https://altostrat.io/docs/api/en/wan-tunnels/update-tunnel-priorities
api/en/wan-failover.yaml post /v1/failover/{site_id}/priorities
Re-orders the failover priority for all tunnels associated with a site. This is an atomic operation; you must provide a complete list of all tunnels and their desired new priorities. The lowest number represents the highest priority.
# Trigger a workflow via webhook
Source: https://altostrat.io/docs/api/en/webhooks/trigger-a-workflow-via-webhook
api/en/workflows.yaml post /workflows/webhooks/{webhookToken}
A public endpoint to trigger a workflow that has a `webhook_trigger`. Authentication is handled by the unique, secret token in the URL path. The entire request body will be available in the workflow's context.
# Execute a workflow
Source: https://altostrat.io/docs/api/en/workflow-runs/execute-a-workflow
api/en/workflows.yaml post /workflows/{workflowId}/execute
Manually triggers the execution of a workflow. The workflow will run asynchronously in the background. The response acknowledges that the execution has been accepted and provides the ID of the new workflow run.
# List workflow runs
Source: https://altostrat.io/docs/api/en/workflow-runs/list-workflow-runs
api/en/workflows.yaml get /workflows/{workflowId}/executions
Retrieves a paginated list of all past and current executions (runs) for a specific workflow, ordered by the most recent.
# Re-run a workflow
Source: https://altostrat.io/docs/api/en/workflow-runs/re-run-a-workflow
api/en/workflows.yaml post /workflows/runs/{runId}/rerun
Creates a new workflow run using the same initial trigger payload as a previous run. This is useful for re-trying a failed or completed execution with the original input data.
# Resume a failed workflow
Source: https://altostrat.io/docs/api/en/workflow-runs/resume-a-failed-workflow
api/en/workflows.yaml post /workflows/runs/{runId}/resume-from/{nodeId}
Resumes a failed workflow run from a specific, successfully completed node. A new workflow run is created, inheriting the context from the original run up to the specified node, and execution continues from there.
# Retrieve a workflow run
Source: https://altostrat.io/docs/api/en/workflow-runs/retrieve-a-workflow-run
api/en/workflows.yaml get /workflows/runs/{runId}
Retrieves the details of a single workflow run, including its status, trigger payload, error message (if any), and a complete, ordered log of every step that was executed.
# Create a new workflow
Source: https://altostrat.io/docs/api/en/workflows/create-a-new-workflow
api/en/workflows.yaml post /workflows
Creates a new workflow definition, including its nodes and edges that define the automation graph. A valid workflow must have exactly one trigger node.
# Delete a workflow
Source: https://altostrat.io/docs/api/en/workflows/delete-a-workflow
api/en/workflows.yaml delete /workflows/{workflowId}
Permanently deletes a workflow and all of its associated runs and logs. This action cannot be undone. A workflow cannot be deleted if it is being called by another workflow.
# Execute a synchronous workflow
Source: https://altostrat.io/docs/api/en/workflows/execute-a-synchronous-workflow
api/en/workflows.yaml post /workflows/sync/{workflowId}
Executes a workflow that contains a `sync_request_trigger` and immediately returns the result. The workflow must be designed for synchronous execution, meaning it cannot contain long-running tasks like delays or iterators. The final node must be a `text_transform` node configured as the response.
# List all workflows
Source: https://altostrat.io/docs/api/en/workflows/list-all-workflows
api/en/workflows.yaml get /workflows
Retrieves a list of all workflows belonging to your organization. This endpoint is useful for dashboard displays or for selecting a workflow to execute or edit.
# Retrieve a workflow
Source: https://altostrat.io/docs/api/en/workflows/retrieve-a-workflow
api/en/workflows.yaml get /workflows/{workflowId}
Retrieves the complete details of a single workflow by its prefixed ID, including its full node and edge configuration.
# Update a workflow
Source: https://altostrat.io/docs/api/en/workflows/update-a-workflow
api/en/workflows.yaml put /workflows/{workflowId}
Updates an existing workflow. You can update any property, including the name, description, active status, schedule, or the entire graph of nodes and edges.
# Add a member to a workspace
Source: https://altostrat.io/docs/api/en/workspace-members/add-a-member-to-a-workspace
api/en/workspaces.yaml post /workspaces/{workspaceId}/members
Adds a new user to a workspace with a specified role. Only workspace owners and admins can add new members. A workspace cannot have more than 100 members.
# List workspace members
Source: https://altostrat.io/docs/api/en/workspace-members/list-workspace-members
api/en/workspaces.yaml get /workspaces/{workspaceId}/members
Returns a list of users who are members of the specified workspace, including their roles.
# Remove a member from a workspace
Source: https://altostrat.io/docs/api/en/workspace-members/remove-a-member-from-a-workspace
api/en/workspaces.yaml delete /workspaces/{workspaceId}/members/{memberId}
Removes a member from a workspace. A user can remove themselves, or an owner/admin can remove other members. The last owner of a workspace cannot be removed.
# Update a member's role
Source: https://altostrat.io/docs/api/en/workspace-members/update-a-members-role
api/en/workspaces.yaml patch /workspaces/{workspaceId}/members/{memberId}
Updates the role of an existing member in a workspace. Role changes are subject to hierarchy rules; for example, an admin cannot promote another member to an owner.
# Archive a workspace
Source: https://altostrat.io/docs/api/en/workspaces/archive-a-workspace
api/en/workspaces.yaml delete /workspaces/{workspaceId}
Archives a workspace, preventing any further modifications. A workspace cannot be archived if it contains organizations with active resource usage or billing accounts with active subscriptions. This is a soft-delete operation. Only workspace owners can perform this action.
# Create a workspace
Source: https://altostrat.io/docs/api/en/workspaces/create-a-workspace
api/en/workspaces.yaml post /workspaces
Creates a new workspace, which acts as a top-level container for your resources, users, and billing configurations. The user creating the workspace is automatically assigned the 'owner' role.
# List workspaces
Source: https://altostrat.io/docs/api/en/workspaces/list-workspaces
api/en/workspaces.yaml get /workspaces
Returns a list of workspaces the authenticated user is a member of.
# Retrieve a workspace
Source: https://altostrat.io/docs/api/en/workspaces/retrieve-a-workspace
api/en/workspaces.yaml get /workspaces/{workspaceId}
Retrieves the details of an existing workspace. You must be a member of the workspace to retrieve it.
# Update a workspace
Source: https://altostrat.io/docs/api/en/workspaces/update-a-workspace
api/en/workspaces.yaml patch /workspaces/{workspaceId}
Updates the specified workspace by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Only workspace owners and admins can perform this action.
# Generar un token de acceso temporal
Source: https://altostrat.io/docs/api/es/access-tokens/generar-un-token-de-acceso-temporal
api/es/faults.yaml post /token
Genera un JSON Web Token (JWT) de corta duración que se puede utilizar para proporcionar acceso temporal de solo lectura a datos de fallos específicos, generalmente para incrustar en paneles de control externos.
# Obtener fallos recientes (Heredado)
Source: https://altostrat.io/docs/api/es/analytics/obtener-fallos-recientes-heredado
api/es/faults.yaml get /recent
Recupera una lista de fallos recientes. Este endpoint proporciona una vista específica de la salud de la red: devuelve todos los fallos actualmente no resueltos, más cualquier fallo que se haya resuelto en los últimos 10 minutos.
**Nota:** Este es un endpoint heredado que se mantiene por compatibilidad con versiones anteriores. Para consultas más flexibles, recomendamos usar el endpoint principal `GET /faults` con los filtros apropiados.
# Obtener los principales recursos con fallos
Source: https://altostrat.io/docs/api/es/analytics/obtener-los-principales-recursos-con-fallos
api/es/faults.yaml get /top_faults
Recupera una lista de los 10 recursos con fallos más frecuentes en los últimos 14 días, junto con una muestra de sus eventos de fallo más recientes. Esto es útil para identificar áreas problemáticas en su red.
# Actualizar Entrada ARP
Source: https://altostrat.io/docs/api/es/arp-inventory/actualizar-entrada-arp
api/es/monitoring-metrics.yaml put /v1/monitoring/arps/{siteId}/{arpEntryId}
Actualiza los metadatos de una entrada ARP específica, como asignarla a un grupo o establecer un alias personalizado.
# Buscar Entradas ARP
Source: https://altostrat.io/docs/api/es/arp-inventory/buscar-entradas-arp
api/es/monitoring-metrics.yaml post /v1/monitoring/arps
Realiza una búsqueda paginada de entradas ARP en uno o más sitios, con opciones para filtrar y ordenar. Este es el endpoint principal para construir un inventario de dispositivos conectados.
# Actualizar una integración de autenticación
Source: https://altostrat.io/docs/api/es/auth-integrations/actualizar-una-integración-de-autenticación
api/es/captive-portal.yaml put /auth-integrations/{authIntegrationId}
Actualiza la configuración de una integración de autenticación existente.
# Crear una integración de autenticación
Source: https://altostrat.io/docs/api/es/auth-integrations/crear-una-integración-de-autenticación
api/es/captive-portal.yaml post /auth-integrations
Crea una nueva integración de autenticación para usar con instancias de portal cautivo que tienen una estrategia 'oauth2'.
# Eliminar una integración de autenticación
Source: https://altostrat.io/docs/api/es/auth-integrations/eliminar-una-integración-de-autenticación
api/es/captive-portal.yaml delete /auth-integrations/{authIntegrationId}
Elimina permanentemente una integración de autenticación. Esta acción no se puede deshacer y puede afectar a las instancias de portal cautivo que dependen de ella.
# Listar todas las integraciones de autenticación
Source: https://altostrat.io/docs/api/es/auth-integrations/listar-todas-las-integraciones-de-autenticación
api/es/captive-portal.yaml get /auth-integrations
Recupera una lista de todas las integraciones de autenticación OAuth2 (IDPs) configuradas para la cuenta del usuario.
# Obtener una integración de autenticación
Source: https://altostrat.io/docs/api/es/auth-integrations/obtener-una-integración-de-autenticación
api/es/captive-portal.yaml get /auth-integrations/{authIntegrationId}
Recupera los detalles de una integración de autenticación específica por su ID único.
# Actualizar una Política BGP
Source: https://altostrat.io/docs/api/es/bgp-threat-intelligence/actualizar-una-política-bgp
api/es/utm-ips.yaml put /bgp/policy/{policyId}
Actualiza las propiedades de una política BGP existente, incluyendo su nombre, estado, listas de IP seleccionadas y vinculaciones a sitios.
# Crear una Política de Inteligencia de Amenazas BGP
Source: https://altostrat.io/docs/api/es/bgp-threat-intelligence/crear-una-política-de-inteligencia-de-amenazas-bgp
api/es/utm-ips.yaml post /bgp/policy
Crea una nueva política BGP, especificando qué listas de reputación de IP usar para bloquear tráfico.
# Eliminar una Política BGP
Source: https://altostrat.io/docs/api/es/bgp-threat-intelligence/eliminar-una-política-bgp
api/es/utm-ips.yaml delete /bgp/policy/{policyId}
Elimina permanentemente una política BGP. Esta operación fallará si la política está actualmente vinculada a uno o más sitios.
# Listar Listas de Reputación de IP BGP
Source: https://altostrat.io/docs/api/es/bgp-threat-intelligence/listar-listas-de-reputación-de-ip-bgp
api/es/utm-ips.yaml get /bgp/category
Recupera una lista de todas las listas de reputación de IP BGP disponibles que se pueden incluir en una política BGP.
# Listar Políticas de Inteligencia de Amenazas BGP
Source: https://altostrat.io/docs/api/es/bgp-threat-intelligence/listar-políticas-de-inteligencia-de-amenazas-bgp
api/es/utm-ips.yaml get /bgp/policy
Recupera una lista de todas las políticas de Inteligencia de Amenazas BGP asociadas a su cuenta.
# Obtener una Política BGP
Source: https://altostrat.io/docs/api/es/bgp-threat-intelligence/obtener-una-política-bgp
api/es/utm-ips.yaml get /bgp/policy/{policyId}
Recupera los detalles de una política de Inteligencia de Amenazas BGP específica por su identificador único.
# Actualizar una cuenta de facturación
Source: https://altostrat.io/docs/api/es/billing-accounts/actualizar-una-cuenta-de-facturación
api/es/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Actualiza los detalles de una cuenta de facturación. Cualquier parámetro no proporcionado se dejará sin cambios. Esta operación también actualiza el objeto Cliente correspondiente en Stripe.
# Crear una cuenta de facturación
Source: https://altostrat.io/docs/api/es/billing-accounts/crear-una-cuenta-de-facturación
api/es/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts
Crea una nueva cuenta de facturación dentro de un espacio de trabajo. Esto también crea un objeto Cliente correspondiente en Stripe. El comportamiento está restringido por el modo de facturación del espacio de trabajo; para el modo `single`, solo se puede crear una cuenta de facturación. Para los modos `pooled` y `assigned`, se pueden crear hasta 10.
# Eliminar una cuenta de facturación
Source: https://altostrat.io/docs/api/es/billing-accounts/eliminar-una-cuenta-de-facturación
api/es/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Elimina permanentemente una cuenta de facturación. Esta acción no se puede deshacer. Una cuenta de facturación no puede ser eliminada si tiene suscripciones activas.
# Listar cuentas de facturación
Source: https://altostrat.io/docs/api/es/billing-accounts/listar-cuentas-de-facturación
api/es/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts
Devuelve una lista de cuentas de facturación asociadas con un espacio de trabajo.
# Obtener una cuenta de facturación
Source: https://altostrat.io/docs/api/es/billing-accounts/obtener-una-cuenta-de-facturación
api/es/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Obtiene los detalles de una cuenta de facturación específica.
# Buscar Recursos del Tenant
Source: https://altostrat.io/docs/api/es/búsqueda/buscar-recursos-del-tenant
api/es/search.yaml get /search
Realiza una búsqueda de texto completo en todos los recursos indexados dentro del tenant del usuario autenticado.
Los resultados se limitan automáticamente a la organización del usuario. Puede refinar aún más la búsqueda proporcionando un `workspace_id` específico o filtrando por `types` de recurso. La consulta admite coincidencias aproximadas (fuzzy matching) y tolerancia a errores tipográficos para una mejor experiencia de usuario.
# Actualizar una instancia de portal cautivo
Source: https://altostrat.io/docs/api/es/captive-portal-instances/actualizar-una-instancia-de-portal-cautivo
api/es/captive-portal.yaml put /instances/{instanceId}
Actualiza la configuración de una instancia de portal cautivo específica, incluyendo su tema, sitios, subredes y otros ajustes.
# Crear una instancia de portal cautivo
Source: https://altostrat.io/docs/api/es/captive-portal-instances/crear-una-instancia-de-portal-cautivo
api/es/captive-portal.yaml post /instances
Crea una nueva instancia de portal cautivo con una configuración básica. Se pueden agregar más detalles, como temas y sitios, a través de una operación de actualización.
# Eliminar una instancia de portal cautivo
Source: https://altostrat.io/docs/api/es/captive-portal-instances/eliminar-una-instancia-de-portal-cautivo
api/es/captive-portal.yaml delete /instances/{instanceId}
Elimina permanentemente una instancia de portal cautivo y todas las subredes, sitios, cupones y activos asociados. Esta acción no se puede deshacer.
# Listar todas las instancias del portal cautivo
Source: https://altostrat.io/docs/api/es/captive-portal-instances/listar-todas-las-instancias-del-portal-cautivo
api/es/captive-portal.yaml get /instances
Recupera una lista de todas las instancias del portal cautivo accesibles para el usuario autenticado.
# Obtener una instancia de portal cautivo
Source: https://altostrat.io/docs/api/es/captive-portal-instances/obtener-una-instancia-de-portal-cautivo
api/es/captive-portal.yaml get /instances/{instanceId}
Recupera los detalles completos de una instancia de portal cautivo específica por su ID único.
# Subir una imagen de instancia
Source: https://altostrat.io/docs/api/es/captive-portal-instances/subir-una-imagen-de-instancia
api/es/captive-portal.yaml post /instances/{instanceId}/images/{type}
Sube un logotipo o icono para una instancia de portal cautivo específica. La imagen se almacenará y se servirá a través de una URL firmada en el tema de la instancia.
# Añadir un comentario a un fallo
Source: https://altostrat.io/docs/api/es/comments/añadir-un-comentario-a-un-fallo
api/es/faults.yaml post /faults/{faultId}/comment
Añade un nuevo comentario a un fallo existente. Los comentarios son útiles para rastrear los pasos de solución de problemas, añadir contexto o comunicarse con los miembros del equipo sobre un incidente.
# Comparar dos Copias de Seguridad
Source: https://altostrat.io/docs/api/es/copias-de-seguridad/comparar-dos-copias-de-seguridad
api/es/backups.yaml get /sites/{siteId}/backups/{fromFilename}/diff/{toFilename}
Genera un diff unificado entre dos archivos de copia de seguridad para un sitio, mostrando los cambios de configuración precisos. Esto es invaluable para auditar cambios y comprender la evolución de la red.
# Listar Copias de Seguridad de un Sitio
Source: https://altostrat.io/docs/api/es/copias-de-seguridad/listar-copias-de-seguridad-de-un-sitio
api/es/backups.yaml get /sites/{siteId}/backups
Recupera una lista de todos los archivos de copia de seguridad de configuración disponibles para un sitio específico, ordenados del más nuevo al más antiguo. Esto le permite ver el historial completo de las configuraciones capturadas para un dispositivo.
# Recuperar una Copia de Seguridad Específica
Source: https://altostrat.io/docs/api/es/copias-de-seguridad/recuperar-una-copia-de-seguridad-específica
api/es/backups.yaml get /sites/{siteId}/backups/{filename}
Obtiene el contenido de un archivo de copia de seguridad específico. El formato de la respuesta puede controlarse mediante cabeceras HTTP para devolver metadatos JSON, texto sin formato, HTML resaltado o un archivo descargable.
# Solicitar una Nueva Copia de Seguridad
Source: https://altostrat.io/docs/api/es/copias-de-seguridad/solicitar-una-nueva-copia-de-seguridad
api/es/backups.yaml post /sites/{siteId}/backups
Desencadena de forma asíncrona una nueva copia de seguridad de configuración para el sitio especificado. El proceso de copia de seguridad se ejecuta en segundo plano. Este endpoint responde inmediatamente con un estado que indica que la solicitud ha sido aceptada para su procesamiento.
# Actualizar una programación de cupones
Source: https://altostrat.io/docs/api/es/coupon-schedules/actualizar-una-programación-de-cupones
api/es/captive-portal.yaml put /instances/{instanceId}/coupon-schedules/{scheduleId}
Actualiza la configuración de una programación de cupones existente.
# Crear una programación de cupones
Source: https://altostrat.io/docs/api/es/coupon-schedules/crear-una-programación-de-cupones
api/es/captive-portal.yaml post /instances/{instanceId}/coupon-schedules
Crea una nueva programación para generar cupones automáticamente de forma recurrente (diaria, semanal o mensual).
# Ejecutar una programación de cupones ahora
Source: https://altostrat.io/docs/api/es/coupon-schedules/ejecutar-una-programación-de-cupones-ahora
api/es/captive-portal.yaml post /instances/{instanceId}/coupon-schedules/{scheduleId}/run
Activa manualmente una programación de cupones para generar un nuevo lote de cupones inmediatamente, fuera de su recurrencia normal.
# Eliminar una programación de cupones
Source: https://altostrat.io/docs/api/es/coupon-schedules/eliminar-una-programación-de-cupones
api/es/captive-portal.yaml delete /instances/{instanceId}/coupon-schedules/{scheduleId}
Elimina permanentemente una programación de cupones. Esto no eliminará los cupones que ya han sido generados por la programación.
# Generar una URL firmada de cupones
Source: https://altostrat.io/docs/api/es/coupon-schedules/generar-una-url-firmada-de-cupones
api/es/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}/generate-url
Crea una URL temporal y firmada que se puede usar para recuperar la lista de cupones válidos generados por una programación específica. Esto es útil para distribuir cupones a sistemas de terceros sin exponer claves de API. La URL es válida por 24 horas.
# Listar programaciones de cupones
Source: https://altostrat.io/docs/api/es/coupon-schedules/listar-programaciones-de-cupones
api/es/captive-portal.yaml get /instances/{instanceId}/coupon-schedules
Recupera una lista de todas las programaciones de generación de cupones para una instancia de portal cautivo específica.
# Obtener una programación de cupones
Source: https://altostrat.io/docs/api/es/coupon-schedules/obtener-una-programación-de-cupones
api/es/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}
Recupera los detalles de una programación de cupones específica por su ID.
# Crear cupones
Source: https://altostrat.io/docs/api/es/coupons/crear-cupones
api/es/captive-portal.yaml post /instances/{instanceId}/coupons
Genera un lote de cupones de un solo uso para una instancia de portal cautivo especificada.
# Listar cupones válidos para una instancia
Source: https://altostrat.io/docs/api/es/coupons/listar-cupones-válidos-para-una-instancia
api/es/captive-portal.yaml get /instances/{instanceId}/coupons
Recupera una lista de todos los cupones válidos (no canjeados y no caducados) para una instancia de portal cautivo específica.
# Obtener Rendimiento de la Red
Source: https://altostrat.io/docs/api/es/dashboard/obtener-rendimiento-de-la-red
api/es/monitoring-metrics.yaml get /v1/monitoring/dashboard/throughput
Recupera datos de series temporales que representan el rendimiento promedio de la red (en bits por segundo) en los sitios especificados durante un intervalo de tiempo determinado. Utilice este endpoint para visualizar las tasas de tráfico en paneles de control e informes.
# Obtener Volumen de Datos Transferidos
Source: https://altostrat.io/docs/api/es/dashboard/obtener-volumen-de-datos-transferidos
api/es/monitoring-metrics.yaml get /v1/monitoring/dashboard/data-transferred
Recupera el volumen total de datos transferidos (en bytes) en los sitios especificados, agregados en intervalos de tiempo. Utilice este endpoint para analizar el consumo de datos y los patrones de uso.
# Endpoint de Descubrimiento OIDC
Source: https://altostrat.io/docs/api/es/descubrimiento/endpoint-de-descubrimiento-oidc
api/es/authentication.yaml get /.well-known/openid-configuration
Devuelve un documento JSON que contiene los metadatos de configuración del Proveedor de OpenID. Los clientes compatibles con OIDC utilizan este endpoint para descubrir automáticamente las ubicaciones de los endpoints de autorización, token, userinfo y JWKS, así como todas las capacidades soportadas.
# Endpoint del Conjunto de Claves Web JSON (JWKS)
Source: https://altostrat.io/docs/api/es/descubrimiento/endpoint-del-conjunto-de-claves-web-json-jwks
api/es/authentication.yaml get /.well-known/jwks.json
Proporciona el conjunto de claves públicas utilizadas para verificar la firma de los JWT emitidos por el servidor de autenticación. Los clientes deben usar el `kid` (Key ID) del encabezado de un JWT para seleccionar la clave correcta para la validación.
# Obtener Estadísticas Recientes de Salud del Dispositivo
Source: https://altostrat.io/docs/api/es/device-health-&-status/obtener-estadísticas-recientes-de-salud-del-dispositivo
api/es/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats-all/{siteId}
Recupera una serie temporal de métricas clave de salud (CPU, memoria, disco, tiempo de actividad) para el dispositivo de un sitio específico de las últimas 8 horas.
# Obtener Historial de Heartbeat del Dispositivo
Source: https://altostrat.io/docs/api/es/device-health-&-status/obtener-historial-de-heartbeat-del-dispositivo
api/es/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats/{siteId}
Recupera el estado de conectividad y heartbeat del dispositivo durante las últimas 24 horas, agregado por hora. Esto ayuda a identificar períodos de inactividad o registros perdidos.
# Obtener Hora de Última Conexión
Source: https://altostrat.io/docs/api/es/device-health-&-status/obtener-hora-de-última-conexión
api/es/monitoring-metrics.yaml get /v1/monitoring/last-seen/{siteId}
Devuelve el tiempo transcurrido desde que el dispositivo en el sitio especificado informó su estado por última vez.
# Obtener Estadísticas de un Sitio en un Rango de Fechas
Source: https://altostrat.io/docs/api/es/device-stats/obtener-estadísticas-de-un-sitio-en-un-rango-de-fechas
api/es/mikrotik-api.yaml get /sites/{siteId}/mikrotik-stats/range
Obtiene métricas de rendimiento de series temporales (CPU, memoria, disco, tiempo de actividad) para un sitio dentro de un rango de fechas especificado. Para rangos de más de 48 horas, los datos se agregan automáticamente por hora para garantizar una respuesta rápida. Para rangos más cortos, se devuelven los puntos de datos en crudo.
# Actualizar una Política DNS
Source: https://altostrat.io/docs/api/es/dns-content-filtering/actualizar-una-política-dns
api/es/utm-ips.yaml put /policy/{policyId}
Actualiza las propiedades de una política DNS existente. Puede cambiar su nombre, bloqueos de aplicaciones, configuración de búsqueda segura y vinculaciones a sitios.
# Crear una Política de Filtrado de Contenido DNS
Source: https://altostrat.io/docs/api/es/dns-content-filtering/crear-una-política-de-filtrado-de-contenido-dns
api/es/utm-ips.yaml post /policy
Crea una nueva política de Filtrado de Contenido DNS con reglas de filtrado, bloqueos de aplicaciones y configuración de búsqueda segura especificados.
# Eliminar una Política DNS
Source: https://altostrat.io/docs/api/es/dns-content-filtering/eliminar-una-política-dns
api/es/utm-ips.yaml delete /policy/{policyId}
Elimina permanentemente una política DNS. Esta operación fallará si la política está actualmente vinculada a uno o más sitios.
# Listar Categorías de Aplicaciones
Source: https://altostrat.io/docs/api/es/dns-content-filtering/listar-categorías-de-aplicaciones
api/es/utm-ips.yaml get /category
Recupera una lista de todas las categorías de aplicaciones disponibles. Cada categoría contiene una lista de aplicaciones que pueden ser objetivo en las políticas DNS.
# Listar Políticas de Filtrado de Contenido DNS
Source: https://altostrat.io/docs/api/es/dns-content-filtering/listar-políticas-de-filtrado-de-contenido-dns
api/es/utm-ips.yaml get /policy
Recupera una lista de todas las políticas de Filtrado de Contenido DNS asociadas a su cuenta.
# Listar Servicios de Búsqueda Segura
Source: https://altostrat.io/docs/api/es/dns-content-filtering/listar-servicios-de-búsqueda-segura
api/es/utm-ips.yaml get /category/safe_search
Recupera una lista de servicios (p. ej., Google, YouTube) para los cuales se puede aplicar la Búsqueda Segura en una política DNS.
# Obtener una Política DNS
Source: https://altostrat.io/docs/api/es/dns-content-filtering/obtener-una-política-dns
api/es/utm-ips.yaml get /policy/{policyId}
Recupera los detalles de una política de Filtrado de Contenido DNS específica por su identificador único.
# Activar Servicio de Conmutación por Error
Source: https://altostrat.io/docs/api/es/failover-service/activar-servicio-de-conmutación-por-error
api/es/wan-failover.yaml post /v1/failover/{site_id}
Activa el servicio de Conmutación por Error de WAN para un sitio especificado. Este es el primer paso para habilitar las capacidades de SD-WAN. La activación del servicio crea automáticamente dos túneles WAN predeterminados y sin configurar.
# Desactivar Servicio de Conmutación por Error
Source: https://altostrat.io/docs/api/es/failover-service/desactivar-servicio-de-conmutación-por-error
api/es/wan-failover.yaml delete /v1/failover/{site_id}
Desactiva el servicio de Conmutación por Error de WAN para un sitio, eliminando todos los túneles WAN asociados y sus configuraciones tanto de la plataforma Altostrat como del router local. Esta acción es irreversible.
# Listar Sitios con Servicio de Conmutación por Error
Source: https://altostrat.io/docs/api/es/failover-service/listar-sitios-con-servicio-de-conmutación-por-error
api/es/wan-failover.yaml get /v1/failover/service-counts
Recupera una lista de todos los sitios asociados con el usuario autenticado que tienen el servicio de Conmutación por Error de WAN activado actualmente.
# Obtener Estado del Servicio de Conmutación por Error
Source: https://altostrat.io/docs/api/es/failover-service/obtener-estado-del-servicio-de-conmutación-por-error
api/es/wan-failover.yaml get /v1/failover/{site_id}
Comprueba el estado del servicio de Conmutación por Error de WAN para un sitio específico, devolviendo el ID de la suscripción si está activo.
# Actualizar un fallo
Source: https://altostrat.io/docs/api/es/faults/actualizar-un-fallo
api/es/faults.yaml put /faults/{faultId}
Actualiza el fallo especificado estableciendo los valores de los parámetros pasados. Cualquier parámetro no proporcionado se dejará sin cambios. Esto es útil para cambiar la severidad de un fallo o resolverlo manually.
# Crear un fallo
Source: https://altostrat.io/docs/api/es/faults/crear-un-fallo
api/es/faults.yaml post /faults
Crea manualmente un nuevo objeto de fallo. Esto se usa típicamente para crear fallos desde sistemas externos o para fines de prueba. Para la ingesta automatizada, otros microservicios envían eventos que se procesan como fallos.
# Eliminar un fallo
Source: https://altostrat.io/docs/api/es/faults/eliminar-un-fallo
api/es/faults.yaml delete /faults/{faultId}
Elimina permanentemente un objeto de fallo. Esta acción no se puede deshacer.
# Listar todos los fallos
Source: https://altostrat.io/docs/api/es/faults/listar-todos-los-fallos
api/es/faults.yaml get /faults
Devuelve una lista paginada de objetos de fallo para su cuenta. Los fallos se devuelven en orden cronológico inverso por fecha de creación. Puede filtrar los resultados utilizando los parámetros de consulta.
# Recuperar un fallo
Source: https://altostrat.io/docs/api/es/faults/recuperar-un-fallo
api/es/faults.yaml get /faults/{faultId}
Recupera los detalles de un fallo existente. Solo necesita proporcionar el identificador único del fallo que se devolvió al crearlo.
# Generar Script a partir de Instrucción
Source: https://altostrat.io/docs/api/es/generación-de-scripts-con-ia/generar-script-a-partir-de-instrucción
api/es/scripts.yaml post /gen-ai
Envía una instrucción en lenguaje natural al motor de IA para generar un script de MikroTik RouterOS. La respuesta incluye el contenido del script generado, un indicador de si el script es potencialmente destructivo y cualquier error o advertencia de la IA.
# Eliminar un Informe Generado
Source: https://altostrat.io/docs/api/es/generated-reports/eliminar-un-informe-generado
api/es/reports.yaml delete /sla/reports/{reportId}
Elimina permanentemente un informe generado previamente y sus datos asociados en PDF y JSON del almacenamiento.
# Listar Informes Generados
Source: https://altostrat.io/docs/api/es/generated-reports/listar-informes-generados
api/es/reports.yaml get /sla/reports
Recupera una lista paginada de todos los informes generados históricamente para el espacio de trabajo, ordenados por fecha de creación en orden descendente.
# Actualizar un Grupo de Notificación
Source: https://altostrat.io/docs/api/es/grupos-de-notificación/actualizar-un-grupo-de-notificación
api/es/notifications.yaml put /notifications/{groupId}
Actualiza la configuración de un grupo de notificación existente. Esta operación reemplaza el objeto de grupo completo con los datos proporcionados.
# Crear un Grupo de Notificación
Source: https://altostrat.io/docs/api/es/grupos-de-notificación/crear-un-grupo-de-notificación
api/es/notifications.yaml post /notifications
Crea un nuevo grupo de notificación. Esto le permite definir una nueva regla sobre quién recibe notificaciones, sobre qué temas, para qué sitios y en qué horario.
# Eliminar un Grupo de Notificación
Source: https://altostrat.io/docs/api/es/grupos-de-notificación/eliminar-un-grupo-de-notificación
api/es/notifications.yaml delete /notifications/{groupId}
Elimina permanentemente un grupo de notificación. Esta acción no se puede deshacer.
# Listar Grupos de Notificación
Source: https://altostrat.io/docs/api/es/grupos-de-notificación/listar-grupos-de-notificación
api/es/notifications.yaml get /notifications
Recupera una lista de todos los grupos de notificación configurados para el espacio de trabajo del usuario autenticado. Cada grupo representa un conjunto específico de reglas para el enrutamiento de alertas.
# Obtener un Grupo de Notificación
Source: https://altostrat.io/docs/api/es/grupos-de-notificación/obtener-un-grupo-de-notificación
api/es/notifications.yaml get /notifications/{groupId}
Obtiene los detalles de un grupo de notificación específico por su ID único.
# Buscar Puertas de Enlace Elegibles
Source: https://altostrat.io/docs/api/es/helper-endpoints/buscar-puertas-de-enlace-elegibles
api/es/wan-failover.yaml post /v1/failover/{site_id}/gateways
Para una interfaz de router dada, este endpoint intenta detectar direcciones IP de puertas de enlace ascendentes elegibles. Esto ayuda a automatizar el proceso de encontrar la IP de `gateway` correcta para la configuración de un túnel.
# Listar Interfaces del Router
Source: https://altostrat.io/docs/api/es/helper-endpoints/listar-interfaces-del-router
api/es/wan-failover.yaml get /v1/failover/{site_id}/interfaces
Recupera una lista de las interfaces de red físicas y lógicas disponibles del router en el sitio especificado. Esto es útil para identificar el nombre de `interface` correcto al configurar un túnel.
# Actualizar un horario
Source: https://altostrat.io/docs/api/es/horarios/actualizar-un-horario
api/es/schedules.yaml put /chrono/schedules/{scheduleId}
Actualiza el horario especificado estableciendo las propiedades del cuerpo de la petición. Cualquier propiedad no proporcionada se mantendrá sin cambios. Al actualizar `hours`, el array completo es reemplazado. Al actualizar `metadata`, proporcionar una clave con un valor `null` eliminará esa entrada de metadatos.
# Crear un nuevo horario
Source: https://altostrat.io/docs/api/es/horarios/crear-un-nuevo-horario
api/es/schedules.yaml post /chrono/schedules
Crea un nuevo horario con un conjunto definido de franjas horarias recurrentes. Tras la creación, el estado `active` del horario se calcula automáticamente basándose en la hora actual y las franjas proporcionadas.
# Eliminar un horario
Source: https://altostrat.io/docs/api/es/horarios/eliminar-un-horario
api/es/schedules.yaml delete /chrono/schedules/{scheduleId}
Elimina permanentemente un horario, incluyendo todas sus franjas horarias y metadatos asociados. Esta acción no se puede deshacer.
# Listar todos los horarios
Source: https://altostrat.io/docs/api/es/horarios/listar-todos-los-horarios
api/es/schedules.yaml get /chrono/schedules
Recupera una lista de todos los objetos de horario que pertenecen a su espacio de trabajo. Los horarios se devuelven ordenados por fecha de creación, apareciendo primero los creados más recientemente.
# Obtener un horario
Source: https://altostrat.io/docs/api/es/horarios/obtener-un-horario
api/es/schedules.yaml get /chrono/schedules/{scheduleId}
Recupera los detalles de un horario existente por su identificador único.
# Actualizar una instancia de VPN
Source: https://altostrat.io/docs/api/es/instances/actualizar-una-instancia-de-vpn
api/es/managed-vpn.yaml put /instances/{instanceId}
Modifica la configuración de una instancia de VPN existente, como su nombre, configuración de DNS o rutas anunciadas.
# Crear una instancia de VPN
Source: https://altostrat.io/docs/api/es/instances/crear-una-instancia-de-vpn
api/es/managed-vpn.yaml post /instances
Aprovisiona una nueva instancia de servidor VPN en una región especificada con un nombre de host único. Este es el primer paso para configurar una nueva VPN.
# Eliminar una instancia de VPN
Source: https://altostrat.io/docs/api/es/instances/eliminar-una-instancia-de-vpn
api/es/managed-vpn.yaml delete /instances/{instanceId}
Desmantela permanentemente una instancia de VPN y todos sus servidores y pares asociados. Esta acción no se puede deshacer.
# Listar todas las instancias de VPN
Source: https://altostrat.io/docs/api/es/instances/listar-todas-las-instancias-de-vpn
api/es/managed-vpn.yaml get /instances
Recupera una lista de todas las instancias de VPN accesibles por el usuario autenticado.
# Obtener ancho de banda de la instancia
Source: https://altostrat.io/docs/api/es/instances/obtener-ancho-de-banda-de-la-instancia
api/es/managed-vpn.yaml get /instances/{instanceId}/bandwidth
Recupera las estadísticas de uso de ancho de banda para el servidor principal asociado con una instancia de VPN.
# Obtener una instancia de VPN
Source: https://altostrat.io/docs/api/es/instances/obtener-una-instancia-de-vpn
api/es/managed-vpn.yaml get /instances/{instanceId}
Recupera los detalles de una instancia de VPN específica por su identificador único.
# Introducción a la API
Source: https://altostrat.io/docs/api/es/introduction
¡Bienvenido a la API de Altostrat! Tu kit de herramientas para crear potentes integraciones de automatización de red y seguridad sobre tu flota de MikroTik.
# Introducción a la API
Esta página está pendiente de traducción. Por favor, consulta la [versión en inglés](/api/en/introduction) para obtener la documentación completa.
## Primeros Pasos
Para comenzar a usar la API de Altostrat, necesitarás:
1. Una cuenta activa de Altostrat
2. Un token de API (puede ser generado desde el panel de control)
3. Conocimientos básicos de REST APIs
## Recursos
Por favor, visita la versión en inglés de la documentación para obtener información detallada sobre:
* Autenticación
* Endpoints
* Ejemplos de solicitudes
* Manejo de errores
# Listar facturas
Source: https://altostrat.io/docs/api/es/invoices/listar-facturas
api/es/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices
Devuelve una lista de facturas para una cuenta de facturación. Las facturas se devuelven en orden cronológico inverso.
# Previsualizar una factura
Source: https://altostrat.io/docs/api/es/invoices/previsualizar-una-factura
api/es/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices/preview
Previsualiza una factura próxima para una cuenta de facturación, mostrando el impacto financiero de posibles cambios en la suscripción, como añadir productos o cambiar cantidades. Esto no modifica ninguna suscripción existente.
# Cancelar una Tarea Pendiente
Source: https://altostrat.io/docs/api/es/jobs/cancelar-una-tarea-pendiente
api/es/mikrotik-api.yaml delete /sites/{siteId}/jobs/{jobId}
Elimina una tarea que aún no ha comenzado su ejecución. Las tareas que están en progreso, completadas o fallidas no se pueden eliminar.
# Crear una Tarea para un Sitio
Source: https://altostrat.io/docs/api/es/jobs/crear-una-tarea-para-un-sitio
api/es/mikrotik-api.yaml post /sites/{siteId}/jobs
Crea y encola una nueva tarea para ser ejecutada en el sitio especificado. La carga útil (payload) de la tarea es un script de RouterOS en crudo, y los metadatos se proporcionan a través de las cabeceras.
# Listar Tareas de un Sitio
Source: https://altostrat.io/docs/api/es/jobs/listar-tareas-de-un-sitio
api/es/mikrotik-api.yaml get /sites/{siteId}/jobs
Recupera una lista de todas las tareas que se han creado para un sitio específico, ordenadas por fecha de creación (la más reciente primero).
# Obtener una Tarea
Source: https://altostrat.io/docs/api/es/jobs/obtener-una-tarea
api/es/mikrotik-api.yaml get /sites/{siteId}/jobs/{jobId}
Recupera los detalles completos de una tarea específica por su identificador único (UUID).
# Ejecutar Comando Síncrono
Source: https://altostrat.io/docs/api/es/live-commands/ejecutar-comando-síncrono
api/es/generative-ai.yaml post /sites/{siteId}/commands/synchronous
Ejecuta un comando de solo lectura de la API de MikroTik RouterOS de forma síncrona en un sitio específico. Esto proporciona una interfaz directa y en tiempo real con el dispositivo. Para obtener configuraciones estáticas, suele ser más rápido usar la API de Backups. Las operaciones de escritura están estrictamente prohibidas.
# Punto de Acceso (Endpoint) JSON-RPC de MCP
Source: https://altostrat.io/docs/api/es/mcp--protocolo-central/punto-de-acceso-endpoint-json-rpc-de-mcp
api/es/mcp-server.yaml post /mcp
Este es el único punto de acceso (endpoint) para todas las interacciones del Protocolo de Contexto de Modelo (MCP), que siguen la especificación JSON-RPC 2.0.
La acción específica a realizar se determina por la propiedad `method` dentro del cuerpo de la solicitud JSON. La estructura del objeto `params` varía dependiendo del método que se invoca.
A continuación se presentan los métodos soportados:
### Ciclo de Vida
- `initialize`: Establece una conexión y negocia las versiones del protocolo.
- `ping`: Un método simple para verificar si la conexión está activa.
### Herramientas
- `tools/list`: Recupera una lista de herramientas disponibles que un agente de IA puede ejecutar.
- `tools/call`: Ejecuta una herramienta específica con los argumentos proporcionados.
### Recursos
- `resources/list`: Recupera una lista de recursos de conocimiento disponibles.
- `resources/read`: Lee el contenido de un recurso específico.
### Prompts
- `prompts/list`: Recupera una lista de prompts predefinidos y disponibles.
- `prompts/get`: Recupera la estructura completa del mensaje para un prompt específico, rellenado con argumentos.
# Actualizar un objeto de metadatos
Source: https://altostrat.io/docs/api/es/metadata/actualizar-un-objeto-de-metadatos
api/es/metadata.yaml put /metadata/{resourceId}
Actualiza los metadatos para un recurso específico. Esta operación realiza una fusión; cualquier clave que proporcione se agregará o sobrescribirá las claves existentes, mientras que las claves que no proporcione se mantendrán intactas. Para eliminar una clave, establezca su valor en `null` o una cadena vacía.
# Crear un objeto de metadatos
Source: https://altostrat.io/docs/api/es/metadata/crear-un-objeto-de-metadatos
api/es/metadata.yaml post /metadata
Crea un nuevo objeto de metadatos para un recurso dado, o sobrescribe completamente uno existente para ese recurso. Los metadatos en sí son un almacén de clave-valor flexible.
# Eliminar un objeto de metadatos
Source: https://altostrat.io/docs/api/es/metadata/eliminar-un-objeto-de-metadatos
api/es/metadata.yaml delete /metadata/{resourceId}
Elimina todos los metadatos personalizados asociados con un recurso. Esta acción borra el campo `metadata` pero no elimina el recurso en sí.
# Listar todos los objetos de metadatos
Source: https://altostrat.io/docs/api/es/metadata/listar-todos-los-objetos-de-metadatos
api/es/metadata.yaml get /metadata
Recupera una colección de todos los recursos que tienen metadatos asociados para el cliente actual.
# Recuperar un objeto de metadatos
Source: https://altostrat.io/docs/api/es/metadata/recuperar-un-objeto-de-metadatos
api/es/metadata.yaml get /metadata/{resourceId}
Obtiene el objeto de metadatos para un único recurso, identificado por su ID único.
# Obtener Entradas de Syslog del Sitio
Source: https://altostrat.io/docs/api/es/network-logs/obtener-entradas-de-syslog-del-sitio
api/es/monitoring-metrics.yaml get /v1/monitoring/syslogs/{siteId}
Recupera una lista paginada de mensajes de syslog para un sitio específico, ordenados por los más recientes primero.
# Obtener Informe de Seguridad BGP
Source: https://altostrat.io/docs/api/es/network-logs/obtener-informe-de-seguridad-bgp
api/es/monitoring-metrics.yaml get /v1/monitoring/bgp-report/{siteId}
Genera un informe de seguridad BGP para un sitio basado en los datos de las últimas 24 horas. El informe incluye los 10 principales puertos de destino, las 10 principales listas de bloqueo activadas y las 10 principales IP de origen que inician tráfico bloqueado.
# Obtener Informe de Seguridad DNS
Source: https://altostrat.io/docs/api/es/network-logs/obtener-informe-de-seguridad-dns
api/es/monitoring-metrics.yaml get /v1/monitoring/dns-report/{siteId}
Genera un informe de seguridad DNS para un sitio basado en los datos de las últimas 24 horas. El informe incluye las 10 principales categorías bloqueadas, las 10 principales aplicaciones bloqueadas y las 10 principales IP de origen internas que realizan solicitudes bloqueadas.
# Cerrar Sesión de Usuario (Compatible con OIDC)
Source: https://altostrat.io/docs/api/es/oauth-20-&-oidc/cerrar-sesión-de-usuario-compatible-con-oidc
api/es/authentication.yaml get /oidc/logout
Este endpoint cumple con la especificación de Gestión de Sesiones de OIDC. Cierra la sesión del usuario y puede redirigirlo de vuelta a la aplicación.
# Cerrar Sesión de Usuario (Heredado)
Source: https://altostrat.io/docs/api/es/oauth-20-&-oidc/cerrar-sesión-de-usuario-heredado
api/es/authentication.yaml get /v2/logout
Cierra la sesión del usuario en Altostrat y lo redirige de vuelta a una URL especificada.
# Iniciar Autenticación de Usuario
Source: https://altostrat.io/docs/api/es/oauth-20-&-oidc/iniciar-autenticación-de-usuario
api/es/authentication.yaml get /authorize
Este es el punto de partida para la autenticación del usuario. La aplicación web de Altostrat redirige el navegador del usuario a este endpoint para comenzar el Flujo de Código de Autorización de OAuth 2.0 con PKCE.
# Intercambiar Código o Refresh Token por Tokens
Source: https://altostrat.io/docs/api/es/oauth-20-&-oidc/intercambiar-código-o-refresh-token-por-tokens
api/es/authentication.yaml post /oauth/token
Se utiliza para intercambiar un `authorization_code` por tokens, o para usar un `refresh_token` para obtener un nuevo `access_token`. La autenticación del cliente se puede realizar a través de `client_secret_post` (en el cuerpo), `client_secret_basic` (Autenticación Básica HTTP) o `private_key_jwt`.
# Obtener Perfil de Usuario
Source: https://altostrat.io/docs/api/es/oauth-20-&-oidc/obtener-perfil-de-usuario
api/es/authentication.yaml get /userinfo
Recupera el perfil del usuario asociado con el `access_token` proporcionado. Los claims devueltos se basan en los scopes concedidos durante la autenticación.
# Revocar Token
Source: https://altostrat.io/docs/api/es/oauth-20-&-oidc/revocar-token
api/es/authentication.yaml post /oauth/revoke
Revoca un `access_token` o `refresh_token`, invalidándolo inmediatamente. Esto es útil para escenarios como cambios de contraseña o cierres de sesión iniciados por el usuario en todos los dispositivos.
# Obtener Últimas Copias de Seguridad Masivamente
Source: https://altostrat.io/docs/api/es/operaciones-masivas/obtener-últimas-copias-de-seguridad-masivamente
api/es/backups.yaml post /backups/latest
Recupera eficientemente el contenido de la última copia de seguridad para una lista de hasta 50 sitios. Está optimizado para agentes de IA y sistemas de automatización que necesitan recopilar configuraciones de múltiples sitios en una sola solicitud. El endpoint valida el acceso para cada sitio individualmente y devuelve un estado por sitio.
# Actualizar una organización
Source: https://altostrat.io/docs/api/es/organizations/actualizar-una-organización
api/es/workspaces.yaml patch /workspaces/{workspaceId}/organizations/{organizationId}
Actualiza los atributos especificados de una organización. Este endpoint puede usarse para cambiar el nombre de la organización, actualizar sus límites de recursos o modificar la configuración de la marca. Solo necesita proporcionar los campos que desea cambiar.
# Crear una organización
Source: https://altostrat.io/docs/api/es/organizations/crear-una-organización
api/es/workspaces.yaml post /workspaces/{workspaceId}/organizations
Crea una nueva organización de nivel superior dentro de un espacio de trabajo. Para crear una organización hija, use el endpoint `/organizations/{organizationId}/children`. Un espacio de trabajo no puede tener más de 1.000 organizaciones en total.
# Crear una organización hija
Source: https://altostrat.io/docs/api/es/organizations/crear-una-organización-hija
api/es/workspaces.yaml post /workspaces/{workspaceId}/organizations/{organizationId}/children
Crea una nueva organización como hija directa de la organización padre especificada. La jerarquía no puede exceder los 10 niveles de profundidad, y un padre no puede tener más de 100 hijos directos.
# Eliminar una organización
Source: https://altostrat.io/docs/api/es/organizations/eliminar-una-organización
api/es/workspaces.yaml delete /workspaces/{workspaceId}/organizations/{organizationId}
Elimina permanentemente una organización. Una organización no puede ser eliminada si ella o alguno de sus descendientes tienen uso de recursos activo.
# Exportar uso de la organización como CSV
Source: https://altostrat.io/docs/api/es/organizations/exportar-uso-de-la-organización-como-csv
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.csv
Genera y descarga un archivo CSV que detalla el uso de recursos y los límites para todas las organizaciones dentro del espacio de trabajo especificado.
# Exportar uso de la organización como PDF
Source: https://altostrat.io/docs/api/es/organizations/exportar-uso-de-la-organización-como-pdf
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.pdf
Genera y descarga un archivo PDF que detalla el uso de recursos y los límites para todas las organizaciones dentro del espacio de trabajo especificado.
# Listar organizaciones
Source: https://altostrat.io/docs/api/es/organizations/listar-organizaciones
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations
Devuelve una lista de todas las organizaciones dentro del espacio de trabajo especificado.
# Listar organizaciones hijas
Source: https://altostrat.io/docs/api/es/organizations/listar-organizaciones-hijas
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/children
Devuelve una lista de organizaciones hijas inmediatas de una organización padre especificada.
# Listar todas las organizaciones descendientes
Source: https://altostrat.io/docs/api/es/organizations/listar-todas-las-organizaciones-descendientes
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/descendants
Devuelve una lista plana de todas las organizaciones que son descendientes (hijas, nietas, etc.) de la organización padre especificada.
# Obtener límites de la organización
Source: https://altostrat.io/docs/api/es/organizations/obtener-límites-de-la-organización
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/limits
Obtiene un desglose detallado del uso, los límites y la capacidad disponible para cada tipo de producto medible para una organización específica. Esto tiene en cuenta los límites propios de la organización, los límites heredados de sus padres y la capacidad total disponible de su suscripción.
# Obtener organización padre
Source: https://altostrat.io/docs/api/es/organizations/obtener-organización-padre
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/parent
Obtiene la organización padre de una organización hija especificada. Si la organización está en el nivel superior, este endpoint devolverá una respuesta 204 Sin Contenido.
# Obtener una organización
Source: https://altostrat.io/docs/api/es/organizations/obtener-una-organización
api/es/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}
Obtiene los detalles de una organización específica dentro de un espacio de trabajo.
# Crear un Setup Intent
Source: https://altostrat.io/docs/api/es/payment-methods/crear-un-setup-intent
api/es/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Crea un Setup Intent de Stripe para recopilar detalles del método de pago para pagos futuros. Esto devuelve un `client_secret` que puede usar con Stripe.js o los SDK móviles para mostrar un formulario de pago. Una cuenta de facturación no puede tener más de 5 métodos de pago.
# Desvincular un método de pago
Source: https://altostrat.io/docs/api/es/payment-methods/desvincular-un-método-de-pago
api/es/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Desvincula un método de pago de una cuenta de facturación. No puede desvincular el único método de pago de una cuenta, ni puede desvincular el método de pago predeterminado si hay suscripciones activas.
# Establecer método de pago predeterminado
Source: https://altostrat.io/docs/api/es/payment-methods/establecer-método-de-pago-predeterminado
api/es/workspaces.yaml put /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Establece un método de pago especificado como el predeterminado para una cuenta de facturación. Este método de pago se utilizará para todas las facturas de suscripción futuras.
# Listar métodos de pago
Source: https://altostrat.io/docs/api/es/payment-methods/listar-métodos-de-pago
api/es/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Devuelve una lista de métodos de pago adjuntos a una cuenta de facturación.
# Actualizar un par
Source: https://altostrat.io/docs/api/es/peers/actualizar-un-par
api/es/managed-vpn.yaml put /instances/{instanceId}/peers/{peerId}
Modifica la configuración de un par existente, como sus subredes o comportamiento de enrutamiento.
# Crear un par
Source: https://altostrat.io/docs/api/es/peers/crear-un-par
api/es/managed-vpn.yaml post /instances/{instanceId}/peers
Crea un nuevo par (un cliente o un sitio) y lo asocia con una instancia de VPN.
# Eliminar un par
Source: https://altostrat.io/docs/api/es/peers/eliminar-un-par
api/es/managed-vpn.yaml delete /instances/{instanceId}/peers/{peerId}
Elimina permanentemente un par de una instancia de VPN. Esto revoca su acceso.
# Listar todos los pares para una instancia
Source: https://altostrat.io/docs/api/es/peers/listar-todos-los-pares-para-una-instancia
api/es/managed-vpn.yaml get /instances/{instanceId}/peers
Recupera una lista de todos los pares (clientes y sitios) asociados con una instancia de VPN específica.
# Obtener un par
Source: https://altostrat.io/docs/api/es/peers/obtener-un-par
api/es/managed-vpn.yaml get /instances/{instanceId}/peers/{peerId}
Recupera los detalles de un par específico por su identificador único.
# Actualizar una Plantilla de Script
Source: https://altostrat.io/docs/api/es/plantillas-de-scripts/actualizar-una-plantilla-de-script
api/es/scripts.yaml put /templates/{templateId}
Modifica una plantilla de script existente. Esta acción solo está permitida en plantillas que son privadas para la organización del usuario y que fueron creadas por el usuario. Las plantillas globales son de solo lectura.
# Crear una Plantilla de Script
Source: https://altostrat.io/docs/api/es/plantillas-de-scripts/crear-una-plantilla-de-script
api/es/scripts.yaml post /templates
Crea una nueva plantilla de script privada para la organización del usuario. Esto permite el almacenamiento y la reutilización de scripts estandarizados dentro de un equipo.
# Eliminar una Plantilla de Script
Source: https://altostrat.io/docs/api/es/plantillas-de-scripts/eliminar-una-plantilla-de-script
api/es/scripts.yaml delete /templates/{templateId}
Elimina permanentemente una plantilla de script privada. Esta acción no se puede deshacer y solo está permitida en plantillas que el usuario está autorizado a editar.
# Listar Plantillas de Scripts
Source: https://altostrat.io/docs/api/es/plantillas-de-scripts/listar-plantillas-de-scripts
api/es/scripts.yaml get /templates
Recupera una colección de plantillas de scripts. Las plantillas se pueden filtrar para mostrar las públicas (globales), privadas (específicas de la organización) o todas las plantillas accesibles. También se pueden buscar por nombre o descripción.
# Recuperar una Plantilla de Script
Source: https://altostrat.io/docs/api/es/plantillas-de-scripts/recuperar-una-plantilla-de-script
api/es/scripts.yaml get /templates/{templateId}
Obtiene los detalles de una plantilla de script específica, incluido su contenido.
# Actualizar una política
Source: https://altostrat.io/docs/api/es/policies/actualizar-una-política
api/es/control-plane.yaml put /policies/{policyId}
Actualiza la política especificada estableciendo los valores de los parámetros enviados. Cualquier parámetro no proporcionado permanecerá sin cambios.
# Aplicar política a sitios
Source: https://altostrat.io/docs/api/es/policies/aplicar-política-a-sitios
api/es/control-plane.yaml post /policies/{policyId}/sites
Asigna o reasigna una lista de sitios a esta política. Esta es la forma principal de aplicar un nuevo conjunto de reglas de firewall a uno o más dispositivos.
# Crear una política
Source: https://altostrat.io/docs/api/es/policies/crear-una-política
api/es/control-plane.yaml post /policies
Crea una nueva política de seguridad. Puede definir reglas para servicios como Winbox, SSH y HTTP/S, incluyendo qué redes tienen permitido acceder a ellos.
# Eliminar una política
Source: https://altostrat.io/docs/api/es/policies/eliminar-una-política
api/es/control-plane.yaml delete /policies/{policyId}
Elimina una política. No puede eliminar la política predeterminada. Cualquier sitio que utilice la política eliminada será reasignado a la política predeterminada.
# Listar todas las políticas
Source: https://altostrat.io/docs/api/es/policies/listar-todas-las-políticas
api/es/control-plane.yaml get /policies
Recupera una lista de todas las políticas de seguridad pertenecientes a su espacio de trabajo. Las políticas definen las reglas de firewall y las configuraciones de acceso a servicios aplicadas a sus sitios.
# Obtener una política
Source: https://altostrat.io/docs/api/es/policies/obtener-una-política
api/es/control-plane.yaml get /policies/{policyId}
Recupera los detalles de una política específica, incluyendo sus reglas y una lista de sitios a los que se aplica.
# Actualizar una lista de prefijos
Source: https://altostrat.io/docs/api/es/prefix-lists/actualizar-una-lista-de-prefijos
api/es/security-groups.yaml put /prefix-lists/{prefixListId}
Actualiza una lista de prefijos existente reemplazando completamente sus atributos, incluyendo su nombre, descripción, prefijos y asociaciones de sitios. Esta es una operación de reemplazo total (PUT); cualquier campo omitido resultará en la eliminación de esos elementos.
# Crear una lista de prefijos
Source: https://altostrat.io/docs/api/es/prefix-lists/crear-una-lista-de-prefijos
api/es/security-groups.yaml post /prefix-lists
Crea una nueva lista de prefijos con un conjunto definido de bloques CIDR y asociaciones iniciales de sitios. Las asociaciones de sitios y los despliegues de listas de direcciones se gestionan de forma asíncrona.
# Eliminar una lista de prefijos
Source: https://altostrat.io/docs/api/es/prefix-lists/eliminar-una-lista-de-prefijos
api/es/security-groups.yaml delete /prefix-lists/{prefixListId}
Elimina permanentemente una lista de prefijos. Esta acción fallará si la lista de prefijos está siendo referenciada actualmente por alguna regla de grupo de seguridad. Un proceso asíncrono eliminará la lista de direcciones correspondiente de todos los sitios asociados.
# Listar listas de prefijos
Source: https://altostrat.io/docs/api/es/prefix-lists/listar-listas-de-prefijos
api/es/security-groups.yaml get /prefix-lists
Recupera una lista de todas las listas de prefijos dentro de su organización. Este punto de conexión proporciona una vista resumida y no incluye la lista detallada de prefijos o sitios por rendimiento. Para obtener todos los detalles, recupere una lista de prefijos específica por su ID.
# Obtener una lista de prefijos
Source: https://altostrat.io/docs/api/es/prefix-lists/obtener-una-lista-de-prefijos
api/es/security-groups.yaml get /prefix-lists/{prefixListId}
Recupera los detalles completos de una lista de prefijos específica, incluyendo su nombre, descripción, estado, sitios asociados y una lista completa de sus prefijos.
# Listar Productos
Source: https://altostrat.io/docs/api/es/products/listar-productos
api/es/mikrotik-oem-data.yaml get /oem/products
Devuelve una lista paginada de productos MikroTik. La lista puede ser filtrada por nombre de producto o número de modelo, permitiendo potentes capacidades de búsqueda y catalogación.
# Obtener un Producto
Source: https://altostrat.io/docs/api/es/products/obtener-un-producto
api/es/mikrotik-oem-data.yaml get /oem/product/{slug}
Recupera los detalles completos de un único producto MikroTik, identificado por su slug único. Este endpoint proporciona un conjunto exhaustivo de especificaciones, incluyendo detalles de hardware principal, resultados de pruebas de rendimiento, accesorios incluidos y recursos descargables.
# Obtener información pública de la marca
Source: https://altostrat.io/docs/api/es/public/obtener-información-pública-de-la-marca
api/es/workspaces.yaml get /organizations/{id}/branding
Obtiene la información pública de la marca para una organización, como su nombre para mostrar, logotipo y colores del tema. Puede usar tanto el ID principal de la organización (`org_...`) como su UUID externo como identificador. Este es un endpoint público y no autenticado.
# Resolver sugerencia de inicio de sesión
Source: https://altostrat.io/docs/api/es/public/resolver-sugerencia-de-inicio-de-sesión
api/es/workspaces.yaml get /organizations/resolve/{login_hint}
Dada una sugerencia de inicio de sesión única (p. ej., un nombre de empresa corto como 'acme'), este endpoint devuelve el ID de la organización correspondiente. Esto es útil para pre-rellenar los detalles de la organización en un flujo de inicio de sesión. Este es un endpoint público y no autenticado.
# Listar protocolos soportados
Source: https://altostrat.io/docs/api/es/reference-data/listar-protocolos-soportados
api/es/security-groups.yaml get /reference/protocols
Recupera una lista de todos los protocolos de red soportados y sus valores enteros correspondientes, que son necesarios al crear reglas de firewall.
# Listar servicios comunes
Source: https://altostrat.io/docs/api/es/reference-data/listar-servicios-comunes
api/es/security-groups.yaml get /reference/services
Recupera una lista de servicios de red comunes y sus números de puerto estándar para ayudar en la creación de reglas de firewall.
# Listar eventos de registro de auditoría
Source: https://altostrat.io/docs/api/es/registros-de-auditoría/listar-eventos-de-registro-de-auditoría
api/es/audit-logs.yaml get /audit-logs
Recupera una lista de eventos de registro de auditoría para su organización. Este punto de conexión (endpoint) admite un potente filtrado y paginación para ayudarle a encontrar eventos específicos con fines de seguridad, cumplimiento o depuración.
Los resultados se devuelven en orden cronológico inverso (los más recientes primero) por defecto.
# Listar Distribuidores
Source: https://altostrat.io/docs/api/es/resellers/listar-distribuidores
api/es/mikrotik-oem-data.yaml get /oem/mikrotik-resellers
Devuelve una lista paginada de distribuidores oficiales de MikroTik. Esto le permite encontrar distribuidores basándose en su ubicación geográfica o nombre, proporcionando información valiosa para fines de adquisición y asociación.
# Obtener un Runbook
Source: https://altostrat.io/docs/api/es/runbooks/obtener-un-runbook
api/es/mikrotik-api.yaml get /runbooks/{runbookId}
Recupera los detalles de un runbook específico, incluyendo su nombre y el comando de arranque utilizado para incorporar nuevos dispositivos con esta configuración.
# Comprobación de Salud
Source: https://altostrat.io/docs/api/es/salud/comprobación-de-salud
api/es/mcp-server.yaml get /health
Proporciona una comprobación de salud simple del servidor MCP, devolviendo su estado, versión y capacidades soportadas. Este punto de acceso (endpoint) puede ser utilizado para monitorización y descubrimiento de servicios.
# Detener un Escaneo
Source: https://altostrat.io/docs/api/es/scan-execution/detener-un-escaneo
api/es/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}/invoke
Detiene forzosamente un escaneo que está actualmente en progreso para una programación dada.
# Iniciar Escaneo Bajo Demanda para Múltiples IPs
Source: https://altostrat.io/docs/api/es/scan-execution/iniciar-escaneo-bajo-demanda-para-múltiples-ips
api/es/cve-scans.yaml post /scans/cve/scan/multiple-ips
Inicia un escaneo inmediato y bajo demanda para una lista específica de direcciones IP. Utiliza la configuración de una programación de escaneo existente pero se dirige únicamente a las IPs especificadas dentro de un sitio particular.
# Iniciar Escaneo Bajo Demanda para una Sola IP
Source: https://altostrat.io/docs/api/es/scan-execution/iniciar-escaneo-bajo-demanda-para-una-sola-ip
api/es/cve-scans.yaml post /scans/cve/scheduled/single-ip
Inicia un escaneo inmediato y bajo demanda para una sola dirección IP. Utiliza la configuración de una programación de escaneo existente pero se dirige únicamente a la IP especificada dentro de un sitio particular.
# Iniciar un Escaneo
Source: https://altostrat.io/docs/api/es/scan-execution/iniciar-un-escaneo
api/es/cve-scans.yaml post /scans/cve/scheduled/{scanScheduleId}/invoke
Inicia manually un escaneo para una programación dada, ignorando su horario normal. El escaneo se pondrá en cola para su ejecución inmediata.
# Listar Informes de Escaneo
Source: https://altostrat.io/docs/api/es/scan-results/listar-informes-de-escaneo
api/es/cve-scans.yaml get /scans/cve
Recupera una lista de los informes de escaneos completados para su cuenta, ordenados por los más recientes primero. Cada elemento en la lista es un resumen de una ejecución de escaneo.
# Obtener un Informe de Escaneo
Source: https://altostrat.io/docs/api/es/scan-results/obtener-un-informe-de-escaneo
api/es/cve-scans.yaml get /scans/cve/{scan_id}
Obtiene el informe detallado para una ejecución de escaneo específica y completada. El informe incluye metadatos del escaneo y enlaces para descargar el informe completo en formato JSON o PDF.
# Obtener Último Estado del Escaneo
Source: https://altostrat.io/docs/api/es/scan-results/obtener-último-estado-del-escaneo
api/es/cve-scans.yaml get /scans/cve/{scanScheduleId}/status
Recupera el estado del escaneo más reciente asociado con una programación específica, ya sea que esté en ejecución, completado o haya fallado.
# Actualizar una Programación de Escaneo
Source: https://altostrat.io/docs/api/es/scan-schedules/actualizar-una-programación-de-escaneo
api/es/cve-scans.yaml put /scans/cve/scheduled/{scanScheduleId}
Actualiza la configuración de una programación de escaneo existente. Todos los campos son reemplazados por los nuevos valores proporcionados en el cuerpo de la solicitud.
# Crear Programación de Escaneo
Source: https://altostrat.io/docs/api/es/scan-schedules/crear-programación-de-escaneo
api/es/cve-scans.yaml post /scans/cve/scheduled
Crea una nueva programación de escaneo de CVE recurrente. Debe definir el horario, la frecuencia, los sitios y subredes de destino, y la configuración de notificaciones. Una creación exitosa devuelve el objeto de programación completo.
# Eliminar una Programación de Escaneo
Source: https://altostrat.io/docs/api/es/scan-schedules/eliminar-una-programación-de-escaneo
api/es/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}
Elimina permanentemente una programación de escaneo. Esta acción no se puede deshacer y detendrá cualquier escaneo futuro para esta programación.
# Listar Programaciones de Escaneo
Source: https://altostrat.io/docs/api/es/scan-schedules/listar-programaciones-de-escaneo
api/es/cve-scans.yaml get /scans/cve/scheduled
Recupera una lista de todas las programaciones de escaneo de CVE configuradas para su cuenta. Esto es útil para mostrar todos los escaneos configurados en un panel de control o para la gestión programática.
# Obtener una Programación de Escaneo
Source: https://altostrat.io/docs/api/es/scan-schedules/obtener-una-programación-de-escaneo
api/es/cve-scans.yaml get /scans/cve/scheduled/{scanScheduleId}
Obtiene los detalles de una programación de escaneo específica por su identificador único.
# Enviar un Script a la Comunidad
Source: https://altostrat.io/docs/api/es/scripts-de-la-comunidad/enviar-un-script-a-la-comunidad
api/es/scripts.yaml post /community-scripts
Envía un nuevo script al repositorio de la comunidad proporcionando una URL a un archivo `.rsc` en crudo en GitHub. El sistema luego obtendrá el contenido del script y los metadatos del repositorio asociado.
# Listar Scripts de la Comunidad
Source: https://altostrat.io/docs/api/es/scripts-de-la-comunidad/listar-scripts-de-la-comunidad
api/es/scripts.yaml get /community-scripts
Recupera una lista paginada de scripts del repositorio público de la comunidad. Este es un recurso valioso para encontrar soluciones preconstruidas para tareas comunes de MikroTik.
# Obtener Contenido Crudo del README
Source: https://altostrat.io/docs/api/es/scripts-de-la-comunidad/obtener-contenido-crudo-del-readme
api/es/scripts.yaml get /community-scripts/{communityScriptId}.md
Descarga el contenido en crudo y texto plano markdown del archivo README de un script de la comunidad, si existe.
# Obtener Contenido Crudo del Script
Source: https://altostrat.io/docs/api/es/scripts-de-la-comunidad/obtener-contenido-crudo-del-script
api/es/scripts.yaml get /community-scripts/{communityScriptId}.rsc
Descarga el contenido en crudo y texto plano de un script de la comunidad, adecuado para uso directo o inspección.
# Recuperar un Script de la Comunidad
Source: https://altostrat.io/docs/api/es/scripts-de-la-comunidad/recuperar-un-script-de-la-comunidad
api/es/scripts.yaml get /community-scripts/{communityScriptId}
Obtiene información detallada sobre un script específico de la comunidad, incluido su contenido, descripción y metadatos sobre el autor y el repositorio de origen.
# Actualizar un Script Programado
Source: https://altostrat.io/docs/api/es/scripts-programados/actualizar-un-script-programado
api/es/scripts.yaml put /scheduled/{scheduledScriptId}
Modifica un script programado existente. Esto solo es posible si el script aún no ha sido lanzado. Actualizar un script restablecerá su estado de autorización a 'no autorizado', requiriendo una nueva aprobación antes de que pueda ser ejecutado.
# Cancelar o Eliminar un Script Programado
Source: https://altostrat.io/docs/api/es/scripts-programados/cancelar-o-eliminar-un-script-programado
api/es/scripts.yaml delete /scheduled/{scheduledScriptId}
Este punto de conexión tiene una doble funcionalidad. Si el script está 'no autorizado' y no ha sido lanzado, será eliminado permanentemente. Si el script está 'programado' o 'lanzado', será marcado como 'cancelado' para prevenir su ejecución futura, pero el registro se conservará.
# Ejecutar un Script Programado Inmediatamente
Source: https://altostrat.io/docs/api/es/scripts-programados/ejecutar-un-script-programado-inmediatamente
api/es/scripts.yaml put /scheduled/{scheduledScriptId}/run
Desencadena una ejecución inmediata de un script ya autorizado, anulando su tiempo 'launch_at' programado. Esto es útil para despliegues urgentes. El script debe estar en un estado 'autorizado' para ser ejecutado inmediatamente.
# Ejecutar una Prueba
Source: https://altostrat.io/docs/api/es/scripts-programados/ejecutar-una-prueba
api/es/scripts.yaml put /scheduled/{scheduledScriptId}/run-test
Despacha inmediatamente el script para su ejecución en el 'test_site_id' designado. Esto permite la validación de la lógica e impacto del script en un entorno controlado antes de un lanzamiento a gran escala. El script no necesita estar autorizado para ejecutar una prueba.
# Listar Scripts Programados
Source: https://altostrat.io/docs/api/es/scripts-programados/listar-scripts-programados
api/es/scripts.yaml get /scheduled
Recupera una lista de todos los scripts programados para ejecución que son accesibles por el usuario autenticado. Esto proporciona una visión general de las tareas de automatización pendientes, en progreso y completadas.
# Obtener Progreso de Ejecución
Source: https://altostrat.io/docs/api/es/scripts-programados/obtener-progreso-de-ejecución
api/es/scripts.yaml get /scheduled/{scheduledScriptId}/progress
Recupera el progreso de ejecución en tiempo real para un script que ha sido lanzado. Proporciona listas de sitios donde el script se ha completado, ha fallado o todavía está pendiente.
# Programar un Nuevo Script
Source: https://altostrat.io/docs/api/es/scripts-programados/programar-un-nuevo-script
api/es/scripts.yaml post /scheduled
Crea una nueva entrada de script programado. Esto implica definir el contenido del script, seleccionar los dispositivos de destino (sitios), especificar una hora de lanzamiento y configurar los destinatarios de las notificaciones. El script estará en un estado 'no autorizado' hasta que se complete un flujo de trabajo de autorización.
# Recuperar un Script Programado
Source: https://altostrat.io/docs/api/es/scripts-programados/recuperar-un-script-programado
api/es/scripts.yaml get /scheduled/{scheduledScriptId}
Obtiene la información detallada de un único script programado, incluyendo su estado actual, progreso y configuración.
# Solicitar Autorización de Script
Source: https://altostrat.io/docs/api/es/scripts-programados/solicitar-autorización-de-script
api/es/scripts.yaml get /scheduled/{scheduledScriptId}/authorize
Inicia el flujo de trabajo de autorización para un script 'no autorizado'. Esta acción envía notificaciones (por ejemplo, WhatsApp, correo electrónico) a los destinatarios configurados, conteniendo un enlace único para aprobar la ejecución del script.
# Actualizar un grupo de seguridad
Source: https://altostrat.io/docs/api/es/security-groups/actualizar-un-grupo-de-seguridad
api/es/security-groups.yaml put /security-groups/{securityGroupId}
Actualiza un grupo de seguridad existente reemplazando completamente sus atributos, incluyendo su nombre, descripción, reglas y asociaciones de sitios. Esta es una operación de reemplazo total (PUT); cualquier campo omitido en los arrays `rules` o `sites` resultará en la eliminación de esos elementos.
# Crear un grupo de seguridad
Source: https://altostrat.io/docs/api/es/security-groups/crear-un-grupo-de-seguridad
api/es/security-groups.yaml post /security-groups
Crea un nuevo grupo de seguridad con un conjunto definido de reglas de firewall y asociaciones iniciales de sitios. El grupo se crea de forma atómica. Las asociaciones de sitios y los despliegues de reglas se gestionan de forma asíncrona. La respuesta indicará un estado de `syncing` si hay sitios que actualizar.
# Eliminar un grupo de seguridad
Source: https://altostrat.io/docs/api/es/security-groups/eliminar-un-grupo-de-seguridad
api/es/security-groups.yaml delete /security-groups/{securityGroupId}
Elimina permanentemente un grupo de seguridad. Esta acción no se puede deshacer. Un proceso asíncrono eliminará las reglas de firewall correspondientes de todos los sitios asociados.
# Listar grupos de seguridad
Source: https://altostrat.io/docs/api/es/security-groups/listar-grupos-de-seguridad
api/es/security-groups.yaml get /security-groups
Recupera una lista de todos los grupos de seguridad dentro de su organización. Este punto de conexión proporciona una vista resumida de cada grupo y no incluye la lista detallada de reglas o sitios asociados por razones de rendimiento. Para obtener todos los detalles, recupere un grupo de seguridad específico por su ID.
# Obtener un grupo de seguridad
Source: https://altostrat.io/docs/api/es/security-groups/obtener-un-grupo-de-seguridad
api/es/security-groups.yaml get /security-groups/{securityGroupId}
Recupera los detalles completos de un grupo de seguridad específico, incluyendo su nombre, descripción, estado, sitios asociados y una lista completa de sus reglas de firewall.
# Crear una nota de sitio
Source: https://altostrat.io/docs/api/es/site-files/crear-una-nota-de-sitio
api/es/metadata.yaml post /sites/{siteId}/notes
Crea una nueva nota en formato markdown y la adjunta al sitio especificado.
# Descargar un archivo de documento
Source: https://altostrat.io/docs/api/es/site-files/descargar-un-archivo-de-documento
api/es/metadata.yaml get /sites/{siteId}/documents/{documentId}
Descarga un archivo de documento específico asociado con un sitio.
# Descargar un archivo multimedia
Source: https://altostrat.io/docs/api/es/site-files/descargar-un-archivo-multimedia
api/es/metadata.yaml get /sites/{siteId}/media/{mediaId}
Descarga un archivo multimedia específico asociado con un sitio.
# Eliminar un archivo de documento
Source: https://altostrat.io/docs/api/es/site-files/eliminar-un-archivo-de-documento
api/es/metadata.yaml delete /sites/{siteId}/documents/{documentId}
Elimina permanentemente un archivo de documento de un sitio.
# Eliminar un archivo multimedia
Source: https://altostrat.io/docs/api/es/site-files/eliminar-un-archivo-multimedia
api/es/metadata.yaml delete /sites/{siteId}/media/{mediaId}
Elimina permanentemente un archivo multimedia de un sitio.
# Eliminar una nota de sitio
Source: https://altostrat.io/docs/api/es/site-files/eliminar-una-nota-de-sitio
api/es/metadata.yaml delete /sites/{siteId}/notes/{noteId}
Elimina permanentemente una nota de un sitio.
# Listar notas del sitio
Source: https://altostrat.io/docs/api/es/site-files/listar-notas-del-sitio
api/es/metadata.yaml get /sites/{siteId}/notes
Recupera una lista de todas las notas en formato markdown asociadas con un sitio específico.
# Obtener contenido de nota de sitio
Source: https://altostrat.io/docs/api/es/site-files/obtener-contenido-de-nota-de-sitio
api/es/metadata.yaml get /sites/{siteId}/notes/{noteId}
Descarga el contenido Markdown sin procesar de una nota de sitio específica.
# Obtener URL de subida para documentos
Source: https://altostrat.io/docs/api/es/site-files/obtener-url-de-subida-para-documentos
api/es/metadata.yaml post /sites/{siteId}/documents
Solicita una URL pre-firmada que se puede utilizar para subir un archivo de documento (p. ej., PDF, DOCX) directamente al almacenamiento seguro. Debe realizar una solicitud PUT a la `signed_url` devuelta con el contenido del archivo como cuerpo de la solicitud.
# Obtener URL de subida para medios
Source: https://altostrat.io/docs/api/es/site-files/obtener-url-de-subida-para-medios
api/es/metadata.yaml post /sites/{siteId}/media
Solicita una URL pre-firmada que se puede utilizar para subir un archivo multimedia (p. ej., imagen, video) directamente al almacenamiento seguro. Debe realizar una solicitud PUT a la `signed_url` devuelta con el contenido del archivo como cuerpo de la solicitud.
# Listar Interfaces del Sitio
Source: https://altostrat.io/docs/api/es/site-interfaces-&-metrics/listar-interfaces-del-sitio
api/es/monitoring-metrics.yaml get /v1/monitoring/interfaces/{siteId}
Recupera una lista de todas las interfaces de red monitoreadas a través de SNMP para un sitio específico.
# Obtener Métricas de Interfaz
Source: https://altostrat.io/docs/api/es/site-interfaces-&-metrics/obtener-métricas-de-interfaz
api/es/monitoring-metrics.yaml post /v1/monitoring/interfaces/{interfaceId}/metrics
Obtiene métricas de tráfico en series temporales (ifInOctets para entrada, ifOutOctets para salida) para una interfaz de red específica durante un período de tiempo determinado. Los valores se devuelven en bits por segundo.
# Obtener credenciales de API para un sitio
Source: https://altostrat.io/docs/api/es/site-operations/obtener-credenciales-de-api-para-un-sitio
api/es/control-plane.yaml get /sites/{siteId}/credentials
Recupera las credenciales de API actuales para un sitio. Estas credenciales son utilizadas por la plataforma Altostrat para gestionar el dispositivo.
# Obtener servidor de gestión para un sitio
Source: https://altostrat.io/docs/api/es/site-operations/obtener-servidor-de-gestión-para-un-sitio
api/es/control-plane.yaml get /sites/{siteId}/management-server
Recupera el nombre de host del servidor de gestión de Altostrat actualmente responsable del túnel seguro del sitio. Esto es útil para diagnósticos.
# Realizar una acción en un sitio
Source: https://altostrat.io/docs/api/es/site-operations/realizar-una-acción-en-un-sitio
api/es/control-plane.yaml post /sites/{siteId}/action
Envía un comando a un sitio para realizar una acción específica y predefinida. Esto se utiliza para operaciones remotas como reiniciar o limpiar las reglas del firewall.
Acciones disponibles:
- `site.upgrade`: Desencadena una actualización de software en el dispositivo.
- `site.clear_firewall`: Limpia las reglas del firewall del dispositivo.
- `site.reboot`: Reinicia el dispositivo.
- `site.recreate_management_filter`: Vuelve a aplicar las reglas del firewall de gestión de Altostrat.
- `site.recreate_tunnel`: Desmonta y reconstruye el túnel seguro hacia la plataforma.
- `site.resend_api_user`: Vuelve a enviar las credenciales de usuario de la API actuales al dispositivo.
# Rotar credenciales de API para un sitio
Source: https://altostrat.io/docs/api/es/site-operations/rotar-credenciales-de-api-para-un-sitio
api/es/control-plane.yaml post /sites/{siteId}/credentials
Genera nuevas credenciales de API para el sitio especificado. Las credenciales antiguas serán invalidadas y reemplazadas en el dispositivo.
# Desvincular Política BGP de un Sitio
Source: https://altostrat.io/docs/api/es/site-security-configuration/desvincular-política-bgp-de-un-sitio
api/es/utm-ips.yaml delete /sites/{siteId}/bgp
Desvincula la política de Inteligencia de Amenazas BGP actualmente activa de un sitio específico, desactivando el bloqueo de reputación de IP.
# Desvincular Política DNS de un Sitio
Source: https://altostrat.io/docs/api/es/site-security-configuration/desvincular-política-dns-de-un-sitio
api/es/utm-ips.yaml delete /sites/{siteId}/dns
Desvincula la política de Filtrado de Contenido DNS actualmente activa de un sitio específico, desactivando sus reglas.
# Listar Todas las Configuraciones de Seguridad de Sitios
Source: https://altostrat.io/docs/api/es/site-security-configuration/listar-todas-las-configuraciones-de-seguridad-de-sitios
api/es/utm-ips.yaml get /tunnel
Recupera una lista de todos los sitios (túneles) asociados a su cuenta y sus vinculaciones de políticas de seguridad actuales.
# Obtener la Configuración de Seguridad de un Sitio
Source: https://altostrat.io/docs/api/es/site-security-configuration/obtener-la-configuración-de-seguridad-de-un-sitio
api/es/utm-ips.yaml get /tunnel/{siteId}
Recupera las vinculaciones de políticas DNS y BGP actuales para un sitio específico.
# Vincular Política BGP a un Sitio
Source: https://altostrat.io/docs/api/es/site-security-configuration/vincular-política-bgp-a-un-sitio
api/es/utm-ips.yaml post /sites/{siteId}/bgp
Vincula una política de Inteligencia de Amenazas BGP a un sitio específico, activando el bloqueo de reputación de IP para ese sitio.
# Vincular Política DNS a un Sitio
Source: https://altostrat.io/docs/api/es/site-security-configuration/vincular-política-dns-a-un-sitio
api/es/utm-ips.yaml post /sites/{siteId}/dns
Vincula una política de Filtrado de Contenido DNS a un sitio específico, activando sus reglas para todo el tráfico de ese sitio.
# Listar usuarios de un sitio
Source: https://altostrat.io/docs/api/es/site-users/listar-usuarios-de-un-sitio
api/es/captive-portal.yaml get /sites/{siteId}/users
Recupera una lista paginada de usuarios que se han conectado a través del portal cautivo en un sitio específico.
# Actualizar un Sitio
Source: https://altostrat.io/docs/api/es/sites/actualizar-un-sitio
api/es/mikrotik-api.yaml patch /sites/{siteId}
Actualiza las propiedades mutables de un sitio, como su nombre, ubicación o zona horaria. Solo se actualizarán los campos proporcionados en el cuerpo de la solicitud.
# Eliminar un Sitio
Source: https://altostrat.io/docs/api/es/sites/eliminar-un-sitio
api/es/mikrotik-api.yaml delete /sites/{siteId}
Programa un sitio para su eliminación. Se enviará un comando al dispositivo para eliminar su programador de arranque y, después de un período de gracia, el registro del sitio y todos los datos asociados se eliminarán permanentemente.
# Listar Sitios
Source: https://altostrat.io/docs/api/es/sites/listar-sitios
api/es/mikrotik-api.yaml get /sites
Recupera una lista paginada de todos los sitios MikroTik asociados al espacio de trabajo del usuario autenticado.
# Listar Sitios (Mínimo)
Source: https://altostrat.io/docs/api/es/sites/listar-sitios-mínimo
api/es/mikrotik-api.yaml get /site-minimal
Recupera una lista condensada de sitios MikroTik, adecuada para elementos de la interfaz de usuario como menús de navegación donde solo se necesita información esencial.
# Listar Sitios Recientes
Source: https://altostrat.io/docs/api/es/sites/listar-sitios-recientes
api/es/mikrotik-api.yaml get /sites/recent
Devuelve una lista de los 5 sitios accedidos más recientemente por el usuario autenticado, ordenados por el acceso más reciente.
# Listar Todos los Sitios
Source: https://altostrat.io/docs/api/es/sites/listar-todos-los-sitios
api/es/generative-ai.yaml get /sites
Recupera una lista simplificada de todos los sitios (routers MikroTik) gestionados dentro de la organización. Este endpoint está optimizado para el rendimiento y es ideal para poblar interfaces de usuario u obtener los IDs de los sitios para su uso en otras llamadas a la API.
# Obtener Información OEM del Sitio
Source: https://altostrat.io/docs/api/es/sites/obtener-información-oem-del-sitio
api/es/generative-ai.yaml get /sites/{siteId}/oem
Recupera información detallada del Fabricante de Equipos Originales (OEM) para un router MikroTik específico desplegado. Esto incluye especificaciones de hardware, números de serie, CPU, RAM y el nivel de licencia de RouterOS.
# Obtener Metadatos del Sitio
Source: https://altostrat.io/docs/api/es/sites/obtener-metadatos-del-sitio
api/es/generative-ai.yaml get /sites/{siteId}/metadata
Recupera metadatos de formato libre asociados a un sitio específico. Esto puede incluir el nombre asignado al router, la zona horaria configurada, mensajes de banner personalizados, notas u otras etiquetas definidas por el usuario.
# Obtener Métricas del Sitio
Source: https://altostrat.io/docs/api/es/sites/obtener-métricas-del-sitio
api/es/generative-ai.yaml get /sites/{siteId}/metrics
Recupera las métricas de tiempo de actividad (uptime) e inactividad (downtime) para un sitio específico durante las últimas 24 horas, basándose en las señales de 'heartbeat' recibidas por la plataforma Altostrat.
# Obtener un Sitio
Source: https://altostrat.io/docs/api/es/sites/obtener-un-sitio
api/es/mikrotik-api.yaml get /sites/{siteId}
Recupera los detalles completos de un sitio MikroTik específico por su identificador único (UUID).
# Actualizar una Programación de Informe
Source: https://altostrat.io/docs/api/es/sla-report-schedules/actualizar-una-programación-de-informe
api/es/reports.yaml put /sla/schedules/{scheduleId}
Actualiza la configuración de una programación de informe SLA existente.
# Crear Programación de Informe SLA
Source: https://altostrat.io/docs/api/es/sla-report-schedules/crear-programación-de-informe-sla
api/es/reports.yaml post /sla/schedules
Crea una nueva programación de informe SLA. Esta programación define un informe recurrente, incluyendo su frecuencia, criterios de selección de sitios y objetivos de SLA. El `id` de la programación será generado por el servidor.
# Ejecutar un Informe Bajo Demanda
Source: https://altostrat.io/docs/api/es/sla-report-schedules/ejecutar-un-informe-bajo-demanda
api/es/reports.yaml post /sla/schedules/{scheduleId}/run
Desencadena la generación inmediata y bajo demanda de un informe para un rango de fechas específico. Esto no afecta a la programación regular. La generación del informe es asíncrona y el resultado aparecerá en la lista de Informes Generados cuando se complete.
# Eliminar una Programación de Informe
Source: https://altostrat.io/docs/api/es/sla-report-schedules/eliminar-una-programación-de-informe
api/es/reports.yaml delete /sla/schedules/{scheduleId}
Elimina permanentemente una programación de informe SLA. Esta acción no se puede deshacer.
# Listar Programaciones de Informes SLA
Source: https://altostrat.io/docs/api/es/sla-report-schedules/listar-programaciones-de-informes-sla
api/es/reports.yaml get /sla/schedules
Recupera una lista de todas las programaciones de informes SLA configuradas para el espacio de trabajo del cliente autenticado.
# Obtener una Programación de Informe
Source: https://altostrat.io/docs/api/es/sla-report-schedules/obtener-una-programación-de-informe
api/es/reports.yaml get /sla/schedules/{scheduleId}
Recupera los detalles de una única programación de informe SLA por su ID único.
# Actualizar una suscripción
Source: https://altostrat.io/docs/api/es/subscriptions/actualizar-una-suscripción
api/es/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Actualiza una suscripción. Este endpoint admite múltiples operaciones distintas. Puede cambiar las cantidades de productos, añadir o eliminar productos, actualizar metadatos o realizar una acción como `pause`, `resume` o `sync`. Solo se permite un tipo de operación (p. ej., `product_quantities`, `add_products`, `action`) por solicitud.
# Cancelar una suscripción
Source: https://altostrat.io/docs/api/es/subscriptions/cancelar-una-suscripción
api/es/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Cancela una suscripción al final del período de facturación actual. Esta operación no puede realizarse si dejaría al espacio de trabajo o a la cuenta de facturación con capacidad insuficiente para su uso de recursos actual.
# Comprobar elegibilidad para prueba
Source: https://altostrat.io/docs/api/es/subscriptions/comprobar-elegibilidad-para-prueba
api/es/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/trial-eligibility
Comprueba si un espacio de trabajo es elegible para una prueba gratuita de 14 días. Un espacio de trabajo es elegible si solo tiene una cuenta de facturación y no tiene suscripciones existentes.
# Crear una suscripción
Source: https://altostrat.io/docs/api/es/subscriptions/crear-una-suscripción
api/es/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Crea una nueva suscripción de Stripe para una cuenta de facturación. Si el espacio de trabajo es elegible para una prueba, se crea una suscripción de prueba de 14 días sin requerir un método de pago. De lo contrario, debe haber un método de pago predeterminado en la cuenta de facturación.
# Listar suscripciones
Source: https://altostrat.io/docs/api/es/subscriptions/listar-suscripciones
api/es/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Devuelve una lista de suscripciones asociadas con una cuenta de facturación.
# Obtener una suscripción
Source: https://altostrat.io/docs/api/es/subscriptions/obtener-una-suscripción
api/es/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Obtiene los detalles de una suscripción específica.
# Actualizar una etiqueta en un recurso
Source: https://altostrat.io/docs/api/es/tag-values/actualizar-una-etiqueta-en-un-recurso
api/es/metadata.yaml put /tags/{tagId}/values/{correlationId}
Actualiza el valor de una etiqueta en un recurso específico. Esto es efectivamente lo mismo que crear un nuevo valor de etiqueta, ya que sobrescribirá cualquier valor existente para esa etiqueta en el recurso.
# Aplicar una etiqueta a un recurso
Source: https://altostrat.io/docs/api/es/tag-values/aplicar-una-etiqueta-a-un-recurso
api/es/metadata.yaml post /tags/{tagId}/values
Aplica una etiqueta con un valor específico a un recurso, identificado por su `correlation_id` y `correlation_type`. Si ya existe una etiqueta con el mismo valor (sin distinción de mayúsculas y minúsculas) para esta definición de etiqueta, se utilizará el valor canónico existente.
# Buscar recursos por valor de etiqueta
Source: https://altostrat.io/docs/api/es/tag-values/buscar-recursos-por-valor-de-etiqueta
api/es/metadata.yaml get /tags/{tagId}/resources
Recupera una lista de todos los recursos que tienen una etiqueta específica aplicada con un valor específico. Esta es una consulta potente para filtrar recursos según sus clasificaciones.
# Eliminar una etiqueta de un recurso
Source: https://altostrat.io/docs/api/es/tag-values/eliminar-una-etiqueta-de-un-recurso
api/es/metadata.yaml delete /tags/{tagId}/values/{correlationId}
Elimina una etiqueta específica de un recurso. Esto no elimina la definición de la etiqueta en sí.
# Listar etiquetas para un recurso
Source: https://altostrat.io/docs/api/es/tag-values/listar-etiquetas-para-un-recurso
api/es/metadata.yaml get /resources/{correlationId}/tags
Recupera todas las etiquetas que se han aplicado a un recurso específico.
# Listar valores únicos para una etiqueta
Source: https://altostrat.io/docs/api/es/tag-values/listar-valores-únicos-para-una-etiqueta
api/es/metadata.yaml get /tags/{tagId}/values
Recupera una lista de valores únicos que se han aplicado a los recursos utilizando una definición de etiqueta específica. Esto es útil para rellenar menús desplegables o campos de autocompletar en una interfaz de usuario.
# Actualizar una definición de etiqueta
Source: https://altostrat.io/docs/api/es/tags/actualizar-una-definición-de-etiqueta
api/es/metadata.yaml put /tags/{tagId}
Actualiza las propiedades de una definición de etiqueta existente, como su clave o color.
# Crear una definición de etiqueta
Source: https://altostrat.io/docs/api/es/tags/crear-una-definición-de-etiqueta
api/es/metadata.yaml post /tags
Crea una nueva definición de etiqueta. Una definición de etiqueta actúa como una plantilla o categoría (p. ej., "Tipo de Sitio", "Prioridad") que luego se puede aplicar a varios recursos.
# Eliminar una definición de etiqueta
Source: https://altostrat.io/docs/api/es/tags/eliminar-una-definición-de-etiqueta
api/es/metadata.yaml delete /tags/{tagId}
Elimina permanentemente una definición de etiqueta y todos sus valores asociados de todos los recursos. Esta acción no se puede deshacer.
# Listar todas las definiciones de etiquetas
Source: https://altostrat.io/docs/api/es/tags/listar-todas-las-definiciones-de-etiquetas
api/es/metadata.yaml get /tags
Recupera una lista de todas las definiciones de etiquetas para su espacio de trabajo. Cada definición de etiqueta incluye su clave, color y una lista de todos los valores aplicados actualmente a los recursos. Esto es útil para comprender los esquemas de clasificación disponibles en su entorno.
# Recuperar una definición de etiqueta
Source: https://altostrat.io/docs/api/es/tags/recuperar-una-definición-de-etiqueta
api/es/metadata.yaml get /tags/{tagId}
Recupera los detalles de una definición de etiqueta específica por su ID único. Esto incluye todos los valores que se han aplicado a los recursos utilizando esta etiqueta.
# Listar Temas Disponibles
Source: https://altostrat.io/docs/api/es/temas/listar-temas-disponibles
api/es/notifications.yaml get /notifications/topics
Recupera una lista de todos los temas de notificación disponibles. Estas son las categorías de eventos a las que los grupos de notificación pueden suscribirse.
# Crear una sesión de acceso transitorio
Source: https://altostrat.io/docs/api/es/transient-access/crear-una-sesión-de-acceso-transitorio
api/es/control-plane.yaml post /sites/{siteId}/transient-accesses
Crea una sesión temporal y segura para acceder a un sitio a través de Winbox o SSH. La sesión se revoca automáticamente después de la duración especificada.
# Listar accesos transitorios para un sitio
Source: https://altostrat.io/docs/api/es/transient-access/listar-accesos-transitorios-para-un-sitio
api/es/control-plane.yaml get /sites/{siteId}/transient-accesses
Recupera una lista de todas las sesiones de acceso transitorio activas y expiradas para un sitio específico.
# Obtener una sesión de acceso transitorio
Source: https://altostrat.io/docs/api/es/transient-access/obtener-una-sesión-de-acceso-transitorio
api/es/control-plane.yaml get /sites/{siteId}/transient-accesses/{accessId}
Recupera los detalles de una única sesión de acceso transitorio.
# Revocar una sesión de acceso transitorio
Source: https://altostrat.io/docs/api/es/transient-access/revocar-una-sesión-de-acceso-transitorio
api/es/control-plane.yaml delete /sites/{siteId}/transient-accesses/{accessId}
Revoca inmediatamente una sesión de acceso transitorio activa, terminando la conexión e impidiendo el acceso posterior.
# Crear un reenvío de puerto transitorio
Source: https://altostrat.io/docs/api/es/transient-port-forwarding/crear-un-reenvío-de-puerto-transitorio
api/es/control-plane.yaml post /sites/{siteId}/transient-forward
Crea una regla de reenvío de puertos temporal y segura. Esto le permite acceder a un dispositivo (por ejemplo, un servidor o una cámara) en la LAN detrás de su sitio MikroTik desde una dirección IP pública específica.
# Listar reenvíos de puertos transitorios para un sitio
Source: https://altostrat.io/docs/api/es/transient-port-forwarding/listar-reenvíos-de-puertos-transitorios-para-un-sitio
api/es/control-plane.yaml get /sites/{siteId}/transient-forward
Recupera una lista de todas las reglas de reenvío de puertos transitorios activas y expiradas para un sitio específico.
# Obtener un reenvío de puerto transitorio
Source: https://altostrat.io/docs/api/es/transient-port-forwarding/obtener-un-reenvío-de-puerto-transitorio
api/es/control-plane.yaml get /sites/{siteId}/transient-forward/{forwardId}
Recupera los detalles de una única regla de reenvío de puerto transitorio.
# Revocar un reenvío de puerto transitorio
Source: https://altostrat.io/docs/api/es/transient-port-forwarding/revocar-un-reenvío-de-puerto-transitorio
api/es/control-plane.yaml delete /sites/{siteId}/transient-forward/{forwardId}
Revoca inmediatamente una regla de reenvío de puertos activa, cerrando la conexión.
# Listar regiones de servidor disponibles
Source: https://altostrat.io/docs/api/es/utilities/listar-regiones-de-servidor-disponibles
api/es/managed-vpn.yaml get /servers/regions
Recupera una lista estructurada de todas las regiones geográficas disponibles donde se puede desplegar una instancia de VPN.
# Listar subredes para un sitio
Source: https://altostrat.io/docs/api/es/utilities/listar-subredes-para-un-sitio
api/es/managed-vpn.yaml get /site/{siteId}/subnets
Recupera una lista de subredes disponibles para un sitio específico, lo cual es útil al configurar pares de sitio a sitio.
# Listar tipos de nodo disponibles
Source: https://altostrat.io/docs/api/es/utilities/listar-tipos-de-nodo-disponibles
api/es/workflows.yaml get /workflows/node-types
Recupera una lista de todos los tipos de nodo disponibles (disparadores, acciones y condiciones) que se pueden usar para construir flujos de trabajo, junto con sus esquemas de configuración.
# Probar un único nodo
Source: https://altostrat.io/docs/api/es/utilities/probar-un-único-nodo
api/es/workflows.yaml post /workflows/test-node
Ejecuta un único nodo de flujo de trabajo de forma aislada con un contexto proporcionado. Esta es una potente herramienta de depuración para probar la lógica de un nodo sin ejecutar un flujo de trabajo completo.
# Actualizar un elemento de la bóveda
Source: https://altostrat.io/docs/api/es/vault/actualizar-un-elemento-de-la-bóveda
api/es/workflows.yaml put /vault/{vaultId}
Actualiza un elemento existente de la bóveda, como su nombre, valor secreto o fecha de vencimiento.
# Crear un elemento en la bóveda
Source: https://altostrat.io/docs/api/es/vault/crear-un-elemento-en-la-bóveda
api/es/workflows.yaml post /vault
Crea un nuevo elemento en la bóveda para almacenar información sensible como claves de API o contraseñas. El valor secreto se cifra en reposo y solo puede ser utilizado por los flujos de trabajo.
# Eliminar un elemento de la bóveda
Source: https://altostrat.io/docs/api/es/vault/eliminar-un-elemento-de-la-bóveda
api/es/workflows.yaml delete /vault/{vaultId}
Elimina permanentemente un elemento de la bóveda. Esta acción no se puede deshacer. Cualquier flujo de trabajo que utilice este elemento fallará.
# Listar elementos de la bóveda
Source: https://altostrat.io/docs/api/es/vault/listar-elementos-de-la-bóveda
api/es/workflows.yaml get /vault
Recupera una lista de todos los elementos secretos almacenados en la bóveda de su organización. Los valores secretos en sí nunca se devuelven.
# Obtener un elemento de la bóveda
Source: https://altostrat.io/docs/api/es/vault/obtener-un-elemento-de-la-bóveda
api/es/workflows.yaml get /vault/{vaultId}
Recupera los detalles de un único elemento de la bóveda por su ID con prefijo. El valor secreto nunca se devuelve.
# Listar Todas las Direcciones MAC Escaneadas
Source: https://altostrat.io/docs/api/es/vulnerability-intelligence/listar-todas-las-direcciones-mac-escaneadas
api/es/cve-scans.yaml get /scans/cve/mac-address/cve/list
Recupera una lista de todas las direcciones MAC únicas que han sido descubiertas en todos los escaneos de su cuenta. Esto se puede utilizar para poblar un inventario de dispositivos o para descubrir qué dispositivos consultar para buscar CVEs.
# Obtener CVEs por Dirección MAC
Source: https://altostrat.io/docs/api/es/vulnerability-intelligence/obtener-cves-por-dirección-mac
api/es/cve-scans.yaml post /scans/cve/mac-address/cves
Recupera todas las vulnerabilidades (CVEs) descubiertas asociadas con una lista específica de direcciones MAC a lo largo de todos los escaneos históricos. Este es el endpoint principal para rastrear el historial de vulnerabilidades de un dispositivo.
Nota: Este endpoint utiliza POST para permitir la consulta de múltiples direcciones MAC en el cuerpo de la solicitud, lo cual es más robusto y seguro que una URL GET larga.
# Obtener Pasos de Mitigación
Source: https://altostrat.io/docs/api/es/vulnerability-intelligence/obtener-pasos-de-mitigación
api/es/cve-scans.yaml get /scans/cve/mitigation/{cve_id}
Proporciona pasos de mitigación accionables y generados por IA para un identificador de CVE específico. La respuesta está formateada en Markdown para una fácil representación.
# Actualizar Estado de CVE
Source: https://altostrat.io/docs/api/es/vulnerability-management/actualizar-estado-de-cve
api/es/cve-scans.yaml post /scans/cve/mac-address/cve/status
Actualiza el estado de un CVE específico para una dirección MAC dada. Use esto para marcar una vulnerabilidad como 'aceptada' (p. ej., un falso positivo o un riesgo aceptable) o 'mitigada' (p. ej., se ha aplicado un parche o existe una solución alternativa). Cada actualización crea un nuevo registro histórico.
# Listar Estados de CVE
Source: https://altostrat.io/docs/api/es/vulnerability-management/listar-estados-de-cve
api/es/cve-scans.yaml get /scans/cve/mac-address/cve/status
Recupera una lista de todos los estados de CVE gestionados. Puede filtrar los resultados por dirección MAC, ID de CVE o estado para encontrar registros específicos.
# Actualizar una entrada de walled garden
Source: https://altostrat.io/docs/api/es/walled-garden/actualizar-una-entrada-de-walled-garden
api/es/captive-portal.yaml put /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Actualiza los detalles de una entrada del walled garden, como su nombre. La dirección IP no se puede cambiar.
# Crear una entrada de walled garden
Source: https://altostrat.io/docs/api/es/walled-garden/crear-una-entrada-de-walled-garden
api/es/captive-portal.yaml post /sites/{siteId}/walled-garden-entries
Agrega una nueva dirección IP o subred al walled garden para un sitio específico, permitiendo a los usuarios acceder a ella antes de autenticarse.
# Eliminar una entrada de walled garden
Source: https://altostrat.io/docs/api/es/walled-garden/eliminar-una-entrada-de-walled-garden
api/es/captive-portal.yaml delete /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Elimina una entrada del walled garden, bloqueando el acceso pre-autenticación a la dirección IP o subred especificada.
# Listar entradas del walled garden para un sitio
Source: https://altostrat.io/docs/api/es/walled-garden/listar-entradas-del-walled-garden-para-un-sitio
api/es/captive-portal.yaml get /sites/{siteId}/walled-garden-entries
Recupera una lista de todas las entradas del walled garden (destinos permitidos antes de la autenticación) para un sitio específico.
# Obtener una entrada de walled garden
Source: https://altostrat.io/docs/api/es/walled-garden/obtener-una-entrada-de-walled-garden
api/es/captive-portal.yaml get /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Recupera los detalles de una entrada específica del walled garden.
# Listar Túneles WAN del Sitio
Source: https://altostrat.io/docs/api/es/wan-tunnels-&-performance/listar-túneles-wan-del-sitio
api/es/monitoring-metrics.yaml get /v1/monitoring/wan-tunnels/{siteId}
Recupera una lista de todos los túneles SD-WAN configurados para un sitio específico.
# Obtener Estadísticas de Ping Agregadas
Source: https://altostrat.io/docs/api/es/wan-tunnels-&-performance/obtener-estadísticas-de-ping-agregadas
api/es/monitoring-metrics.yaml post /v1/monitoring/wan/ping-stats
Obtiene datos de series temporales agregados para latencia, jitter (mdev) y pérdida de paquetes para uno o más túneles WAN durante un período de tiempo especificado. Si no se especifican túneles, devuelve un promedio agregado de todos los túneles. Este endpoint está optimizado para crear gráficos de rendimiento con un número específico de puntos de datos.
# Actualizar Prioridades de los Túneles
Source: https://altostrat.io/docs/api/es/wan-tunnels/actualizar-prioridades-de-los-túneles
api/es/wan-failover.yaml post /v1/failover/{site_id}/priorities
Reordena la prioridad de conmutación por error para todos los túneles asociados a un sitio. Esta es una operación atómica; debe proporcionar una lista completa de todos los túneles y sus nuevas prioridades deseadas. El número más bajo representa la prioridad más alta.
# Añadir un nuevo Túnel WAN
Source: https://altostrat.io/docs/api/es/wan-tunnels/añadir-un-nuevo-túnel-wan
api/es/wan-failover.yaml post /v1/failover/{site_id}/tunnels
Crea un nuevo túnel WAN sin configurar para el sitio, hasta el máximo permitido por la suscripción. Después de la creación, debe usar una solicitud `PUT` a `/v1/failover/{site_id}/tunnels/{tunnel_id}` para configurar sus propiedades como la interfaz y la puerta de enlace.
# Configurar un Túnel WAN
Source: https://altostrat.io/docs/api/es/wan-tunnels/configurar-un-túnel-wan
api/es/wan-failover.yaml put /v1/failover/{site_id}/tunnels/{tunnel_id}
Actualiza la configuración de un túnel WAN específico. Este es el endpoint principal para definir cómo opera una conexión WAN, incluyendo su interfaz de router, puerta de enlace y tipo de conexión.
# Eliminar un Túnel WAN
Source: https://altostrat.io/docs/api/es/wan-tunnels/eliminar-un-túnel-wan
api/es/wan-failover.yaml delete /v1/failover/{site_id}/tunnels/{tunnel_id}
Elimina permanentemente un túnel WAN de la configuración de conmutación por error. El sistema volverá a priorizar automáticamente los túneles restantes.
# Listar Túneles de un Sitio
Source: https://altostrat.io/docs/api/es/wan-tunnels/listar-túneles-de-un-sitio
api/es/wan-failover.yaml get /v1/failover/{site_id}/tunnels
Recupera una lista detallada de todos los túneles WAN configurados para un sitio específico.
# Obtener un Túnel Específico
Source: https://altostrat.io/docs/api/es/wan-tunnels/obtener-un-túnel-específico
api/es/wan-failover.yaml get /v1/failover/{site_id}/tunnels/{tunnel_id}
Recupera la configuración detallada y el estado de un único túnel WAN.
# Disparar un flujo de trabajo vía webhook
Source: https://altostrat.io/docs/api/es/webhooks/disparar-un-flujo-de-trabajo-vía-webhook
api/es/workflows.yaml post /workflows/webhooks/{webhookToken}
Un endpoint público para disparar un flujo de trabajo que tiene un `webhook_trigger`. La autenticación se maneja mediante el token único y secreto en la ruta de la URL. El cuerpo completo de la solicitud estará disponible en el contexto del flujo de trabajo.
# Ejecutar un flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflow-runs/ejecutar-un-flujo-de-trabajo
api/es/workflows.yaml post /workflows/{workflowId}/execute
Dispara manualmente la ejecución de un flujo de trabajo. El flujo de trabajo se ejecutará de forma asíncrona en segundo plano. La respuesta confirma que la ejecución ha sido aceptada y proporciona el ID de la nueva ejecución del flujo de trabajo.
# Listar ejecuciones de flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflow-runs/listar-ejecuciones-de-flujo-de-trabajo
api/es/workflows.yaml get /workflows/{workflowId}/executions
Recupera una lista paginada de todas las ejecuciones pasadas y actuales para un flujo de trabajo específico, ordenadas por las más recientes.
# Obtener una ejecución de flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflow-runs/obtener-una-ejecución-de-flujo-de-trabajo
api/es/workflows.yaml get /workflows/runs/{runId}
Recupera los detalles de una única ejecución de flujo de trabajo, incluyendo su estado, el payload del disparador, mensaje de error (si lo hay) y un registro completo y ordenado de cada paso que se ejecutó.
# Re-ejecutar un flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflow-runs/re-ejecutar-un-flujo-de-trabajo
api/es/workflows.yaml post /workflows/runs/{runId}/rerun
Crea una nueva ejecución de flujo de trabajo utilizando el mismo payload del disparador inicial que una ejecución anterior. Esto es útil para reintentar una ejecución fallida o completada con los datos de entrada originales.
# Reanudar un flujo de trabajo fallido
Source: https://altostrat.io/docs/api/es/workflow-runs/reanudar-un-flujo-de-trabajo-fallido
api/es/workflows.yaml post /workflows/runs/{runId}/resume-from/{nodeId}
Reanuda una ejecución de flujo de trabajo fallida desde un nodo específico que se completó con éxito. Se crea una nueva ejecución de flujo de trabajo, heredando el contexto de la ejecución original hasta el nodo especificado, y la ejecución continúa desde allí.
# Actualizar un flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflows/actualizar-un-flujo-de-trabajo
api/es/workflows.yaml put /workflows/{workflowId}
Actualiza un flujo de trabajo existente. Puede actualizar cualquier propiedad, incluyendo el nombre, la descripción, el estado de activación, la programación o el grafo completo de nodos y aristas.
# Crear un nuevo flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflows/crear-un-nuevo-flujo-de-trabajo
api/es/workflows.yaml post /workflows
Crea una nueva definición de flujo de trabajo, incluyendo sus nodos y aristas que definen el grafo de automatización. Un flujo de trabajo válido debe tener exactamente un nodo disparador.
# Ejecutar un flujo de trabajo síncrono
Source: https://altostrat.io/docs/api/es/workflows/ejecutar-un-flujo-de-trabajo-síncrono
api/es/workflows.yaml post /workflows/sync/{workflowId}
Ejecuta un flujo de trabajo que contiene un `sync_request_trigger` y devuelve el resultado inmediatamente. El flujo de trabajo debe estar diseñado para ejecución síncrona, lo que significa que no puede contener tareas de larga duración como retrasos o iteradores. El nodo final debe ser un nodo `text_transform` configurado como la respuesta.
# Eliminar un flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflows/eliminar-un-flujo-de-trabajo
api/es/workflows.yaml delete /workflows/{workflowId}
Elimina permanentemente un flujo de trabajo y todas sus ejecuciones y registros asociados. Esta acción no se puede deshacer. Un flujo de trabajo no puede ser eliminado si está siendo llamado por otro flujo de trabajo.
# Listar todos los flujos de trabajo
Source: https://altostrat.io/docs/api/es/workflows/listar-todos-los-flujos-de-trabajo
api/es/workflows.yaml get /workflows
Recupera una lista de todos los flujos de trabajo que pertenecen a su organización. Este endpoint es útil para visualizaciones en paneles de control o para seleccionar un flujo de trabajo para ejecutar o editar.
# Obtener un flujo de trabajo
Source: https://altostrat.io/docs/api/es/workflows/obtener-un-flujo-de-trabajo
api/es/workflows.yaml get /workflows/{workflowId}
Recupera los detalles completos de un único flujo de trabajo por su ID con prefijo, incluyendo su configuración completa de nodos y aristas.
# Actualizar el rol de un miembro
Source: https://altostrat.io/docs/api/es/workspace-members/actualizar-el-rol-de-un-miembro
api/es/workspaces.yaml patch /workspaces/{workspaceId}/members/{memberId}
Actualiza el rol de un miembro existente en un espacio de trabajo. Los cambios de rol están sujetos a reglas de jerarquía; por ejemplo, un administrador no puede promover a otro miembro a propietario.
# Añadir un miembro a un espacio de trabajo
Source: https://altostrat.io/docs/api/es/workspace-members/añadir-un-miembro-a-un-espacio-de-trabajo
api/es/workspaces.yaml post /workspaces/{workspaceId}/members
Añade un nuevo usuario a un espacio de trabajo con un rol especificado. Solo los propietarios y administradores del espacio de trabajo pueden añadir nuevos miembros. Un espacio de trabajo no puede tener más de 100 miembros.
# Eliminar un miembro de un espacio de trabajo
Source: https://altostrat.io/docs/api/es/workspace-members/eliminar-un-miembro-de-un-espacio-de-trabajo
api/es/workspaces.yaml delete /workspaces/{workspaceId}/members/{memberId}
Elimina un miembro de un espacio de trabajo. Un usuario puede eliminarse a sí mismo, o un propietario/administrador puede eliminar a otros miembros. El último propietario de un espacio de trabajo no puede ser eliminado.
# Listar miembros del espacio de trabajo
Source: https://altostrat.io/docs/api/es/workspace-members/listar-miembros-del-espacio-de-trabajo
api/es/workspaces.yaml get /workspaces/{workspaceId}/members
Devuelve una lista de usuarios que son miembros del espacio de trabajo especificado, incluyendo sus roles.
# Actualizar un espacio de trabajo
Source: https://altostrat.io/docs/api/es/workspaces/actualizar-un-espacio-de-trabajo
api/es/workspaces.yaml patch /workspaces/{workspaceId}
Actualiza el espacio de trabajo especificado estableciendo los valores de los parámetros pasados. Cualquier parámetro no proporcionado se dejará sin cambios. Solo los propietarios y administradores del espacio de trabajo pueden realizar esta acción.
# Archivar un espacio de trabajo
Source: https://altostrat.io/docs/api/es/workspaces/archivar-un-espacio-de-trabajo
api/es/workspaces.yaml delete /workspaces/{workspaceId}
Archiva un espacio de trabajo, evitando cualquier modificación futura. Un espacio de trabajo no puede ser archivado si contiene organizaciones con uso de recursos activo o cuentas de facturación con suscripciones activas. Esta es una operación de borrado lógico. Solo los propietarios del espacio de trabajo pueden realizar esta acción.
# Crear un espacio de trabajo
Source: https://altostrat.io/docs/api/es/workspaces/crear-un-espacio-de-trabajo
api/es/workspaces.yaml post /workspaces
Crea un nuevo espacio de trabajo, que actúa como un contenedor de nivel superior para sus recursos, usuarios y configuraciones de facturación. Al usuario que crea el espacio de trabajo se le asigna automáticamente el rol de 'propietario'.
# Listar espacios de trabajo
Source: https://altostrat.io/docs/api/es/workspaces/listar-espacios-de-trabajo
api/es/workspaces.yaml get /workspaces
Devuelve una lista de los espacios de trabajo de los que el usuario autenticado es miembro.
# Obtener un espacio de trabajo
Source: https://altostrat.io/docs/api/es/workspaces/obtener-un-espacio-de-trabajo
api/es/workspaces.yaml get /workspaces/{workspaceId}
Obtiene los detalles de un espacio de trabajo existente. Debe ser miembro del espacio de trabajo para obtenerlo.
# Menghasilkan token akses sementara
Source: https://altostrat.io/docs/api/id/access-tokens/menghasilkan-token-akses-sementara
api/id/faults.yaml post /token
Menghasilkan JSON Web Token (JWT) berumur pendek yang dapat digunakan untuk menyediakan akses sementara hanya-baca ke data gangguan tertentu, biasanya untuk disematkan di dasbor eksternal.
# Hasilkan Skrip dari Perintah
Source: https://altostrat.io/docs/api/id/ai-script-generation/hasilkan-skrip-dari-perintah
api/id/scripts.yaml post /gen-ai
Mengirimkan perintah bahasa alami ke mesin AI untuk menghasilkan skrip MikroTik RouterOS. Respons mencakup konten skrip yang dihasilkan, penanda yang menunjukkan jika skrip berpotensi merusak, dan kesalahan atau peringatan apa pun dari AI.
# Mendapatkan gangguan terbaru (Legacy)
Source: https://altostrat.io/docs/api/id/analytics/mendapatkan-gangguan-terbaru-legacy
api/id/faults.yaml get /recent
Mengambil daftar gangguan terbaru. Endpoint ini menyediakan tampilan spesifik kesehatan jaringan: endpoint ini mengembalikan semua gangguan yang saat ini belum teratasi, ditambah gangguan apa pun yang diselesaikan dalam 10 menit terakhir.
**Catatan:** Ini adalah endpoint lawas yang dipertahankan untuk kompatibilitas mundur. Untuk kueri yang lebih fleksibel, kami merekomendasikan penggunaan endpoint utama `GET /faults` dengan filter yang sesuai.
# Mendapatkan sumber daya teratas yang mengalami gangguan
Source: https://altostrat.io/docs/api/id/analytics/mendapatkan-sumber-daya-teratas-yang-mengalami-gangguan
api/id/faults.yaml get /top_faults
Mengambil daftar 10 sumber daya teratas yang paling sering mengalami gangguan selama 14 hari terakhir, beserta sampel peristiwa gangguan terbaru mereka. Ini berguna untuk mengidentifikasi area bermasalah di jaringan Anda.
# Cari Entri ARP
Source: https://altostrat.io/docs/api/id/arp-inventory/cari-entri-arp
api/id/monitoring-metrics.yaml post /v1/monitoring/arps
Melakukan pencarian berpaginasi untuk entri ARP di satu atau lebih situs, dengan opsi untuk memfilter dan mengurutkan. Ini adalah endpoint utama untuk membangun inventaris perangkat yang terhubung.
# Perbarui Entri ARP
Source: https://altostrat.io/docs/api/id/arp-inventory/perbarui-entri-arp
api/id/monitoring-metrics.yaml put /v1/monitoring/arps/{siteId}/{arpEntryId}
Memperbarui metadata untuk entri ARP tertentu, seperti menugaskannya ke grup atau mengatur alias khusus.
# Ambil integrasi auth
Source: https://altostrat.io/docs/api/id/auth-integrations/ambil-integrasi-auth
api/id/captive-portal.yaml get /auth-integrations/{authIntegrationId}
Mengambil detail integrasi autentikasi tertentu berdasarkan ID uniknya.
# Buat integrasi auth
Source: https://altostrat.io/docs/api/id/auth-integrations/buat-integrasi-auth
api/id/captive-portal.yaml post /auth-integrations
Membuat integrasi autentikasi baru untuk digunakan dengan instance captive portal yang memiliki strategi 'oauth2'.
# Daftar semua integrasi auth
Source: https://altostrat.io/docs/api/id/auth-integrations/daftar-semua-integrasi-auth
api/id/captive-portal.yaml get /auth-integrations
Mengambil daftar semua integrasi autentikasi OAuth2 (IDP) yang dikonfigurasi untuk akun pengguna.
# Hapus integrasi auth
Source: https://altostrat.io/docs/api/id/auth-integrations/hapus-integrasi-auth
api/id/captive-portal.yaml delete /auth-integrations/{authIntegrationId}
Menghapus integrasi autentikasi secara permanen. Tindakan ini tidak dapat dibatalkan dan dapat memengaruhi instance captive portal yang bergantung padanya.
# Perbarui integrasi auth
Source: https://altostrat.io/docs/api/id/auth-integrations/perbarui-integrasi-auth
api/id/captive-portal.yaml put /auth-integrations/{authIntegrationId}
Memperbarui konfigurasi integrasi autentikasi yang sudah ada.
# Ambil Cadangan Tertentu
Source: https://altostrat.io/docs/api/id/backups/ambil-cadangan-tertentu
api/id/backups.yaml get /sites/{siteId}/backups/{filename}
Mengambil isi dari file cadangan tertentu. Format respons dapat dikontrol melalui header HTTP untuk mengembalikan metadata JSON, teks mentah, HTML yang disorot, atau file yang dapat diunduh.
# Bandingkan Dua Cadangan
Source: https://altostrat.io/docs/api/id/backups/bandingkan-dua-cadangan
api/id/backups.yaml get /sites/{siteId}/backups/{fromFilename}/diff/{toFilename}
Menghasilkan diff terpadu antara dua file cadangan untuk sebuah situs, menunjukkan perubahan konfigurasi yang presisi. Ini sangat berharga untuk mengaudit perubahan dan memahami evolusi jaringan.
# Daftar Cadangan untuk sebuah Situs
Source: https://altostrat.io/docs/api/id/backups/daftar-cadangan-untuk-sebuah-situs
api/id/backups.yaml get /sites/{siteId}/backups
Mengambil daftar semua file cadangan konfigurasi yang tersedia untuk situs tertentu, diurutkan dari yang terbaru ke yang terlama. Ini memungkinkan Anda untuk melihat seluruh riwayat konfigurasi yang telah direkam untuk sebuah perangkat.
# Minta Cadangan Baru
Source: https://altostrat.io/docs/api/id/backups/minta-cadangan-baru
api/id/backups.yaml post /sites/{siteId}/backups
Secara asinkron memicu pencadangan konfigurasi baru untuk situs yang ditentukan. Proses pencadangan berjalan di latar belakang. Endpoint ini segera kembali dengan status yang menunjukkan permintaan telah diterima untuk diproses.
# Ambil Kebijakan BGP
Source: https://altostrat.io/docs/api/id/bgp-threat-intelligence/ambil-kebijakan-bgp
api/id/utm-ips.yaml get /bgp/policy/{policyId}
Mengambil detail kebijakan Intelijen Ancaman BGP tertentu berdasarkan pengenal uniknya.
# Buat Kebijakan Intelijen Ancaman BGP
Source: https://altostrat.io/docs/api/id/bgp-threat-intelligence/buat-kebijakan-intelijen-ancaman-bgp
api/id/utm-ips.yaml post /bgp/policy
Membuat kebijakan BGP baru, dengan menentukan daftar reputasi IP mana yang akan digunakan untuk memblokir lalu lintas.
# Daftar Kebijakan Intelijen Ancaman BGP
Source: https://altostrat.io/docs/api/id/bgp-threat-intelligence/daftar-kebijakan-intelijen-ancaman-bgp
api/id/utm-ips.yaml get /bgp/policy
Mengambil daftar semua kebijakan Intelijen Ancaman BGP yang terkait dengan akun Anda.
# Daftar Reputasi IP BGP
Source: https://altostrat.io/docs/api/id/bgp-threat-intelligence/daftar-reputasi-ip-bgp
api/id/utm-ips.yaml get /bgp/category
Mengambil daftar semua daftar reputasi IP BGP yang tersedia yang dapat dimasukkan dalam kebijakan BGP.
# Hapus Kebijakan BGP
Source: https://altostrat.io/docs/api/id/bgp-threat-intelligence/hapus-kebijakan-bgp
api/id/utm-ips.yaml delete /bgp/policy/{policyId}
Menghapus kebijakan BGP secara permanen. Operasi ini akan gagal jika kebijakan tersebut saat ini terpasang pada satu atau lebih situs.
# Perbarui Kebijakan BGP
Source: https://altostrat.io/docs/api/id/bgp-threat-intelligence/perbarui-kebijakan-bgp
api/id/utm-ips.yaml put /bgp/policy/{policyId}
Memperbarui properti dari kebijakan BGP yang sudah ada, termasuk nama, status, daftar IP yang dipilih, dan lampiran situsnya.
# Ambil akun penagihan
Source: https://altostrat.io/docs/api/id/billing-accounts/ambil-akun-penagihan
api/id/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Mengambil detail dari akun penagihan tertentu.
# Buat akun penagihan
Source: https://altostrat.io/docs/api/id/billing-accounts/buat-akun-penagihan
api/id/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts
Membuat akun penagihan baru di dalam sebuah workspace. Ini juga membuat objek Pelanggan yang sesuai di Stripe. Perilakunya dibatasi oleh mode penagihan workspace; untuk mode `single`, hanya satu akun penagihan yang dapat dibuat. Untuk mode `pooled` dan `assigned`, hingga 10 dapat dibuat.
# Daftar akun penagihan
Source: https://altostrat.io/docs/api/id/billing-accounts/daftar-akun-penagihan
api/id/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts
Mengembalikan daftar akun penagihan yang terkait dengan sebuah workspace.
# Hapus akun penagihan
Source: https://altostrat.io/docs/api/id/billing-accounts/hapus-akun-penagihan
api/id/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Menghapus akun penagihan secara permanen. Tindakan ini tidak dapat dibatalkan. Sebuah akun penagihan tidak dapat dihapus jika memiliki langganan aktif.
# Perbarui akun penagihan
Source: https://altostrat.io/docs/api/id/billing-accounts/perbarui-akun-penagihan
api/id/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Memperbarui detail dari sebuah akun penagihan. Parameter apa pun yang tidak disediakan akan dibiarkan tidak berubah. Operasi ini juga memperbarui objek Pelanggan yang sesuai di Stripe.
# Ambil Cadangan Terbaru secara Massal
Source: https://altostrat.io/docs/api/id/bulk-operations/ambil-cadangan-terbaru-secara-massal
api/id/backups.yaml post /backups/latest
Secara efisien mengambil konten cadangan terbaru untuk daftar hingga 50 situs. Ini dioptimalkan untuk agen AI dan sistem otomasi yang perlu mengumpulkan konfigurasi untuk beberapa situs dalam satu permintaan. Endpoint ini memvalidasi akses untuk setiap situs secara individual dan mengembalikan status per situs.
# Ambil instance captive portal
Source: https://altostrat.io/docs/api/id/captive-portal-instances/ambil-instance-captive-portal
api/id/captive-portal.yaml get /instances/{instanceId}
Mengambil detail lengkap dari instance captive portal tertentu berdasarkan ID uniknya.
# Buat instance captive portal
Source: https://altostrat.io/docs/api/id/captive-portal-instances/buat-instance-captive-portal
api/id/captive-portal.yaml post /instances
Membuat instance captive portal baru dengan konfigurasi dasar. Detail lebih lanjut, seperti tema dan situs, dapat ditambahkan melalui operasi pembaruan.
# Daftar semua instance captive portal
Source: https://altostrat.io/docs/api/id/captive-portal-instances/daftar-semua-instance-captive-portal
api/id/captive-portal.yaml get /instances
Mengambil daftar semua instance captive portal yang dapat diakses oleh pengguna yang terautentikasi.
# Hapus instance captive portal
Source: https://altostrat.io/docs/api/id/captive-portal-instances/hapus-instance-captive-portal
api/id/captive-portal.yaml delete /instances/{instanceId}
Menghapus secara permanen instance captive portal dan semua subnet, situs, kupon, dan aset terkait. Tindakan ini tidak dapat dibatalkan.
# Perbarui instance captive portal
Source: https://altostrat.io/docs/api/id/captive-portal-instances/perbarui-instance-captive-portal
api/id/captive-portal.yaml put /instances/{instanceId}
Memperbarui konfigurasi instance captive portal tertentu, termasuk tema, situs, subnet, dan pengaturan lainnya.
# Unggah gambar instance
Source: https://altostrat.io/docs/api/id/captive-portal-instances/unggah-gambar-instance
api/id/captive-portal.yaml post /instances/{instanceId}/images/{type}
Mengunggah logo atau ikon untuk instance captive portal tertentu. Gambar akan disimpan dan disajikan melalui URL yang ditandatangani di tema instance.
# Menambahkan komentar ke gangguan
Source: https://altostrat.io/docs/api/id/comments/menambahkan-komentar-ke-gangguan
api/id/faults.yaml post /faults/{faultId}/comment
Menambahkan komentar baru ke gangguan yang sudah ada. Komentar berguna untuk melacak langkah-langkah pemecahan masalah, menambahkan konteks, atau berkomunikasi dengan anggota tim tentang suatu insiden.
# Ambil Skrip Komunitas
Source: https://altostrat.io/docs/api/id/community-scripts/ambil-skrip-komunitas
api/id/scripts.yaml get /community-scripts/{communityScriptId}
Mengambil informasi detail tentang skrip komunitas tertentu, termasuk konten, deskripsi, dan metadata tentang penulis dan repositori sumber.
# Daftar Skrip Komunitas
Source: https://altostrat.io/docs/api/id/community-scripts/daftar-skrip-komunitas
api/id/scripts.yaml get /community-scripts
Mengambil daftar skrip yang dipaginasi dari repositori komunitas publik. Ini adalah sumber daya berharga untuk menemukan solusi siap pakai untuk tugas-tugas MikroTik yang umum.
# Dapatkan Konten README Mentah
Source: https://altostrat.io/docs/api/id/community-scripts/dapatkan-konten-readme-mentah
api/id/scripts.yaml get /community-scripts/{communityScriptId}.md
Mengunduh konten markdown teks biasa mentah dari file README skrip komunitas, jika ada.
# Dapatkan Konten Skrip Mentah
Source: https://altostrat.io/docs/api/id/community-scripts/dapatkan-konten-skrip-mentah
api/id/scripts.yaml get /community-scripts/{communityScriptId}.rsc
Mengunduh konten teks biasa mentah dari skrip komunitas, cocok untuk penggunaan langsung atau inspeksi.
# Kirim Skrip Komunitas
Source: https://altostrat.io/docs/api/id/community-scripts/kirim-skrip-komunitas
api/id/scripts.yaml post /community-scripts
Mengirimkan skrip baru ke repositori komunitas dengan menyediakan URL ke file `.rsc` mentah di GitHub. Sistem kemudian akan mengambil konten skrip dan metadata repositori terkait.
# Ambil jadwal kupon
Source: https://altostrat.io/docs/api/id/coupon-schedules/ambil-jadwal-kupon
api/id/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}
Mengambil detail jadwal kupon tertentu berdasarkan ID-nya.
# Buat jadwal kupon
Source: https://altostrat.io/docs/api/id/coupon-schedules/buat-jadwal-kupon
api/id/captive-portal.yaml post /instances/{instanceId}/coupon-schedules
Membuat jadwal baru untuk secara otomatis menghasilkan kupon secara berulang (harian, mingguan, atau bulanan).
# Buat URL kupon yang ditandatangani
Source: https://altostrat.io/docs/api/id/coupon-schedules/buat-url-kupon-yang-ditandatangani
api/id/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}/generate-url
Membuat URL sementara yang ditandatangani yang dapat digunakan untuk mengambil daftar kupon valid yang dihasilkan oleh jadwal tertentu. Ini berguna untuk mendistribusikan kupon ke sistem pihak ketiga tanpa mengekspos kunci API. URL ini valid selama 24 jam.
# Daftar jadwal kupon
Source: https://altostrat.io/docs/api/id/coupon-schedules/daftar-jadwal-kupon
api/id/captive-portal.yaml get /instances/{instanceId}/coupon-schedules
Mengambil daftar semua jadwal pembuatan kupon untuk instance captive portal tertentu.
# Hapus jadwal kupon
Source: https://altostrat.io/docs/api/id/coupon-schedules/hapus-jadwal-kupon
api/id/captive-portal.yaml delete /instances/{instanceId}/coupon-schedules/{scheduleId}
Menghapus jadwal kupon secara permanen. Tindakan ini tidak akan menghapus kupon yang sudah dihasilkan oleh jadwal tersebut.
# Jalankan jadwal kupon sekarang
Source: https://altostrat.io/docs/api/id/coupon-schedules/jalankan-jadwal-kupon-sekarang
api/id/captive-portal.yaml post /instances/{instanceId}/coupon-schedules/{scheduleId}/run
Memicu jadwal kupon secara manual untuk menghasilkan batch kupon baru segera, di luar jadwal pengulangan normalnya.
# Perbarui jadwal kupon
Source: https://altostrat.io/docs/api/id/coupon-schedules/perbarui-jadwal-kupon
api/id/captive-portal.yaml put /instances/{instanceId}/coupon-schedules/{scheduleId}
Memperbarui konfigurasi jadwal kupon yang sudah ada.
# Buat kupon
Source: https://altostrat.io/docs/api/id/coupons/buat-kupon
api/id/captive-portal.yaml post /instances/{instanceId}/coupons
Menghasilkan sejumlah kupon sekali pakai untuk instance captive portal yang ditentukan.
# Daftar kupon yang valid untuk sebuah instance
Source: https://altostrat.io/docs/api/id/coupons/daftar-kupon-yang-valid-untuk-sebuah-instance
api/id/captive-portal.yaml get /instances/{instanceId}/coupons
Mengambil daftar semua kupon yang valid (belum ditukarkan dan belum kedaluwarsa) untuk instance captive portal tertentu.
# Dapatkan Throughput Jaringan
Source: https://altostrat.io/docs/api/id/dashboard/dapatkan-throughput-jaringan
api/id/monitoring-metrics.yaml get /v1/monitoring/dashboard/throughput
Mengambil data deret waktu yang merepresentasikan throughput jaringan rata-rata (dalam bit per detik) di seluruh situs yang ditentukan dalam rentang waktu tertentu. Gunakan endpoint ini untuk memvisualisasikan laju lalu lintas untuk dasbor dan laporan.
# Dapatkan Volume Data yang Ditransfer
Source: https://altostrat.io/docs/api/id/dashboard/dapatkan-volume-data-yang-ditransfer
api/id/monitoring-metrics.yaml get /v1/monitoring/dashboard/data-transferred
Mengambil total volume data yang ditransfer (dalam byte) di seluruh situs yang ditentukan, diagregasi ke dalam rentang waktu. Gunakan endpoint ini untuk menganalisis konsumsi data dan pola penggunaan.
# Dapatkan Riwayat Heartbeat Perangkat
Source: https://altostrat.io/docs/api/id/device-health-&-status/dapatkan-riwayat-heartbeat-perangkat
api/id/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats/{siteId}
Mengambil heartbeat dan status konektivitas perangkat selama 24 jam terakhir, diagregasi per jam. Ini membantu mengidentifikasi periode downtime atau check-in yang terlewat.
# Dapatkan Statistik Kesehatan Perangkat Terbaru
Source: https://altostrat.io/docs/api/id/device-health-&-status/dapatkan-statistik-kesehatan-perangkat-terbaru
api/id/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats-all/{siteId}
Mengambil deret waktu dari metrik kesehatan utama (CPU, memori, disk, uptime) untuk perangkat situs tertentu dari 8 jam terakhir.
# Dapatkan Waktu Terakhir Terlihat
Source: https://altostrat.io/docs/api/id/device-health-&-status/dapatkan-waktu-terakhir-terlihat
api/id/monitoring-metrics.yaml get /v1/monitoring/last-seen/{siteId}
Mengembalikan waktu sejak perangkat di situs yang ditentukan terakhir kali melaporkan statusnya.
# Ambil Statistik Situs dalam Rentang Tanggal
Source: https://altostrat.io/docs/api/id/device-stats/ambil-statistik-situs-dalam-rentang-tanggal
api/id/mikrotik-api.yaml get /sites/{siteId}/mikrotik-stats/range
Mengambil metrik performa time-series (CPU, memori, disk, uptime) untuk sebuah situs dalam rentang tanggal yang ditentukan. Untuk rentang lebih dari 48 jam, data secara otomatis diagregasi per jam untuk memastikan respons yang cepat. Untuk rentang yang lebih pendek, titik data mentah akan dikembalikan.
# Endpoint Discovery OIDC
Source: https://altostrat.io/docs/api/id/discovery/endpoint-discovery-oidc
api/id/authentication.yaml get /.well-known/openid-configuration
Mengembalikan dokumen JSON yang berisi metadata konfigurasi Penyedia OpenID. Klien yang sesuai dengan OIDC menggunakan endpoint ini untuk secara otomatis menemukan lokasi endpoint otorisasi, token, userinfo, dan JWKS, serta semua kemampuan yang didukung.
# Endpoint JSON Web Key Set (JWKS)
Source: https://altostrat.io/docs/api/id/discovery/endpoint-json-web-key-set-jwks
api/id/authentication.yaml get /.well-known/jwks.json
Menyediakan set kunci publik yang digunakan untuk memverifikasi tanda tangan JWT yang dikeluarkan oleh server autentikasi. Klien harus menggunakan `kid` (Key ID) dari header JWT untuk memilih kunci yang benar untuk validasi.
# Ambil Kebijakan DNS
Source: https://altostrat.io/docs/api/id/dns-content-filtering/ambil-kebijakan-dns
api/id/utm-ips.yaml get /policy/{policyId}
Mengambil detail kebijakan Pemfilteran Konten DNS tertentu berdasarkan pengenal uniknya.
# Buat Kebijakan Pemfilteran Konten DNS
Source: https://altostrat.io/docs/api/id/dns-content-filtering/buat-kebijakan-pemfilteran-konten-dns
api/id/utm-ips.yaml post /policy
Membuat kebijakan Pemfilteran Konten DNS baru dengan aturan pemfilteran, pemblokiran aplikasi, dan pengaturan pencarian aman yang ditentukan.
# Daftar Kategori Aplikasi
Source: https://altostrat.io/docs/api/id/dns-content-filtering/daftar-kategori-aplikasi
api/id/utm-ips.yaml get /category
Mengambil daftar semua kategori aplikasi yang tersedia. Setiap kategori berisi daftar aplikasi yang dapat ditargetkan dalam kebijakan DNS.
# Daftar Kebijakan Pemfilteran Konten DNS
Source: https://altostrat.io/docs/api/id/dns-content-filtering/daftar-kebijakan-pemfilteran-konten-dns
api/id/utm-ips.yaml get /policy
Mengambil daftar semua kebijakan Pemfilteran Konten DNS yang terkait dengan akun Anda.
# Daftar Layanan Pencarian Aman
Source: https://altostrat.io/docs/api/id/dns-content-filtering/daftar-layanan-pencarian-aman
api/id/utm-ips.yaml get /category/safe_search
Mengambil daftar layanan (misalnya, Google, YouTube) yang Pencarian Amannya dapat diterapkan dalam kebijakan DNS.
# Hapus Kebijakan DNS
Source: https://altostrat.io/docs/api/id/dns-content-filtering/hapus-kebijakan-dns
api/id/utm-ips.yaml delete /policy/{policyId}
Menghapus kebijakan DNS secara permanen. Operasi ini akan gagal jika kebijakan tersebut saat ini terpasang pada satu atau lebih situs.
# Perbarui Kebijakan DNS
Source: https://altostrat.io/docs/api/id/dns-content-filtering/perbarui-kebijakan-dns
api/id/utm-ips.yaml put /policy/{policyId}
Memperbarui properti dari kebijakan DNS yang sudah ada. Anda dapat mengubah nama, pemblokiran aplikasi, pengaturan pencarian aman, dan lampiran situsnya.
# Hentikan Pemindaian
Source: https://altostrat.io/docs/api/id/eksekusi-pemindaian/hentikan-pemindaian
api/id/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}/invoke
Menghentikan secara paksa pemindaian yang sedang berlangsung untuk jadwal tertentu.
# Mulai Pemindaian
Source: https://altostrat.io/docs/api/id/eksekusi-pemindaian/mulai-pemindaian
api/id/cve-scans.yaml post /scans/cve/scheduled/{scanScheduleId}/invoke
Memicu pemindaian secara manual untuk jadwal tertentu, mengabaikan jadwal normalnya. Pemindaian akan segera dimasukkan ke dalam antrean untuk dieksekusi.
# Mulai Pemindaian IP Tunggal Sesuai Permintaan
Source: https://altostrat.io/docs/api/id/eksekusi-pemindaian/mulai-pemindaian-ip-tunggal-sesuai-permintaan
api/id/cve-scans.yaml post /scans/cve/scheduled/single-ip
Memulai pemindaian langsung sesuai permintaan untuk satu alamat IP. Ini menggunakan konfigurasi jadwal pemindaian yang ada tetapi hanya menargetkan IP yang ditentukan dalam situs tertentu.
# Mulai Pemindaian Multi-IP Sesuai Permintaan
Source: https://altostrat.io/docs/api/id/eksekusi-pemindaian/mulai-pemindaian-multi-ip-sesuai-permintaan
api/id/cve-scans.yaml post /scans/cve/scan/multiple-ips
Memulai pemindaian langsung sesuai permintaan untuk daftar alamat IP tertentu. Ini menggunakan konfigurasi jadwal pemindaian yang ada tetapi hanya menargetkan IP yang ditentukan dalam situs tertentu.
# Aktifkan Layanan Failover
Source: https://altostrat.io/docs/api/id/failover-service/aktifkan-layanan-failover
api/id/wan-failover.yaml post /v1/failover/{site_id}
Mengaktifkan layanan Failover WAN untuk situs yang ditentukan. Ini adalah langkah pertama untuk mengaktifkan kemampuan SD-WAN. Mengaktifkan layanan ini secara otomatis akan membuat dua tunnel WAN default yang belum terkonfigurasi.
# Daftar Situs dengan Layanan Failover
Source: https://altostrat.io/docs/api/id/failover-service/daftar-situs-dengan-layanan-failover
api/id/wan-failover.yaml get /v1/failover/service-counts
Mengambil daftar semua situs yang terkait dengan pengguna terotentikasi yang saat ini memiliki layanan Failover WAN yang aktif.
# Dapatkan Status Layanan Failover
Source: https://altostrat.io/docs/api/id/failover-service/dapatkan-status-layanan-failover
api/id/wan-failover.yaml get /v1/failover/{site_id}
Memeriksa status layanan Failover WAN untuk situs tertentu, mengembalikan ID langganan jika aktif.
# Nonaktifkan Layanan Failover
Source: https://altostrat.io/docs/api/id/failover-service/nonaktifkan-layanan-failover
api/id/wan-failover.yaml delete /v1/failover/{site_id}
Menonaktifkan layanan Failover WAN untuk sebuah situs, menghapus semua tunnel WAN terkait beserta konfigurasinya dari platform Altostrat dan router di lokasi. Tindakan ini tidak dapat dibatalkan.
# Melihat daftar semua gangguan
Source: https://altostrat.io/docs/api/id/faults/melihat-daftar-semua-gangguan
api/id/faults.yaml get /faults
Mengembalikan daftar objek gangguan yang terpaginasi untuk akun Anda. Gangguan dikembalikan dalam urutan kronologis terbalik berdasarkan waktu pembuatan. Anda dapat memfilter hasil menggunakan parameter kueri.
# Membuat gangguan
Source: https://altostrat.io/docs/api/id/faults/membuat-gangguan
api/id/faults.yaml post /faults
Membuat objek gangguan baru secara manual. Ini biasanya digunakan untuk membuat gangguan dari sistem eksternal atau untuk tujuan pengujian. Untuk penyerapan otomatis, microservice lain mendorong peristiwa yang diproses menjadi gangguan.
# Memperbarui gangguan
Source: https://altostrat.io/docs/api/id/faults/memperbarui-gangguan
api/id/faults.yaml put /faults/{faultId}
Memperbarui gangguan yang ditentukan dengan mengatur nilai parameter yang diberikan. Parameter apa pun yang tidak diberikan akan dibiarkan tidak berubah. Ini berguna untuk mengubah tingkat keparahan gangguan atau menyelesaikannya secara manual.
# Mengambil data gangguan
Source: https://altostrat.io/docs/api/id/faults/mengambil-data-gangguan
api/id/faults.yaml get /faults/{faultId}
Mengambil detail dari gangguan yang sudah ada. Anda hanya perlu memberikan pengidentifikasi gangguan unik yang dikembalikan saat gangguan dibuat.
# Menghapus gangguan
Source: https://altostrat.io/docs/api/id/faults/menghapus-gangguan
api/id/faults.yaml delete /faults/{faultId}
Menghapus objek gangguan secara permanen. Tindakan ini tidak dapat dibatalkan.
# Daftar Laporan yang Dihasilkan
Source: https://altostrat.io/docs/api/id/generated-reports/daftar-laporan-yang-dihasilkan
api/id/reports.yaml get /sla/reports
Mengambil daftar terpaginasi dari semua laporan yang dihasilkan secara historis untuk ruang kerja, diurutkan berdasarkan tanggal pembuatan dalam urutan menurun.
# Hapus Laporan yang Dihasilkan
Source: https://altostrat.io/docs/api/id/generated-reports/hapus-laporan-yang-dihasilkan
api/id/reports.yaml delete /sla/reports/{reportId}
Menghapus laporan yang telah dibuat sebelumnya beserta data PDF dan JSON terkait dari penyimpanan secara permanen.
# Membuat Grup Notifikasi
Source: https://altostrat.io/docs/api/id/grup-notifikasi/membuat-grup-notifikasi
api/id/notifications.yaml post /notifications
Membuat grup notifikasi baru. Ini memungkinkan Anda untuk mendefinisikan aturan baru tentang siapa yang akan diberi tahu, tentang topik apa, untuk situs mana, dan pada jadwal apa.
# Memperbarui Grup Notifikasi
Source: https://altostrat.io/docs/api/id/grup-notifikasi/memperbarui-grup-notifikasi
api/id/notifications.yaml put /notifications/{groupId}
Memperbarui konfigurasi grup notifikasi yang sudah ada. Operasi ini menggantikan seluruh objek grup dengan data yang disediakan.
# Menampilkan Daftar Grup Notifikasi
Source: https://altostrat.io/docs/api/id/grup-notifikasi/menampilkan-daftar-grup-notifikasi
api/id/notifications.yaml get /notifications
Mengambil daftar semua grup notifikasi yang dikonfigurasi untuk ruang kerja pengguna yang terautentikasi. Setiap grup mewakili serangkaian aturan spesifik untuk perutean peringatan.
# Mengambil Grup Notifikasi
Source: https://altostrat.io/docs/api/id/grup-notifikasi/mengambil-grup-notifikasi
api/id/notifications.yaml get /notifications/{groupId}
Mengambil detail grup notifikasi spesifik berdasarkan ID uniknya.
# Menghapus Grup Notifikasi
Source: https://altostrat.io/docs/api/id/grup-notifikasi/menghapus-grup-notifikasi
api/id/notifications.yaml delete /notifications/{groupId}
Menghapus grup notifikasi secara permanen. Tindakan ini tidak dapat dibatalkan.
# Ambil Laporan Pemindaian
Source: https://altostrat.io/docs/api/id/hasil-pemindaian/ambil-laporan-pemindaian
api/id/cve-scans.yaml get /scans/cve/{scan_id}
Mengambil laporan detail untuk hasil pemindaian yang telah selesai. Laporan ini mencakup metadata pemindaian dan tautan untuk mengunduh laporan lengkap dalam format JSON atau PDF.
# Daftar Laporan Pemindaian
Source: https://altostrat.io/docs/api/id/hasil-pemindaian/daftar-laporan-pemindaian
api/id/cve-scans.yaml get /scans/cve
Mengambil daftar laporan pemindaian yang telah selesai untuk akun Anda, diurutkan dari yang terbaru. Setiap item dalam daftar adalah ringkasan dari hasil pemindaian.
# Dapatkan Status Pemindaian Terbaru
Source: https://altostrat.io/docs/api/id/hasil-pemindaian/dapatkan-status-pemindaian-terbaru
api/id/cve-scans.yaml get /scans/cve/{scanScheduleId}/status
Mengambil status pemindaian terbaru yang terkait dengan jadwal tertentu, baik itu sedang berjalan, selesai, atau gagal.
# Cari Gateway yang Memenuhi Syarat
Source: https://altostrat.io/docs/api/id/helper-endpoints/cari-gateway-yang-memenuhi-syarat
api/id/wan-failover.yaml post /v1/failover/{site_id}/gateways
Untuk interface router tertentu, endpoint ini mencoba mendeteksi alamat IP gateway upstream yang memenuhi syarat. Ini membantu mengotomatiskan proses pencarian IP `gateway` yang benar untuk konfigurasi tunnel.
# Daftar Interface Router
Source: https://altostrat.io/docs/api/id/helper-endpoints/daftar-interface-router
api/id/wan-failover.yaml get /v1/failover/{site_id}/interfaces
Mengambil daftar interface jaringan fisik dan logis yang tersedia dari router di situs yang ditentukan. Ini berguna untuk mengidentifikasi nama `interface` yang benar saat mengonfigurasi tunnel.
# Ambil bandwidth instans
Source: https://altostrat.io/docs/api/id/instances/ambil-bandwidth-instans
api/id/managed-vpn.yaml get /instances/{instanceId}/bandwidth
Mengambil statistik penggunaan bandwidth untuk server utama yang terkait dengan instans VPN.
# Ambil instans VPN
Source: https://altostrat.io/docs/api/id/instances/ambil-instans-vpn
api/id/managed-vpn.yaml get /instances/{instanceId}
Mengambil detail instans VPN tertentu berdasarkan pengenal uniknya.
# Buat instans VPN
Source: https://altostrat.io/docs/api/id/instances/buat-instans-vpn
api/id/managed-vpn.yaml post /instances
Menyediakan instans server VPN baru di wilayah tertentu dengan nama host yang unik. Ini adalah langkah pertama dalam menyiapkan VPN baru.
# Daftar semua instans VPN
Source: https://altostrat.io/docs/api/id/instances/daftar-semua-instans-vpn
api/id/managed-vpn.yaml get /instances
Mengambil daftar semua instans VPN yang dapat diakses oleh pengguna terautentikasi.
# Hapus instans VPN
Source: https://altostrat.io/docs/api/id/instances/hapus-instans-vpn
api/id/managed-vpn.yaml delete /instances/{instanceId}
Menonaktifkan secara permanen instans VPN beserta semua server dan peer terkaitnya. Tindakan ini tidak dapat dibatalkan.
# Perbarui instans VPN
Source: https://altostrat.io/docs/api/id/instances/perbarui-instans-vpn
api/id/managed-vpn.yaml put /instances/{instanceId}
Mengubah konfigurasi instans VPN yang ada, seperti nama, pengaturan DNS, atau rute yang di-push.
# Daftar Semua Alamat MAC yang Dipindai
Source: https://altostrat.io/docs/api/id/intelijen-kerentanan/daftar-semua-alamat-mac-yang-dipindai
api/id/cve-scans.yaml get /scans/cve/mac-address/cve/list
Mengambil daftar semua alamat MAC unik yang telah ditemukan di semua pemindaian untuk akun Anda. Ini dapat digunakan untuk mengisi inventaris perangkat atau untuk menemukan perangkat mana yang akan dikueri untuk CVE.
# Dapatkan CVE berdasarkan Alamat MAC
Source: https://altostrat.io/docs/api/id/intelijen-kerentanan/dapatkan-cve-berdasarkan-alamat-mac
api/id/cve-scans.yaml post /scans/cve/mac-address/cves
Mengambil semua kerentanan yang ditemukan (CVE) yang terkait dengan daftar alamat MAC tertentu di semua pemindaian historis. Ini adalah titik akhir utama untuk melacak riwayat kerentanan sebuah perangkat.
Catatan: Titik akhir ini menggunakan POST untuk memungkinkan kueri beberapa alamat MAC di badan permintaan, yang lebih kuat dan aman daripada URL GET yang panjang.
# Dapatkan Langkah Mitigasi
Source: https://altostrat.io/docs/api/id/intelijen-kerentanan/dapatkan-langkah-mitigasi
api/id/cve-scans.yaml get /scans/cve/mitigation/{cve_id}
Memberikan langkah-langkah mitigasi yang dapat ditindaklanjuti dan dihasilkan oleh AI untuk pengenal CVE tertentu. Respons diformat dalam Markdown agar mudah ditampilkan.
# Pengantar API
Source: https://altostrat.io/docs/api/id/introduction
Selamat datang di API Altostrat! Toolkit Anda untuk membangun integrasi otomasi jaringan dan keamanan yang kuat di atas armada MikroTik Anda.
# Pengantar API
Halaman ini sedang dalam proses penerjemahan. Silakan merujuk ke [versi bahasa Inggris](/api/en/introduction) untuk dokumentasi lengkap.
## Memulai
Untuk mulai menggunakan API Altostrat, Anda akan memerlukan:
1. Akun Altostrat yang aktif
2. Token API (dapat dibuat dari dashboard)
3. Pemahaman dasar tentang REST APIs
## Sumber Daya
Silakan kunjungi versi bahasa Inggris dari dokumentasi untuk informasi rinci tentang:
* Autentikasi
* Endpoint
* Contoh permintaan
* Penanganan kesalahan
# Daftar faktur
Source: https://altostrat.io/docs/api/id/invoices/daftar-faktur
api/id/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices
Mengembalikan daftar faktur untuk sebuah akun penagihan. Faktur dikembalikan dalam urutan kronologis terbalik.
# Pratinjau faktur
Source: https://altostrat.io/docs/api/id/invoices/pratinjau-faktur
api/id/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices/preview
Menampilkan pratinjau faktur yang akan datang untuk sebuah akun penagihan, menunjukkan dampak finansial dari perubahan langganan potensial, seperti menambahkan produk atau mengubah kuantitas. Ini tidak mengubah langganan yang ada.
# Ambil Jadwal Pemindaian
Source: https://altostrat.io/docs/api/id/jadwal-pemindaian/ambil-jadwal-pemindaian
api/id/cve-scans.yaml get /scans/cve/scheduled/{scanScheduleId}
Mengambil detail jadwal pemindaian tertentu berdasarkan pengenal uniknya.
# Buat Jadwal Pemindaian
Source: https://altostrat.io/docs/api/id/jadwal-pemindaian/buat-jadwal-pemindaian
api/id/cve-scans.yaml post /scans/cve/scheduled
Membuat jadwal pemindaian CVE berulang yang baru. Anda harus menentukan waktu, frekuensi, situs dan subnet target, serta pengaturan notifikasi. Pembuatan yang berhasil akan mengembalikan objek jadwal lengkap.
# Daftar Jadwal Pemindaian
Source: https://altostrat.io/docs/api/id/jadwal-pemindaian/daftar-jadwal-pemindaian
api/id/cve-scans.yaml get /scans/cve/scheduled
Mengambil daftar semua jadwal pemindaian CVE yang dikonfigurasi untuk akun Anda. Ini berguna untuk menampilkan semua pemindaian yang dikonfigurasi di dasbor atau untuk manajemen terprogram.
# Hapus Jadwal Pemindaian
Source: https://altostrat.io/docs/api/id/jadwal-pemindaian/hapus-jadwal-pemindaian
api/id/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}
Menghapus jadwal pemindaian secara permanen. Tindakan ini tidak dapat dibatalkan dan akan menghentikan pemindaian di masa mendatang untuk jadwal ini.
# Perbarui Jadwal Pemindaian
Source: https://altostrat.io/docs/api/id/jadwal-pemindaian/perbarui-jadwal-pemindaian
api/id/cve-scans.yaml put /scans/cve/scheduled/{scanScheduleId}
Memperbarui konfigurasi jadwal pemindaian yang ada. Semua bidang diganti dengan nilai baru yang diberikan dalam badan permintaan.
# Ambil sebuah jadwal
Source: https://altostrat.io/docs/api/id/jadwal/ambil-sebuah-jadwal
api/id/schedules.yaml get /chrono/schedules/{scheduleId}
Mengambil detail jadwal yang ada berdasarkan pengenal uniknya.
# Buat jadwal baru
Source: https://altostrat.io/docs/api/id/jadwal/buat-jadwal-baru
api/id/schedules.yaml post /chrono/schedules
Membuat jadwal baru dengan serangkaian slot waktu berulang yang telah ditentukan. Saat pembuatan, status `active` jadwal secara otomatis dihitung berdasarkan waktu saat ini dan slot yang disediakan.
# Hapus jadwal
Source: https://altostrat.io/docs/api/id/jadwal/hapus-jadwal
api/id/schedules.yaml delete /chrono/schedules/{scheduleId}
Menghapus jadwal secara permanen, termasuk semua slot waktu dan metadata yang terkait. Tindakan ini tidak dapat dibatalkan.
# Perbarui jadwal
Source: https://altostrat.io/docs/api/id/jadwal/perbarui-jadwal
api/id/schedules.yaml put /chrono/schedules/{scheduleId}
Memperbarui jadwal yang ditentukan dengan mengatur properti dari badan permintaan. Properti apa pun yang tidak disediakan akan dibiarkan tidak berubah. Saat memperbarui `hours`, seluruh array akan diganti. Saat memperbarui `metadata`, memberikan kunci dengan nilai `null` akan menghapus entri metadata tersebut.
# Tampilkan semua jadwal
Source: https://altostrat.io/docs/api/id/jadwal/tampilkan-semua-jadwal
api/id/schedules.yaml get /chrono/schedules
Mengambil daftar semua objek jadwal yang dimiliki oleh ruang kerja Anda. Jadwal dikembalikan dalam urutan tanggal pembuatan, dengan jadwal yang paling baru dibuat muncul pertama.
# Ambil Detail Tugas
Source: https://altostrat.io/docs/api/id/jobs/ambil-detail-tugas
api/id/mikrotik-api.yaml get /sites/{siteId}/jobs/{jobId}
Mengambil detail lengkap dari tugas tertentu berdasarkan pengidentifikasi uniknya (UUID).
# Batalkan Tugas yang Tertunda
Source: https://altostrat.io/docs/api/id/jobs/batalkan-tugas-yang-tertunda
api/id/mikrotik-api.yaml delete /sites/{siteId}/jobs/{jobId}
Menghapus tugas yang belum mulai dieksekusi. Tugas yang sedang berlangsung, selesai, atau gagal tidak dapat dihapus.
# Buat Tugas untuk Situs
Source: https://altostrat.io/docs/api/id/jobs/buat-tugas-untuk-situs
api/id/mikrotik-api.yaml post /sites/{siteId}/jobs
Membuat dan mengantrekan tugas baru untuk dieksekusi pada situs yang ditentukan. Payload tugas adalah skrip RouterOS mentah, dan metadata disediakan melalui header.
# Daftar Tugas untuk Situs
Source: https://altostrat.io/docs/api/id/jobs/daftar-tugas-untuk-situs
api/id/mikrotik-api.yaml get /sites/{siteId}/jobs
Mengambil daftar semua tugas yang telah dibuat untuk situs tertentu, diurutkan berdasarkan tanggal pembuatan (yang terbaru lebih dulu).
# Pemeriksaan Kesehatan
Source: https://altostrat.io/docs/api/id/kesehatan/pemeriksaan-kesehatan
api/id/mcp-server.yaml get /health
Menyediakan pemeriksaan kesehatan sederhana dari server MCP, mengembalikan status, versi, dan kapabilitas yang didukung. Endpoint ini dapat digunakan untuk pemantauan dan penemuan layanan.
# Eksekusi Perintah Sinkron
Source: https://altostrat.io/docs/api/id/live-commands/eksekusi-perintah-sinkron
api/id/generative-ai.yaml post /sites/{siteId}/commands/synchronous
Mengeksekusi perintah API MikroTik RouterOS yang bersifat read-only secara sinkron pada situs tertentu. Ini menyediakan antarmuka langsung dan real-time ke perangkat. Untuk mengambil konfigurasi statis, menggunakan API Cadangan seringkali lebih cepat. Operasi tulis dilarang keras.
# Menampilkan daftar peristiwa log audit
Source: https://altostrat.io/docs/api/id/log-audit/menampilkan-daftar-peristiwa-log-audit
api/id/audit-logs.yaml get /audit-logs
Ambil daftar peristiwa log audit untuk organisasi Anda. Titik akhir ini mendukung penyaringan dan paginasi yang kuat untuk membantu Anda menemukan peristiwa spesifik untuk tujuan keamanan, kepatuhan, atau debugging.
Secara default, hasil dikembalikan dalam urutan kronologis terbalik (yang terbaru lebih dulu).
# Daftar Status CVE
Source: https://altostrat.io/docs/api/id/manajemen-kerentanan/daftar-status-cve
api/id/cve-scans.yaml get /scans/cve/mac-address/cve/status
Mengambil daftar semua status CVE yang dikelola. Anda dapat memfilter hasil berdasarkan alamat MAC, ID CVE, atau status untuk menemukan catatan tertentu.
# Perbarui Status CVE
Source: https://altostrat.io/docs/api/id/manajemen-kerentanan/perbarui-status-cve
api/id/cve-scans.yaml post /scans/cve/mac-address/cve/status
Memperbarui status CVE tertentu untuk alamat MAC yang diberikan. Gunakan ini untuk menandai kerentanan sebagai 'diterima' (misalnya, positif palsu atau risiko yang dapat diterima) atau 'dimitigasi' (misalnya, patch telah diterapkan atau solusi sementara sudah ada). Setiap pembaruan membuat catatan historis baru.
# Endpoint JSON-RPC MCP
Source: https://altostrat.io/docs/api/id/mcp--protokol-inti/endpoint-json-rpc-mcp
api/id/mcp-server.yaml post /mcp
Ini adalah satu-satunya endpoint untuk semua interaksi Model Context Protocol (MCP), yang mengikuti spesifikasi JSON-RPC 2.0.
Tindakan spesifik yang akan dilakukan ditentukan oleh properti `method` di dalam badan permintaan JSON. Struktur objek `params` bervariasi tergantung pada metode yang dipanggil.
Di bawah ini adalah metode-metode yang didukung:
### Siklus Hidup
- `initialize`: Membangun koneksi dan menegosiasikan versi protokol.
- `ping`: Metode sederhana untuk memeriksa apakah koneksi masih aktif.
### Perkakas (Tools)
- `tools/list`: Mengambil daftar perkakas yang tersedia yang dapat dieksekusi oleh agen AI.
- `tools/call`: Mengeksekusi perkakas tertentu dengan argumen yang disediakan.
### Sumber Daya (Resources)
- `resources/list`: Mengambil daftar sumber daya pengetahuan yang tersedia.
- `resources/read`: Membaca konten dari sumber daya tertentu.
### Prompt
- `prompts/list`: Mengambil daftar prompt yang tersedia dan telah ditentukan sebelumnya.
- `prompts/get`: Mengambil struktur pesan lengkap untuk prompt tertentu, yang diisi dengan argumen.
# Ambil objek metadata
Source: https://altostrat.io/docs/api/id/metadata/ambil-objek-metadata
api/id/metadata.yaml get /metadata/{resourceId}
Mengambil objek metadata untuk satu sumber daya, yang diidentifikasi oleh ID uniknya.
# Buat objek metadata
Source: https://altostrat.io/docs/api/id/metadata/buat-objek-metadata
api/id/metadata.yaml post /metadata
Membuat objek metadata baru untuk sumber daya tertentu, atau sepenuhnya menimpa yang sudah ada untuk sumber daya tersebut. Metadata itu sendiri adalah penyimpanan kunci-nilai (key-value) yang fleksibel.
# Daftar semua objek metadata
Source: https://altostrat.io/docs/api/id/metadata/daftar-semua-objek-metadata
api/id/metadata.yaml get /metadata
Mengambil koleksi semua sumber daya yang memiliki metadata terkait untuk pelanggan saat ini.
# Hapus objek metadata
Source: https://altostrat.io/docs/api/id/metadata/hapus-objek-metadata
api/id/metadata.yaml delete /metadata/{resourceId}
Menghapus semua metadata kustom yang terkait dengan sumber daya. Tindakan ini menghapus bidang `metadata` tetapi tidak menghapus sumber daya itu sendiri.
# Perbarui objek metadata
Source: https://altostrat.io/docs/api/id/metadata/perbarui-objek-metadata
api/id/metadata.yaml put /metadata/{resourceId}
Memperbarui metadata untuk sumber daya tertentu. Operasi ini melakukan penggabungan; kunci apa pun yang Anda berikan akan ditambahkan atau akan menimpa kunci yang ada, sementara kunci yang tidak Anda berikan akan dibiarkan tidak tersentuh. Untuk menghapus kunci, atur nilainya menjadi `null` atau string kosong.
# Dapatkan Entri Syslog Situs
Source: https://altostrat.io/docs/api/id/network-logs/dapatkan-entri-syslog-situs
api/id/monitoring-metrics.yaml get /v1/monitoring/syslogs/{siteId}
Mengambil daftar pesan syslog berpaginasi untuk situs tertentu, diurutkan dari yang terbaru.
# Dapatkan Laporan Keamanan BGP
Source: https://altostrat.io/docs/api/id/network-logs/dapatkan-laporan-keamanan-bgp
api/id/monitoring-metrics.yaml get /v1/monitoring/bgp-report/{siteId}
Menghasilkan laporan keamanan BGP untuk sebuah situs berdasarkan data 24 jam terakhir. Laporan ini mencakup 10 port tujuan teratas, 10 daftar blokir yang terpicu teratas, dan 10 IP sumber teratas yang memulai lalu lintas yang diblokir.
# Dapatkan Laporan Keamanan DNS
Source: https://altostrat.io/docs/api/id/network-logs/dapatkan-laporan-keamanan-dns
api/id/monitoring-metrics.yaml get /v1/monitoring/dns-report/{siteId}
Menghasilkan laporan keamanan DNS untuk sebuah situs berdasarkan data 24 jam terakhir. Laporan ini mencakup 10 kategori yang diblokir teratas, 10 aplikasi yang diblokir teratas, dan 10 IP sumber internal teratas yang membuat permintaan yang diblokir.
# Cabut Token
Source: https://altostrat.io/docs/api/id/oauth-20-&-oidc/cabut-token
api/id/authentication.yaml post /oauth/revoke
Mencabut `access_token` atau `refresh_token`, membuatnya tidak valid secara langsung. Ini berguna untuk skenario seperti perubahan kata sandi atau logout yang diinisiasi pengguna dari semua perangkat.
# Dapatkan Profil Pengguna
Source: https://altostrat.io/docs/api/id/oauth-20-&-oidc/dapatkan-profil-pengguna
api/id/authentication.yaml get /userinfo
Mengambil profil pengguna yang terkait dengan `access_token` yang diberikan. Klaim yang dikembalikan didasarkan pada cakupan (scope) yang diberikan saat autentikasi.
# Log Out Pengguna (Legacy)
Source: https://altostrat.io/docs/api/id/oauth-20-&-oidc/log-out-pengguna-legacy
api/id/authentication.yaml get /v2/logout
Melakukan log out pada pengguna dari sesi Altostrat mereka dan mengarahkan mereka kembali ke URL yang ditentukan.
# Log Out Pengguna (Sesuai OIDC)
Source: https://altostrat.io/docs/api/id/oauth-20-&-oidc/log-out-pengguna-sesuai-oidc
api/id/authentication.yaml get /oidc/logout
Endpoint ini sesuai dengan spesifikasi Manajemen Sesi OIDC. Ini akan melakukan log out pada pengguna dan dapat mengarahkan mereka kembali ke aplikasi.
# Mulai Autentikasi Pengguna
Source: https://altostrat.io/docs/api/id/oauth-20-&-oidc/mulai-autentikasi-pengguna
api/id/authentication.yaml get /authorize
Ini adalah titik awal untuk autentikasi pengguna. Aplikasi web Altostrat mengarahkan browser pengguna ke endpoint ini untuk memulai Alur Kode Otorisasi OAuth 2.0 dengan PKCE.
# Tukar Kode atau Refresh Token dengan Token
Source: https://altostrat.io/docs/api/id/oauth-20-&-oidc/tukar-kode-atau-refresh-token-dengan-token
api/id/authentication.yaml post /oauth/token
Digunakan untuk menukar `authorization_code` dengan token, atau menggunakan `refresh_token` untuk mendapatkan `access_token` baru. Autentikasi klien dapat dilakukan melalui `client_secret_post` (dalam body), `client_secret_basic` (HTTP Basic Auth), atau `private_key_jwt`.
# Ambil batas organisasi
Source: https://altostrat.io/docs/api/id/organizations/ambil-batas-organisasi
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/limits
Mengambil rincian detail penggunaan, batasan, dan kapasitas yang tersedia untuk setiap jenis produk yang dapat diukur untuk organisasi tertentu. Ini memperhitungkan batasan organisasi itu sendiri, batasan yang diwarisi dari induknya, dan total kapasitas yang tersedia dari langganannya.
# Ambil organisasi
Source: https://altostrat.io/docs/api/id/organizations/ambil-organisasi
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}
Mengambil detail dari organisasi tertentu di dalam sebuah workspace.
# Ambil organisasi induk
Source: https://altostrat.io/docs/api/id/organizations/ambil-organisasi-induk
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/parent
Mengambil organisasi induk dari organisasi anak yang ditentukan. Jika organisasi berada di tingkat teratas, endpoint ini akan mengembalikan respons 204 Tanpa Konten.
# Buat organisasi
Source: https://altostrat.io/docs/api/id/organizations/buat-organisasi
api/id/workspaces.yaml post /workspaces/{workspaceId}/organizations
Membuat organisasi tingkat atas baru di dalam workspace. Untuk membuat organisasi anak, gunakan endpoint `/organizations/{organizationId}/children`. Sebuah workspace tidak boleh memiliki lebih dari 1.000 organisasi secara total.
# Buat organisasi anak
Source: https://altostrat.io/docs/api/id/organizations/buat-organisasi-anak
api/id/workspaces.yaml post /workspaces/{workspaceId}/organizations/{organizationId}/children
Membuat organisasi baru sebagai anak langsung dari organisasi induk yang ditentukan. Hierarki tidak boleh melebihi 10 tingkat kedalaman, dan sebuah induk tidak boleh memiliki lebih dari 100 anak langsung.
# Daftar organisasi
Source: https://altostrat.io/docs/api/id/organizations/daftar-organisasi
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations
Mengembalikan daftar semua organisasi dalam workspace yang ditentukan.
# Daftar organisasi anak
Source: https://altostrat.io/docs/api/id/organizations/daftar-organisasi-anak
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/children
Mengembalikan daftar organisasi anak langsung dari organisasi induk yang ditentukan.
# Daftar semua organisasi turunan
Source: https://altostrat.io/docs/api/id/organizations/daftar-semua-organisasi-turunan
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/descendants
Mengembalikan daftar datar dari semua organisasi yang merupakan turunan (anak, cucu, dll.) dari organisasi induk yang ditentukan.
# Ekspor penggunaan organisasi sebagai CSV
Source: https://altostrat.io/docs/api/id/organizations/ekspor-penggunaan-organisasi-sebagai-csv
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.csv
Menghasilkan dan mengunduh file CSV yang merinci penggunaan sumber daya dan batasan untuk semua organisasi dalam workspace yang ditentukan.
# Ekspor penggunaan organisasi sebagai PDF
Source: https://altostrat.io/docs/api/id/organizations/ekspor-penggunaan-organisasi-sebagai-pdf
api/id/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.pdf
Menghasilkan dan mengunduh file PDF yang merinci penggunaan sumber daya dan batasan untuk semua organisasi dalam workspace yang ditentukan.
# Hapus organisasi
Source: https://altostrat.io/docs/api/id/organizations/hapus-organisasi
api/id/workspaces.yaml delete /workspaces/{workspaceId}/organizations/{organizationId}
Menghapus organisasi secara permanen. Sebuah organisasi tidak dapat dihapus jika organisasi itu sendiri atau keturunannya memiliki penggunaan sumber daya aktif.
# Perbarui organisasi
Source: https://altostrat.io/docs/api/id/organizations/perbarui-organisasi
api/id/workspaces.yaml patch /workspaces/{workspaceId}/organizations/{organizationId}
Memperbarui atribut yang ditentukan dari sebuah organisasi. Endpoint ini dapat digunakan untuk mengubah nama organisasi, memperbarui batas sumber dayanya, atau memodifikasi pengaturan branding. Anda hanya perlu menyediakan bidang yang ingin Anda ubah.
# Atur metode pembayaran default
Source: https://altostrat.io/docs/api/id/payment-methods/atur-metode-pembayaran-default
api/id/workspaces.yaml put /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Mengatur metode pembayaran yang ditentukan sebagai default untuk sebuah akun penagihan. Metode pembayaran ini akan digunakan untuk semua faktur langganan di masa mendatang.
# Buat Niat Pengaturan (Setup Intent)
Source: https://altostrat.io/docs/api/id/payment-methods/buat-niat-pengaturan-setup-intent
api/id/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Membuat Niat Pengaturan Stripe untuk mengumpulkan detail metode pembayaran untuk pembayaran di masa mendatang. Ini mengembalikan `client_secret` yang dapat Anda gunakan dengan Stripe.js atau SDK seluler untuk menampilkan formulir pembayaran. Sebuah akun penagihan tidak boleh memiliki lebih dari 5 metode pembayaran.
# Daftar metode pembayaran
Source: https://altostrat.io/docs/api/id/payment-methods/daftar-metode-pembayaran
api/id/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Mengembalikan daftar metode pembayaran yang terlampir pada sebuah akun penagihan.
# Lepaskan metode pembayaran
Source: https://altostrat.io/docs/api/id/payment-methods/lepaskan-metode-pembayaran
api/id/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Melepaskan metode pembayaran dari sebuah akun penagihan. Anda tidak dapat melepaskan satu-satunya metode pembayaran pada sebuah akun, juga tidak dapat melepaskan metode pembayaran default jika ada langganan aktif.
# Ambil peer
Source: https://altostrat.io/docs/api/id/peers/ambil-peer
api/id/managed-vpn.yaml get /instances/{instanceId}/peers/{peerId}
Mengambil detail peer tertentu berdasarkan pengenal uniknya.
# Buat peer
Source: https://altostrat.io/docs/api/id/peers/buat-peer
api/id/managed-vpn.yaml post /instances/{instanceId}/peers
Membuat peer baru (klien atau situs) dan mengaitkannya dengan instans VPN.
# Daftar semua peer untuk suatu instans
Source: https://altostrat.io/docs/api/id/peers/daftar-semua-peer-untuk-suatu-instans
api/id/managed-vpn.yaml get /instances/{instanceId}/peers
Mengambil daftar semua peer (klien dan situs) yang terkait dengan instans VPN tertentu.
# Hapus peer
Source: https://altostrat.io/docs/api/id/peers/hapus-peer
api/id/managed-vpn.yaml delete /instances/{instanceId}/peers/{peerId}
Menghapus peer secara permanen dari instans VPN. Ini akan mencabut aksesnya.
# Perbarui peer
Source: https://altostrat.io/docs/api/id/peers/perbarui-peer
api/id/managed-vpn.yaml put /instances/{instanceId}/peers/{peerId}
Mengubah konfigurasi peer yang ada, seperti subnet atau perilaku peruteannya.
# Ambil kebijakan
Source: https://altostrat.io/docs/api/id/policies/ambil-kebijakan
api/id/control-plane.yaml get /policies/{policyId}
Mengambil detail kebijakan tertentu, termasuk aturannya dan daftar situs tempat kebijakan tersebut diterapkan.
# Buat kebijakan
Source: https://altostrat.io/docs/api/id/policies/buat-kebijakan
api/id/control-plane.yaml post /policies
Membuat kebijakan keamanan baru. Anda dapat menentukan aturan untuk layanan seperti Winbox, SSH, dan HTTP/S, termasuk jaringan mana yang diizinkan untuk mengaksesnya.
# Daftar semua kebijakan
Source: https://altostrat.io/docs/api/id/policies/daftar-semua-kebijakan
api/id/control-plane.yaml get /policies
Mengambil daftar semua kebijakan keamanan milik ruang kerja Anda. Kebijakan menentukan aturan *firewall* dan konfigurasi akses layanan yang diterapkan pada situs Anda.
# Hapus kebijakan
Source: https://altostrat.io/docs/api/id/policies/hapus-kebijakan
api/id/control-plane.yaml delete /policies/{policyId}
Menghapus sebuah kebijakan. Anda tidak dapat menghapus kebijakan default. Situs mana pun yang menggunakan kebijakan yang dihapus akan dialihkan ke kebijakan default.
# Perbarui kebijakan
Source: https://altostrat.io/docs/api/id/policies/perbarui-kebijakan
api/id/control-plane.yaml put /policies/{policyId}
Memperbarui kebijakan yang ditentukan dengan mengatur nilai parameter yang diberikan. Parameter apa pun yang tidak diberikan akan tetap tidak berubah.
# Terapkan kebijakan ke situs
Source: https://altostrat.io/docs/api/id/policies/terapkan-kebijakan-ke-situs
api/id/control-plane.yaml post /policies/{policyId}/sites
Menetapkan atau menetapkan ulang daftar situs ke kebijakan ini. Ini adalah cara utama untuk menerapkan serangkaian aturan *firewall* baru ke satu atau beberapa perangkat.
# Melihat daftar prefiks
Source: https://altostrat.io/docs/api/id/prefix-lists/melihat-daftar-prefiks
api/id/security-groups.yaml get /prefix-lists
Mengambil daftar semua daftar prefiks dalam organisasi Anda. Endpoint ini menyediakan tampilan ringkas dan tidak menyertakan daftar rinci prefiks atau situs untuk alasan performa. Untuk mendapatkan detail lengkap, ambil daftar prefiks tertentu berdasarkan ID-nya.
# Membuat daftar prefiks
Source: https://altostrat.io/docs/api/id/prefix-lists/membuat-daftar-prefiks
api/id/security-groups.yaml post /prefix-lists
Membuat daftar prefiks baru dengan seperangkat blok CIDR yang telah ditentukan dan asosiasi situs awal. Asosiasi situs dan penerapan daftar alamat ditangani secara asinkron.
# Memperbarui daftar prefiks
Source: https://altostrat.io/docs/api/id/prefix-lists/memperbarui-daftar-prefiks
api/id/security-groups.yaml put /prefix-lists/{prefixListId}
Memperbarui daftar prefiks yang ada dengan mengganti sepenuhnya atributnya, termasuk nama, deskripsi, prefiks, dan asosiasi situs. Ini adalah operasi penggantian penuh (PUT); setiap field yang dihilangkan akan menyebabkan item-item tersebut dihapus.
# Mengambil daftar prefiks
Source: https://altostrat.io/docs/api/id/prefix-lists/mengambil-daftar-prefiks
api/id/security-groups.yaml get /prefix-lists/{prefixListId}
Mengambil detail lengkap dari daftar prefiks tertentu, termasuk nama, deskripsi, status, situs terkait, dan daftar lengkap prefiksnya.
# Menghapus daftar prefiks
Source: https://altostrat.io/docs/api/id/prefix-lists/menghapus-daftar-prefiks
api/id/security-groups.yaml delete /prefix-lists/{prefixListId}
Menghapus daftar prefiks secara permanen. Tindakan ini akan gagal jika daftar prefiks saat ini direferensikan oleh aturan grup keamanan mana pun. Sebuah proses asinkron akan menghapus daftar alamat yang sesuai dari semua situs terkait.
# Ambil Detail Produk
Source: https://altostrat.io/docs/api/id/produk/ambil-detail-produk
api/id/mikrotik-oem-data.yaml get /oem/product/{slug}
Mengambil detail lengkap dari satu produk MikroTik, yang diidentifikasi oleh slug uniknya. Endpoint ini menyediakan serangkaian spesifikasi yang lengkap, termasuk detail perangkat keras inti, hasil tes kinerja, aksesori yang disertakan, dan aset yang dapat diunduh.
# Daftar Produk
Source: https://altostrat.io/docs/api/id/produk/daftar-produk
api/id/mikrotik-oem-data.yaml get /oem/products
Mengembalikan daftar produk MikroTik yang dipaginasi. Daftar ini dapat difilter berdasarkan nama produk atau nomor model, memungkinkan kemampuan pencarian dan katalogisasi yang kuat.
# Dapatkan informasi branding publik
Source: https://altostrat.io/docs/api/id/public/dapatkan-informasi-branding-publik
api/id/workspaces.yaml get /organizations/{id}/branding
Mengambil informasi branding publik untuk sebuah organisasi, seperti nama tampilan, logo, dan warna tema. Anda dapat menggunakan ID utama organisasi (`org_...`) atau UUID eksternalnya sebagai pengidentifikasi. Ini adalah endpoint publik tanpa autentikasi.
# Selesaikan petunjuk login
Source: https://altostrat.io/docs/api/id/public/selesaikan-petunjuk-login
api/id/workspaces.yaml get /organizations/resolve/{login_hint}
Dengan petunjuk login (*login hint*) yang unik (misalnya, nama perusahaan singkat seperti 'acme'), endpoint ini mengembalikan ID organisasi yang sesuai. Ini berguna untuk mengisi detail organisasi secara otomatis dalam alur login. Ini adalah endpoint publik tanpa autentikasi.
# Melihat daftar layanan umum
Source: https://altostrat.io/docs/api/id/reference-data/melihat-daftar-layanan-umum
api/id/security-groups.yaml get /reference/services
Mengambil daftar layanan jaringan umum dan nomor port standarnya untuk membantu dalam pembuatan aturan firewall.
# Melihat daftar protokol yang didukung
Source: https://altostrat.io/docs/api/id/reference-data/melihat-daftar-protokol-yang-didukung
api/id/security-groups.yaml get /reference/protocols
Mengambil daftar semua protokol jaringan yang didukung dan nilai integer yang sesuai, yang diperlukan saat membuat aturan firewall.
# Daftar Reseller
Source: https://altostrat.io/docs/api/id/reseller/daftar-reseller
api/id/mikrotik-oem-data.yaml get /oem/mikrotik-resellers
Mengembalikan daftar reseller resmi MikroTik yang dipaginasi. Ini memungkinkan Anda untuk menemukan reseller berdasarkan lokasi geografis atau nama mereka, memberikan informasi berharga untuk tujuan pengadaan dan kemitraan.
# Ambil Detail Runbook
Source: https://altostrat.io/docs/api/id/runbooks/ambil-detail-runbook
api/id/mikrotik-api.yaml get /runbooks/{runbookId}
Mengambil detail runbook tertentu, termasuk namanya dan perintah bootstrap yang digunakan untuk onboarding perangkat baru dengan konfigurasi ini.
# Ambil Skrip Terjadwal
Source: https://altostrat.io/docs/api/id/scheduled-scripts/ambil-skrip-terjadwal
api/id/scripts.yaml get /scheduled/{scheduledScriptId}
Mengambil informasi detail untuk satu skrip terjadwal, termasuk status, kemajuan, dan konfigurasinya saat ini.
# Batalkan atau Hapus Skrip Terjadwal
Source: https://altostrat.io/docs/api/id/scheduled-scripts/batalkan-atau-hapus-skrip-terjadwal
api/id/scripts.yaml delete /scheduled/{scheduledScriptId}
Endpoint ini memiliki fungsi ganda. Jika skrip berstatus 'belum diotorisasi' dan belum diluncurkan, skrip akan dihapus secara permanen. Jika skrip berstatus 'terjadwal' atau 'diluncurkan', skrip akan ditandai sebagai 'dibatalkan' untuk mencegah eksekusi lebih lanjut, tetapi catatannya akan tetap disimpan.
# Daftar Skrip Terjadwal
Source: https://altostrat.io/docs/api/id/scheduled-scripts/daftar-skrip-terjadwal
api/id/scripts.yaml get /scheduled
Mengambil daftar semua skrip yang dijadwalkan untuk dieksekusi yang dapat diakses oleh pengguna yang terautentikasi. Ini memberikan gambaran umum tentang tugas otomasi yang tertunda, sedang berlangsung, dan yang telah selesai.
# Dapatkan Kemajuan Eksekusi
Source: https://altostrat.io/docs/api/id/scheduled-scripts/dapatkan-kemajuan-eksekusi
api/id/scripts.yaml get /scheduled/{scheduledScriptId}/progress
Mengambil kemajuan eksekusi real-time untuk skrip yang telah diluncurkan. Ini menyediakan daftar situs di mana skrip telah selesai, gagal, atau masih tertunda.
# Jadwalkan Skrip Baru
Source: https://altostrat.io/docs/api/id/scheduled-scripts/jadwalkan-skrip-baru
api/id/scripts.yaml post /scheduled
Membuat entri skrip terjadwal baru. Ini melibatkan pendefinisian konten skrip, pemilihan perangkat target (situs), penentuan waktu peluncuran, dan konfigurasi penerima notifikasi. Skrip akan berada dalam status 'belum diotorisasi' hingga alur kerja otorisasi selesai.
# Jalankan Eksekusi Uji Coba
Source: https://altostrat.io/docs/api/id/scheduled-scripts/jalankan-eksekusi-uji-coba
api/id/scripts.yaml put /scheduled/{scheduledScriptId}/run-test
Segera mengirimkan skrip untuk dieksekusi pada 'test_site_id' yang ditunjuk. Ini memungkinkan validasi logika dan dampak skrip di lingkungan yang terkontrol sebelum peluncuran skala penuh. Skrip tidak perlu diotorisasi untuk menjalankan uji coba.
# Jalankan Skrip Terjadwal Segera
Source: https://altostrat.io/docs/api/id/scheduled-scripts/jalankan-skrip-terjadwal-segera
api/id/scripts.yaml put /scheduled/{scheduledScriptId}/run
Memicu eksekusi segera dari skrip yang sudah diotorisasi, mengabaikan waktu 'launch_at' yang dijadwalkan. Ini berguna untuk penyebaran mendesak. Skrip harus dalam status 'diotorisasi' untuk dapat dijalankan segera.
# Minta Otorisasi Skrip
Source: https://altostrat.io/docs/api/id/scheduled-scripts/minta-otorisasi-skrip
api/id/scripts.yaml get /scheduled/{scheduledScriptId}/authorize
Memulai alur kerja otorisasi untuk skrip 'belum diotorisasi'. Tindakan ini mengirimkan notifikasi (mis., WhatsApp, email) ke penerima yang dikonfigurasi, berisi tautan unik untuk menyetujui eksekusi skrip.
# Perbarui Skrip Terjadwal
Source: https://altostrat.io/docs/api/id/scheduled-scripts/perbarui-skrip-terjadwal
api/id/scripts.yaml put /scheduled/{scheduledScriptId}
Mengubah skrip terjadwal yang ada. Ini hanya mungkin jika skrip belum diluncurkan. Memperbarui skrip akan mengatur ulang status otorisasi menjadi 'belum diotorisasi', memerlukan persetujuan ulang sebelum dapat dieksekusi.
# Ambil Templat Skrip
Source: https://altostrat.io/docs/api/id/script-templates/ambil-templat-skrip
api/id/scripts.yaml get /templates/{templateId}
Mengambil detail templat skrip tertentu, termasuk kontennya.
# Buat Templat Skrip
Source: https://altostrat.io/docs/api/id/script-templates/buat-templat-skrip
api/id/scripts.yaml post /templates
Membuat templat skrip privat baru untuk organisasi pengguna. Ini memungkinkan penyimpanan dan penggunaan kembali skrip standar dalam sebuah tim.
# Daftar Templat Skrip
Source: https://altostrat.io/docs/api/id/script-templates/daftar-templat-skrip
api/id/scripts.yaml get /templates
Mengambil koleksi templat skrip. Templat dapat difilter untuk menampilkan templat publik (global), privat (spesifik organisasi), atau semua templat yang dapat diakses. Templat juga dapat dicari berdasarkan nama atau deskripsi.
# Hapus Templat Skrip
Source: https://altostrat.io/docs/api/id/script-templates/hapus-templat-skrip
api/id/scripts.yaml delete /templates/{templateId}
Menghapus templat skrip privat secara permanen. Tindakan ini tidak dapat dibatalkan dan hanya diizinkan pada templat yang pengguna berwenang untuk mengeditnya.
# Perbarui Templat Skrip
Source: https://altostrat.io/docs/api/id/script-templates/perbarui-templat-skrip
api/id/scripts.yaml put /templates/{templateId}
Mengubah templat skrip yang ada. Tindakan ini hanya diizinkan pada templat yang bersifat privat untuk organisasi pengguna dan dibuat oleh pengguna tersebut. Templat global bersifat hanya-baca.
# Cari Sumber Daya Tenant
Source: https://altostrat.io/docs/api/id/search/cari-sumber-daya-tenant
api/id/search.yaml get /search
Melakukan pencarian teks lengkap di semua sumber daya terindeks dalam lingkup tenant pengguna yang terautentikasi.
Hasil secara otomatis dibatasi pada organisasi pengguna. Anda dapat menyaring pencarian lebih lanjut dengan menyediakan `workspace_id` tertentu atau memfilter berdasarkan `types` sumber daya. Kueri ini mendukung pencocokan fuzzy dan toleransi salah ketik untuk pengalaman pengguna yang lebih baik.
# Melihat daftar grup keamanan
Source: https://altostrat.io/docs/api/id/security-groups/melihat-daftar-grup-keamanan
api/id/security-groups.yaml get /security-groups
Mengambil daftar semua grup keamanan dalam organisasi Anda. Endpoint ini menyediakan tampilan ringkas dari setiap grup dan tidak menyertakan daftar rinci aturan atau situs terkait untuk alasan performa. Untuk mendapatkan detail lengkap, ambil grup keamanan tertentu berdasarkan ID-nya.
# Membuat grup keamanan
Source: https://altostrat.io/docs/api/id/security-groups/membuat-grup-keamanan
api/id/security-groups.yaml post /security-groups
Membuat grup keamanan baru dengan seperangkat aturan firewall yang telah ditentukan dan asosiasi situs awal. Grup dibuat secara atomik. Asosiasi situs dan penerapan aturan ditangani secara asinkron. Respons akan menunjukkan status `syncing` jika ada situs yang perlu diperbarui.
# Memperbarui grup keamanan
Source: https://altostrat.io/docs/api/id/security-groups/memperbarui-grup-keamanan
api/id/security-groups.yaml put /security-groups/{securityGroupId}
Memperbarui grup keamanan yang ada dengan mengganti sepenuhnya atributnya, termasuk nama, deskripsi, aturan, dan asosiasi situs. Ini adalah operasi penggantian penuh (PUT); setiap field yang dihilangkan dalam array `rules` atau `sites` akan menyebabkan item-item tersebut dihapus.
# Mengambil grup keamanan
Source: https://altostrat.io/docs/api/id/security-groups/mengambil-grup-keamanan
api/id/security-groups.yaml get /security-groups/{securityGroupId}
Mengambil detail lengkap dari grup keamanan tertentu, termasuk nama, deskripsi, status, situs terkait, dan daftar lengkap aturan firewall-nya.
# Menghapus grup keamanan
Source: https://altostrat.io/docs/api/id/security-groups/menghapus-grup-keamanan
api/id/security-groups.yaml delete /security-groups/{securityGroupId}
Menghapus grup keamanan secara permanen. Tindakan ini tidak dapat dibatalkan. Sebuah proses asinkron akan menghapus aturan firewall yang sesuai dari semua situs terkait.
# Buat catatan situs
Source: https://altostrat.io/docs/api/id/site-files/buat-catatan-situs
api/id/metadata.yaml post /sites/{siteId}/notes
Membuat catatan markdown baru dan melampirkannya ke situs yang ditentukan.
# Daftar catatan situs
Source: https://altostrat.io/docs/api/id/site-files/daftar-catatan-situs
api/id/metadata.yaml get /sites/{siteId}/notes
Mengambil daftar semua catatan markdown yang terkait dengan situs tertentu.
# Dapatkan konten catatan situs
Source: https://altostrat.io/docs/api/id/site-files/dapatkan-konten-catatan-situs
api/id/metadata.yaml get /sites/{siteId}/notes/{noteId}
Mengunduh konten Markdown mentah dari catatan situs tertentu.
# Dapatkan URL unggah dokumen
Source: https://altostrat.io/docs/api/id/site-files/dapatkan-url-unggah-dokumen
api/id/metadata.yaml post /sites/{siteId}/documents
Meminta URL pra-tanda tangan yang dapat digunakan untuk mengunggah file dokumen (misalnya, PDF, DOCX) langsung ke penyimpanan aman. Anda harus melakukan permintaan PUT ke `signed_url` yang dikembalikan dengan konten file sebagai badan permintaan.
# Dapatkan URL unggah media
Source: https://altostrat.io/docs/api/id/site-files/dapatkan-url-unggah-media
api/id/metadata.yaml post /sites/{siteId}/media
Meminta URL pra-tanda tangan yang dapat digunakan untuk mengunggah file media (misalnya, gambar, video) langsung ke penyimpanan aman. Anda harus melakukan permintaan PUT ke `signed_url` yang dikembalikan dengan konten file sebagai badan permintaan.
# Hapus catatan situs
Source: https://altostrat.io/docs/api/id/site-files/hapus-catatan-situs
api/id/metadata.yaml delete /sites/{siteId}/notes/{noteId}
Menghapus catatan secara permanen dari sebuah situs.
# Hapus file dokumen
Source: https://altostrat.io/docs/api/id/site-files/hapus-file-dokumen
api/id/metadata.yaml delete /sites/{siteId}/documents/{documentId}
Menghapus file dokumen secara permanen dari sebuah situs.
# Hapus file media
Source: https://altostrat.io/docs/api/id/site-files/hapus-file-media
api/id/metadata.yaml delete /sites/{siteId}/media/{mediaId}
Menghapus file media secara permanen dari sebuah situs.
# Unduh file dokumen
Source: https://altostrat.io/docs/api/id/site-files/unduh-file-dokumen
api/id/metadata.yaml get /sites/{siteId}/documents/{documentId}
Mengunduh file dokumen tertentu yang terkait dengan sebuah situs.
# Unduh file media
Source: https://altostrat.io/docs/api/id/site-files/unduh-file-media
api/id/metadata.yaml get /sites/{siteId}/media/{mediaId}
Mengunduh file media tertentu yang terkait dengan sebuah situs.
# Daftar Antarmuka Situs
Source: https://altostrat.io/docs/api/id/site-interfaces-&-metrics/daftar-antarmuka-situs
api/id/monitoring-metrics.yaml get /v1/monitoring/interfaces/{siteId}
Mengambil daftar semua antarmuka jaringan yang dipantau melalui SNMP untuk situs tertentu.
# Dapatkan Metrik Antarmuka
Source: https://altostrat.io/docs/api/id/site-interfaces-&-metrics/dapatkan-metrik-antarmuka
api/id/monitoring-metrics.yaml post /v1/monitoring/interfaces/{interfaceId}/metrics
Mengambil metrik lalu lintas deret waktu (ifInOctets untuk masuk, ifOutOctets untuk keluar) untuk antarmuka jaringan tertentu selama periode waktu yang ditentukan. Nilai dikembalikan dalam bit per detik.
# Dapatkan kredensial API untuk sebuah situs
Source: https://altostrat.io/docs/api/id/site-operations/dapatkan-kredensial-api-untuk-sebuah-situs
api/id/control-plane.yaml get /sites/{siteId}/credentials
Mengambil kredensial API saat ini untuk sebuah situs. Kredensial ini digunakan oleh platform Altostrat untuk mengelola perangkat.
# Dapatkan server manajemen untuk sebuah situs
Source: https://altostrat.io/docs/api/id/site-operations/dapatkan-server-manajemen-untuk-sebuah-situs
api/id/control-plane.yaml get /sites/{siteId}/management-server
Mengambil nama hos dari server manajemen Altostrat yang saat ini bertanggung jawab atas terowongan aman situs. Ini berguna untuk diagnostik.
# Lakukan tindakan pada sebuah situs
Source: https://altostrat.io/docs/api/id/site-operations/lakukan-tindakan-pada-sebuah-situs
api/id/control-plane.yaml post /sites/{siteId}/action
Mengirimkan perintah ke situs untuk melakukan tindakan tertentu yang telah ditentukan sebelumnya. Ini digunakan untuk operasi jarak jauh seperti me-reboot atau membersihkan aturan *firewall*.
Tindakan yang tersedia: - `site.upgrade`: Memicu peningkatan perangkat lunak pada perangkat. - `site.clear_firewall`: Membersihkan aturan *firewall* perangkat. - `site.reboot`: Me-reboot perangkat. - `site.recreate_management_filter`: Menerapkan kembali aturan *firewall* manajemen Altostrat. - `site.recreate_tunnel`: Meruntuhkan dan membangun kembali terowongan aman ke platform. - `site.resend_api_user`: Mendorong kredensial pengguna API saat ini ke perangkat lagi.
# Putar kredensial API untuk sebuah situs
Source: https://altostrat.io/docs/api/id/site-operations/putar-kredensial-api-untuk-sebuah-situs
api/id/control-plane.yaml post /sites/{siteId}/credentials
Menghasilkan kredensial API baru untuk situs yang ditentukan. Kredensial lama akan menjadi tidak valid dan diganti pada perangkat.
# Ambil Konfigurasi Keamanan Situs
Source: https://altostrat.io/docs/api/id/site-security-configuration/ambil-konfigurasi-keamanan-situs
api/id/utm-ips.yaml get /tunnel/{siteId}
Mengambil lampiran kebijakan DNS dan BGP saat ini untuk situs tertentu.
# Daftar Semua Konfigurasi Keamanan Situs
Source: https://altostrat.io/docs/api/id/site-security-configuration/daftar-semua-konfigurasi-keamanan-situs
api/id/utm-ips.yaml get /tunnel
Mengambil daftar semua situs (terowongan) yang terkait dengan akun Anda dan lampiran kebijakan keamanan mereka saat ini.
# Lampirkan Kebijakan BGP ke Situs
Source: https://altostrat.io/docs/api/id/site-security-configuration/lampirkan-kebijakan-bgp-ke-situs
api/id/utm-ips.yaml post /sites/{siteId}/bgp
Melampirkan kebijakan Intelijen Ancaman BGP ke situs tertentu, mengaktifkan pemblokiran reputasi IP untuk situs tersebut.
# Lampirkan Kebijakan DNS ke Situs
Source: https://altostrat.io/docs/api/id/site-security-configuration/lampirkan-kebijakan-dns-ke-situs
api/id/utm-ips.yaml post /sites/{siteId}/dns
Melampirkan kebijakan Pemfilteran Konten DNS ke situs tertentu, mengaktifkan aturannya untuk semua lalu lintas dari situs tersebut.
# Lepaskan Kebijakan BGP dari Situs
Source: https://altostrat.io/docs/api/id/site-security-configuration/lepaskan-kebijakan-bgp-dari-situs
api/id/utm-ips.yaml delete /sites/{siteId}/bgp
Melepaskan kebijakan Intelijen Ancaman BGP yang sedang aktif dari situs tertentu, menonaktifkan pemblokiran reputasi IP.
# Lepaskan Kebijakan DNS dari Situs
Source: https://altostrat.io/docs/api/id/site-security-configuration/lepaskan-kebijakan-dns-dari-situs
api/id/utm-ips.yaml delete /sites/{siteId}/dns
Melepaskan kebijakan Pemfilteran Konten DNS yang sedang aktif dari situs tertentu, menonaktifkan aturannya.
# Daftar pengguna untuk sebuah situs
Source: https://altostrat.io/docs/api/id/site-users/daftar-pengguna-untuk-sebuah-situs
api/id/captive-portal.yaml get /sites/{siteId}/users
Mengambil daftar pengguna yang terpaginasi yang telah terhubung melalui captive portal di situs tertentu.
# Ambil Detail Situs
Source: https://altostrat.io/docs/api/id/sites/ambil-detail-situs
api/id/mikrotik-api.yaml get /sites/{siteId}
Mengambil detail lengkap dari situs MikroTik tertentu berdasarkan pengidentifikasi uniknya (UUID).
# Daftar Semua Situs
Source: https://altostrat.io/docs/api/id/sites/daftar-semua-situs
api/id/generative-ai.yaml get /sites
Mengambil daftar sederhana dari semua situs (router MikroTik) yang dikelola dalam organisasi. Endpoint ini dioptimalkan untuk performa dan ideal untuk mengisi antarmuka pengguna atau mendapatkan ID situs untuk digunakan dalam panggilan API lainnya.
# Daftar Situs
Source: https://altostrat.io/docs/api/id/sites/daftar-situs
api/id/mikrotik-api.yaml get /sites
Mengambil daftar berpaginasi dari semua situs MikroTik yang terkait dengan ruang kerja pengguna yang terautentikasi.
# Daftar Situs (Minimal)
Source: https://altostrat.io/docs/api/id/sites/daftar-situs-minimal
api/id/mikrotik-api.yaml get /site-minimal
Mengambil daftar ringkas situs MikroTik, cocok untuk elemen UI seperti menu navigasi di mana hanya informasi penting yang diperlukan.
# Daftar Situs Terbaru
Source: https://altostrat.io/docs/api/id/sites/daftar-situs-terbaru
api/id/mikrotik-api.yaml get /sites/recent
Mengembalikan daftar 5 situs yang paling baru diakses oleh pengguna yang terautentikasi, diurutkan berdasarkan akses terbaru.
# Dapatkan Informasi OEM Situs
Source: https://altostrat.io/docs/api/id/sites/dapatkan-informasi-oem-situs
api/id/generative-ai.yaml get /sites/{siteId}/oem
Mengambil informasi detail Original Equipment Manufacturer (OEM) untuk router MikroTik tertentu yang telah terpasang. Ini termasuk spesifikasi perangkat keras, nomor seri, CPU, RAM, dan level lisensi RouterOS.
# Dapatkan Metadata Situs
Source: https://altostrat.io/docs/api/id/sites/dapatkan-metadata-situs
api/id/generative-ai.yaml get /sites/{siteId}/metadata
Mengambil metadata bentuk bebas yang terkait dengan situs tertentu. Ini dapat mencakup nama yang ditetapkan untuk router, zona waktu yang dikonfigurasi, pesan spanduk kustom, catatan, atau tag lain yang ditentukan oleh pengguna.
# Dapatkan Metrik Situs
Source: https://altostrat.io/docs/api/id/sites/dapatkan-metrik-situs
api/id/generative-ai.yaml get /sites/{siteId}/metrics
Mengambil metrik uptime dan downtime untuk situs tertentu selama 24 jam terakhir, berdasarkan sinyal heartbeat yang diterima oleh platform Altostrat.
# Hapus Situs
Source: https://altostrat.io/docs/api/id/sites/hapus-situs
api/id/mikrotik-api.yaml delete /sites/{siteId}
Menjadwalkan penghapusan situs. Perangkat akan dikirimi perintah untuk menghapus scheduler bootstrap-nya, dan setelah masa tenggang, catatan situs dan semua data terkait akan dihapus secara permanen.
# Perbarui Situs
Source: https://altostrat.io/docs/api/id/sites/perbarui-situs
api/id/mikrotik-api.yaml patch /sites/{siteId}
Memperbarui properti yang dapat diubah dari sebuah situs, seperti nama, lokasi, atau zona waktunya. Hanya kolom yang disediakan dalam isi permintaan yang akan diperbarui.
# Ambil Jadwal Laporan
Source: https://altostrat.io/docs/api/id/sla-report-schedules/ambil-jadwal-laporan
api/id/reports.yaml get /sla/schedules/{scheduleId}
Mengambil rincian jadwal laporan SLA tunggal berdasarkan ID uniknya.
# Buat Jadwal Laporan SLA
Source: https://altostrat.io/docs/api/id/sla-report-schedules/buat-jadwal-laporan-sla
api/id/reports.yaml post /sla/schedules
Membuat jadwal laporan SLA baru. Jadwal ini mendefinisikan laporan berulang, termasuk frekuensi, kriteria pemilihan situs, dan target SLA. `id` untuk jadwal ini akan dibuat oleh server.
# Daftar Jadwal Laporan SLA
Source: https://altostrat.io/docs/api/id/sla-report-schedules/daftar-jadwal-laporan-sla
api/id/reports.yaml get /sla/schedules
Mengambil daftar semua jadwal laporan SLA yang telah dikonfigurasi untuk ruang kerja pelanggan yang terautentikasi.
# Hapus Jadwal Laporan
Source: https://altostrat.io/docs/api/id/sla-report-schedules/hapus-jadwal-laporan
api/id/reports.yaml delete /sla/schedules/{scheduleId}
Menghapus jadwal laporan SLA secara permanen. Tindakan ini tidak dapat dibatalkan.
# Jalankan Laporan Sesuai Permintaan
Source: https://altostrat.io/docs/api/id/sla-report-schedules/jalankan-laporan-sesuai-permintaan
api/id/reports.yaml post /sla/schedules/{scheduleId}/run
Memicu pembuatan laporan langsung sesuai permintaan untuk rentang tanggal tertentu. Ini tidak memengaruhi jadwal reguler. Pembuatan laporan bersifat asinkron dan hasilnya akan muncul di daftar Laporan yang Dihasilkan saat selesai.
# Perbarui Jadwal Laporan
Source: https://altostrat.io/docs/api/id/sla-report-schedules/perbarui-jadwal-laporan
api/id/reports.yaml put /sla/schedules/{scheduleId}
Memperbarui konfigurasi jadwal laporan SLA yang sudah ada.
# Ambil langganan
Source: https://altostrat.io/docs/api/id/subscriptions/ambil-langganan
api/id/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Mengambil detail dari langganan tertentu.
# Batalkan langganan
Source: https://altostrat.io/docs/api/id/subscriptions/batalkan-langganan
api/id/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Membatalkan langganan di akhir periode penagihan saat ini. Operasi ini tidak dapat dilakukan jika akan meninggalkan workspace atau akun penagihan dengan kapasitas yang tidak mencukupi untuk penggunaan sumber daya saat ini.
# Buat langganan
Source: https://altostrat.io/docs/api/id/subscriptions/buat-langganan
api/id/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Membuat langganan Stripe baru untuk sebuah akun penagihan. Jika workspace memenuhi syarat untuk uji coba, langganan uji coba 14 hari akan dibuat tanpa memerlukan metode pembayaran. Jika tidak, metode pembayaran default harus ada pada akun penagihan.
# Daftar langganan
Source: https://altostrat.io/docs/api/id/subscriptions/daftar-langganan
api/id/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Mengembalikan daftar langganan yang terkait dengan sebuah akun penagihan.
# Perbarui langganan
Source: https://altostrat.io/docs/api/id/subscriptions/perbarui-langganan
api/id/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Memperbarui langganan. Endpoint ini mendukung beberapa operasi yang berbeda. Anda dapat mengubah kuantitas produk, menambah atau menghapus produk, memperbarui metadata, atau melakukan tindakan seperti `pause`, `resume`, atau `sync`. Hanya satu jenis operasi (misalnya, `product_quantities`, `add_products`, `action`) yang diizinkan per permintaan.
# Periksa kelayakan uji coba
Source: https://altostrat.io/docs/api/id/subscriptions/periksa-kelayakan-uji-coba
api/id/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/trial-eligibility
Memeriksa apakah sebuah workspace memenuhi syarat untuk uji coba gratis 14 hari. Sebuah workspace memenuhi syarat jika hanya memiliki satu akun penagihan dan tidak ada langganan yang ada.
# Cari sumber daya berdasarkan nilai tag
Source: https://altostrat.io/docs/api/id/tag-values/cari-sumber-daya-berdasarkan-nilai-tag
api/id/metadata.yaml get /tags/{tagId}/resources
Mengambil daftar semua sumber daya yang memiliki tag tertentu yang diterapkan dengan nilai spesifik. Ini adalah kueri yang kuat untuk memfilter sumber daya berdasarkan klasifikasinya.
# Daftar nilai unik untuk sebuah tag
Source: https://altostrat.io/docs/api/id/tag-values/daftar-nilai-unik-untuk-sebuah-tag
api/id/metadata.yaml get /tags/{tagId}/values
Mengambil daftar nilai unik yang telah diterapkan pada sumber daya menggunakan definisi tag tertentu. Ini berguna untuk mengisi dropdown atau bidang pelengkapan otomatis di UI.
# Daftar tag untuk sumber daya
Source: https://altostrat.io/docs/api/id/tag-values/daftar-tag-untuk-sumber-daya
api/id/metadata.yaml get /resources/{correlationId}/tags
Mengambil semua tag yang telah diterapkan pada sumber daya tertentu.
# Hapus tag dari sumber daya
Source: https://altostrat.io/docs/api/id/tag-values/hapus-tag-dari-sumber-daya
api/id/metadata.yaml delete /tags/{tagId}/values/{correlationId}
Menghapus tag tertentu dari sumber daya. Ini tidak menghapus definisi tag itu sendiri.
# Perbarui tag pada sumber daya
Source: https://altostrat.io/docs/api/id/tag-values/perbarui-tag-pada-sumber-daya
api/id/metadata.yaml put /tags/{tagId}/values/{correlationId}
Memperbarui nilai tag pada sumber daya tertentu. Ini secara efektif sama dengan membuat nilai tag baru, karena akan menimpa nilai yang ada untuk tag tersebut pada sumber daya.
# Terapkan tag ke sumber daya
Source: https://altostrat.io/docs/api/id/tag-values/terapkan-tag-ke-sumber-daya
api/id/metadata.yaml post /tags/{tagId}/values
Menerapkan tag dengan nilai tertentu ke sumber daya, yang diidentifikasi oleh `correlation_id` dan `correlation_type`-nya. Jika tag dengan nilai yang sama (tidak peka huruf besar/kecil) sudah ada untuk definisi tag ini, nilai kanonis yang ada akan digunakan.
# Ambil definisi tag
Source: https://altostrat.io/docs/api/id/tags/ambil-definisi-tag
api/id/metadata.yaml get /tags/{tagId}
Mengambil detail definisi tag tertentu berdasarkan ID uniknya. Ini mencakup semua nilai yang telah diterapkan pada sumber daya menggunakan tag ini.
# Buat definisi tag
Source: https://altostrat.io/docs/api/id/tags/buat-definisi-tag
api/id/metadata.yaml post /tags
Membuat definisi tag baru. Definisi tag berfungsi sebagai templat atau kategori (misalnya, "Tipe Situs", "Prioritas") yang kemudian dapat diterapkan ke berbagai sumber daya.
# Daftar semua definisi tag
Source: https://altostrat.io/docs/api/id/tags/daftar-semua-definisi-tag
api/id/metadata.yaml get /tags
Mengambil daftar semua definisi tag untuk ruang kerja Anda. Setiap definisi tag mencakup kunci, warna, dan daftar semua nilai yang saat ini diterapkan pada sumber daya. Ini berguna untuk memahami skema klasifikasi yang tersedia di lingkungan Anda.
# Hapus definisi tag
Source: https://altostrat.io/docs/api/id/tags/hapus-definisi-tag
api/id/metadata.yaml delete /tags/{tagId}
Menghapus secara permanen definisi tag dan semua nilai terkaitnya dari semua sumber daya. Tindakan ini tidak dapat dibatalkan.
# Perbarui definisi tag
Source: https://altostrat.io/docs/api/id/tags/perbarui-definisi-tag
api/id/metadata.yaml put /tags/{tagId}
Memperbarui properti dari definisi tag yang sudah ada, seperti kunci atau warnanya.
# Menampilkan Daftar Topik yang Tersedia
Source: https://altostrat.io/docs/api/id/topik/menampilkan-daftar-topik-yang-tersedia
api/id/notifications.yaml get /notifications/topics
Mengambil daftar semua topik notifikasi yang tersedia. Ini adalah kategori peristiwa yang dapat diikuti oleh grup notifikasi.
# Ambil sesi akses sementara
Source: https://altostrat.io/docs/api/id/transient-access/ambil-sesi-akses-sementara
api/id/control-plane.yaml get /sites/{siteId}/transient-accesses/{accessId}
Mengambil detail dari satu sesi akses sementara.
# Buat sesi akses sementara
Source: https://altostrat.io/docs/api/id/transient-access/buat-sesi-akses-sementara
api/id/control-plane.yaml post /sites/{siteId}/transient-accesses
Membuat sesi sementara yang aman untuk mengakses situs melalui Winbox atau SSH. Sesi ini secara otomatis dicabut setelah durasi yang ditentukan.
# Cabut sesi akses sementara
Source: https://altostrat.io/docs/api/id/transient-access/cabut-sesi-akses-sementara
api/id/control-plane.yaml delete /sites/{siteId}/transient-accesses/{accessId}
Segera mencabut sesi akses sementara yang aktif, menghentikan koneksi dan mencegah akses lebih lanjut.
# Daftar akses sementara untuk sebuah situs
Source: https://altostrat.io/docs/api/id/transient-access/daftar-akses-sementara-untuk-sebuah-situs
api/id/control-plane.yaml get /sites/{siteId}/transient-accesses
Mengambil daftar semua sesi akses sementara yang aktif dan kedaluwarsa untuk situs tertentu.
# Ambil penerusan porta sementara
Source: https://altostrat.io/docs/api/id/transient-port-forwarding/ambil-penerusan-porta-sementara
api/id/control-plane.yaml get /sites/{siteId}/transient-forward/{forwardId}
Mengambil detail dari satu aturan penerusan porta sementara.
# Buat penerusan porta sementara
Source: https://altostrat.io/docs/api/id/transient-port-forwarding/buat-penerusan-porta-sementara
api/id/control-plane.yaml post /sites/{siteId}/transient-forward
Membuat aturan penerusan porta sementara yang aman. Ini memungkinkan Anda untuk mengakses perangkat (mis., server atau kamera) di LAN di belakang situs MikroTik Anda dari alamat IP publik tertentu.
# Cabut penerusan porta sementara
Source: https://altostrat.io/docs/api/id/transient-port-forwarding/cabut-penerusan-porta-sementara
api/id/control-plane.yaml delete /sites/{siteId}/transient-forward/{forwardId}
Segera mencabut aturan penerusan porta yang aktif, menutup koneksi.
# Daftar penerusan porta sementara untuk sebuah situs
Source: https://altostrat.io/docs/api/id/transient-port-forwarding/daftar-penerusan-porta-sementara-untuk-sebuah-situs
api/id/control-plane.yaml get /sites/{siteId}/transient-forward
Mengambil daftar semua aturan penerusan porta sementara yang aktif dan kedaluwarsa untuk situs tertentu.
# Daftar subnet untuk sebuah situs
Source: https://altostrat.io/docs/api/id/utilities/daftar-subnet-untuk-sebuah-situs
api/id/managed-vpn.yaml get /site/{siteId}/subnets
Mengambil daftar subnet yang tersedia untuk situs tertentu, yang berguna saat mengonfigurasi peer site-to-site.
# Daftar tipe node yang tersedia
Source: https://altostrat.io/docs/api/id/utilities/daftar-tipe-node-yang-tersedia
api/id/workflows.yaml get /workflows/node-types
Mengambil daftar semua tipe node yang tersedia (pemicu, tindakan, dan kondisi) yang dapat digunakan untuk membangun alur kerja, beserta skema konfigurasinya.
# Daftar wilayah server yang tersedia
Source: https://altostrat.io/docs/api/id/utilities/daftar-wilayah-server-yang-tersedia
api/id/managed-vpn.yaml get /servers/regions
Mengambil daftar terstruktur dari semua wilayah geografis yang tersedia di mana instans VPN dapat diterapkan.
# Uji coba satu node
Source: https://altostrat.io/docs/api/id/utilities/uji-coba-satu-node
api/id/workflows.yaml post /workflows/test-node
Mengeksekusi satu node alur kerja secara terisolasi dengan konteks yang disediakan. Ini adalah alat debugging yang kuat untuk menguji logika node tanpa menjalankan seluruh alur kerja.
# Ambil detail item vault
Source: https://altostrat.io/docs/api/id/vault/ambil-detail-item-vault
api/id/workflows.yaml get /vault/{vaultId}
Mengambil detail dari satu item vault berdasarkan ID berawalannya. Nilai rahasia tidak pernah dikembalikan.
# Buat item vault
Source: https://altostrat.io/docs/api/id/vault/buat-item-vault
api/id/workflows.yaml post /vault
Membuat item baru di vault untuk menyimpan informasi sensitif seperti kunci API atau kata sandi. Nilai rahasia dienkripsi saat disimpan dan hanya dapat digunakan oleh alur kerja.
# Daftar item vault
Source: https://altostrat.io/docs/api/id/vault/daftar-item-vault
api/id/workflows.yaml get /vault
Mengambil daftar semua item rahasia yang disimpan di vault organisasi Anda. Nilai rahasia itu sendiri tidak pernah dikembalikan.
# Hapus item vault
Source: https://altostrat.io/docs/api/id/vault/hapus-item-vault
api/id/workflows.yaml delete /vault/{vaultId}
Menghapus item vault secara permanen. Tindakan ini tidak dapat dibatalkan. Setiap alur kerja yang menggunakan item ini akan gagal.
# Perbarui item vault
Source: https://altostrat.io/docs/api/id/vault/perbarui-item-vault
api/id/workflows.yaml put /vault/{vaultId}
Memperbarui item vault yang ada, seperti nama, nilai rahasia, atau tanggal kedaluwarsanya.
# Ambil entri walled garden
Source: https://altostrat.io/docs/api/id/walled-garden/ambil-entri-walled-garden
api/id/captive-portal.yaml get /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Mengambil detail dari entri walled garden tertentu.
# Buat entri walled garden
Source: https://altostrat.io/docs/api/id/walled-garden/buat-entri-walled-garden
api/id/captive-portal.yaml post /sites/{siteId}/walled-garden-entries
Menambahkan alamat IP atau subnet baru ke walled garden untuk situs tertentu, memungkinkan pengguna untuk mengaksesnya sebelum melakukan autentikasi.
# Daftar entri walled garden untuk sebuah situs
Source: https://altostrat.io/docs/api/id/walled-garden/daftar-entri-walled-garden-untuk-sebuah-situs
api/id/captive-portal.yaml get /sites/{siteId}/walled-garden-entries
Mengambil daftar semua entri walled garden (tujuan yang diizinkan sebelum autentikasi) untuk situs tertentu.
# Hapus entri walled garden
Source: https://altostrat.io/docs/api/id/walled-garden/hapus-entri-walled-garden
api/id/captive-portal.yaml delete /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Menghapus entri dari walled garden, memblokir akses pra-autentikasi ke alamat IP atau subnet yang ditentukan.
# Perbarui entri walled garden
Source: https://altostrat.io/docs/api/id/walled-garden/perbarui-entri-walled-garden
api/id/captive-portal.yaml put /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Memperbarui detail entri walled garden, seperti namanya. Alamat IP tidak dapat diubah.
# Daftar Tunnel WAN Situs
Source: https://altostrat.io/docs/api/id/wan-tunnels-&-performance/daftar-tunnel-wan-situs
api/id/monitoring-metrics.yaml get /v1/monitoring/wan-tunnels/{siteId}
Mengambil daftar semua tunnel SD-WAN yang dikonfigurasi untuk situs tertentu.
# Dapatkan Statistik Ping Agregat
Source: https://altostrat.io/docs/api/id/wan-tunnels-&-performance/dapatkan-statistik-ping-agregat
api/id/monitoring-metrics.yaml post /v1/monitoring/wan/ping-stats
Mengambil data deret waktu agregat untuk latensi, jitter (mdev), dan packet loss untuk satu atau lebih tunnel WAN selama periode waktu tertentu. Jika tidak ada tunnel yang ditentukan, endpoint akan mengembalikan rata-rata agregat dari semua tunnel. Endpoint ini dioptimalkan untuk membuat grafik kinerja dengan jumlah titik data yang ditentukan.
# Daftar Tunnel untuk Sebuah Situs
Source: https://altostrat.io/docs/api/id/wan-tunnels/daftar-tunnel-untuk-sebuah-situs
api/id/wan-failover.yaml get /v1/failover/{site_id}/tunnels
Mengambil daftar detail semua tunnel WAN yang dikonfigurasi untuk situs tertentu.
# Dapatkan Tunnel Tertentu
Source: https://altostrat.io/docs/api/id/wan-tunnels/dapatkan-tunnel-tertentu
api/id/wan-failover.yaml get /v1/failover/{site_id}/tunnels/{tunnel_id}
Mengambil konfigurasi dan status detail dari satu tunnel WAN.
# Hapus Tunnel WAN
Source: https://altostrat.io/docs/api/id/wan-tunnels/hapus-tunnel-wan
api/id/wan-failover.yaml delete /v1/failover/{site_id}/tunnels/{tunnel_id}
Menghapus secara permanen sebuah tunnel WAN dari konfigurasi failover. Sistem akan secara otomatis memprioritaskan ulang tunnel yang tersisa.
# Konfigurasi Tunnel WAN
Source: https://altostrat.io/docs/api/id/wan-tunnels/konfigurasi-tunnel-wan
api/id/wan-failover.yaml put /v1/failover/{site_id}/tunnels/{tunnel_id}
Memperbarui konfigurasi tunnel WAN tertentu. Ini adalah endpoint utama untuk mendefinisikan bagaimana koneksi WAN beroperasi, termasuk interface router, gateway, dan jenis koneksinya.
# Perbarui Prioritas Tunnel
Source: https://altostrat.io/docs/api/id/wan-tunnels/perbarui-prioritas-tunnel
api/id/wan-failover.yaml post /v1/failover/{site_id}/priorities
Mengurutkan ulang prioritas failover untuk semua tunnel yang terkait dengan sebuah situs. Ini adalah operasi atomik; Anda harus menyediakan daftar lengkap semua tunnel dan prioritas baru yang diinginkan. Angka terendah merepresentasikan prioritas tertinggi.
# Tambahkan Tunnel WAN Baru
Source: https://altostrat.io/docs/api/id/wan-tunnels/tambahkan-tunnel-wan-baru
api/id/wan-failover.yaml post /v1/failover/{site_id}/tunnels
Membuat tunnel WAN baru yang belum dikonfigurasi untuk situs, hingga batas maksimum yang diizinkan oleh langganan. Setelah dibuat, Anda harus menggunakan permintaan `PUT` ke `/v1/failover/{site_id}/tunnels/{tunnel_id}` untuk mengonfigurasi propertinya seperti interface dan gateway.
# Picu alur kerja melalui webhook
Source: https://altostrat.io/docs/api/id/webhooks/picu-alur-kerja-melalui-webhook
api/id/workflows.yaml post /workflows/webhooks/{webhookToken}
Endpoint publik untuk memicu alur kerja yang memiliki `webhook_trigger`. Otentikasi ditangani oleh token rahasia yang unik di path URL. Seluruh badan permintaan akan tersedia dalam konteks alur kerja.
# Ambil detail eksekusi alur kerja
Source: https://altostrat.io/docs/api/id/workflow-runs/ambil-detail-eksekusi-alur-kerja
api/id/workflows.yaml get /workflows/runs/{runId}
Mengambil detail dari satu eksekusi alur kerja, termasuk statusnya, payload pemicu, pesan kesalahan (jika ada), dan log lengkap yang terurut dari setiap langkah yang dieksekusi.
# Daftar eksekusi alur kerja
Source: https://altostrat.io/docs/api/id/workflow-runs/daftar-eksekusi-alur-kerja
api/id/workflows.yaml get /workflows/{workflowId}/executions
Mengambil daftar berhalaman dari semua eksekusi (runs) yang lalu dan saat ini untuk alur kerja tertentu, diurutkan berdasarkan yang terbaru.
# Eksekusi alur kerja
Source: https://altostrat.io/docs/api/id/workflow-runs/eksekusi-alur-kerja
api/id/workflows.yaml post /workflows/{workflowId}/execute
Memicu eksekusi alur kerja secara manual. Alur kerja akan berjalan secara asinkron di latar belakang. Respons ini mengakui bahwa eksekusi telah diterima dan memberikan ID dari eksekusi alur kerja yang baru.
# Jalankan ulang alur kerja
Source: https://altostrat.io/docs/api/id/workflow-runs/jalankan-ulang-alur-kerja
api/id/workflows.yaml post /workflows/runs/{runId}/rerun
Membuat eksekusi alur kerja baru menggunakan payload pemicu awal yang sama dengan eksekusi sebelumnya. Ini berguna untuk mencoba kembali eksekusi yang gagal atau selesai dengan data input asli.
# Lanjutkan alur kerja yang gagal
Source: https://altostrat.io/docs/api/id/workflow-runs/lanjutkan-alur-kerja-yang-gagal
api/id/workflows.yaml post /workflows/runs/{runId}/resume-from/{nodeId}
Melanjutkan eksekusi alur kerja yang gagal dari node tertentu yang telah selesai dengan sukses. Eksekusi alur kerja baru dibuat, mewarisi konteks dari eksekusi asli hingga node yang ditentukan, dan eksekusi berlanjut dari sana.
# Ambil detail alur kerja
Source: https://altostrat.io/docs/api/id/workflows/ambil-detail-alur-kerja
api/id/workflows.yaml get /workflows/{workflowId}
Mengambil detail lengkap dari satu alur kerja berdasarkan ID berawalan, termasuk konfigurasi node dan edge lengkapnya.
# Buat alur kerja baru
Source: https://altostrat.io/docs/api/id/workflows/buat-alur-kerja-baru
api/id/workflows.yaml post /workflows
Membuat definisi alur kerja baru, termasuk node dan edge yang mendefinisikan grafik otomasi. Alur kerja yang valid harus memiliki tepat satu node pemicu.
# Daftar semua alur kerja
Source: https://altostrat.io/docs/api/id/workflows/daftar-semua-alur-kerja
api/id/workflows.yaml get /workflows
Mengambil daftar semua alur kerja milik organisasi Anda. Endpoint ini berguna untuk tampilan dasbor atau untuk memilih alur kerja yang akan dieksekusi atau diedit.
# Eksekusi alur kerja sinkron
Source: https://altostrat.io/docs/api/id/workflows/eksekusi-alur-kerja-sinkron
api/id/workflows.yaml post /workflows/sync/{workflowId}
Mengeksekusi alur kerja yang berisi `sync_request_trigger` dan segera mengembalikan hasilnya. Alur kerja harus dirancang untuk eksekusi sinkron, yang berarti tidak boleh berisi tugas yang berjalan lama seperti penundaan atau iterator. Node terakhir harus berupa node `text_transform` yang dikonfigurasi sebagai respons.
# Hapus alur kerja
Source: https://altostrat.io/docs/api/id/workflows/hapus-alur-kerja
api/id/workflows.yaml delete /workflows/{workflowId}
Menghapus alur kerja secara permanen beserta semua eksekusi dan log terkaitnya. Tindakan ini tidak dapat dibatalkan. Sebuah alur kerja tidak dapat dihapus jika dipanggil oleh alur kerja lain.
# Perbarui alur kerja
Source: https://altostrat.io/docs/api/id/workflows/perbarui-alur-kerja
api/id/workflows.yaml put /workflows/{workflowId}
Memperbarui alur kerja yang ada. Anda dapat memperbarui properti apa pun, termasuk nama, deskripsi, status aktif, jadwal, atau seluruh grafik node dan edge.
# Daftar anggota workspace
Source: https://altostrat.io/docs/api/id/workspace-members/daftar-anggota-workspace
api/id/workspaces.yaml get /workspaces/{workspaceId}/members
Mengembalikan daftar pengguna yang merupakan anggota dari workspace yang ditentukan, termasuk peran mereka.
# Hapus anggota dari workspace
Source: https://altostrat.io/docs/api/id/workspace-members/hapus-anggota-dari-workspace
api/id/workspaces.yaml delete /workspaces/{workspaceId}/members/{memberId}
Menghapus anggota dari workspace. Seorang pengguna dapat menghapus dirinya sendiri, atau pemilik/admin dapat menghapus anggota lain. Pemilik terakhir dari sebuah workspace tidak dapat dihapus.
# Perbarui peran anggota
Source: https://altostrat.io/docs/api/id/workspace-members/perbarui-peran-anggota
api/id/workspaces.yaml patch /workspaces/{workspaceId}/members/{memberId}
Memperbarui peran anggota yang sudah ada di dalam workspace. Perubahan peran tunduk pada aturan hierarki; misalnya, seorang admin tidak dapat mempromosikan anggota lain menjadi pemilik.
# Tambahkan anggota ke workspace
Source: https://altostrat.io/docs/api/id/workspace-members/tambahkan-anggota-ke-workspace
api/id/workspaces.yaml post /workspaces/{workspaceId}/members
Menambahkan pengguna baru ke workspace dengan peran yang ditentukan. Hanya pemilik dan admin workspace yang dapat menambahkan anggota baru. Sebuah workspace tidak boleh memiliki lebih dari 100 anggota.
# Ambil workspace
Source: https://altostrat.io/docs/api/id/workspaces/ambil-workspace
api/id/workspaces.yaml get /workspaces/{workspaceId}
Mengambil detail dari workspace yang sudah ada. Anda harus menjadi anggota workspace untuk dapat mengambilnya.
# Arsipkan workspace
Source: https://altostrat.io/docs/api/id/workspaces/arsipkan-workspace
api/id/workspaces.yaml delete /workspaces/{workspaceId}
Mengarsipkan sebuah workspace, mencegah modifikasi lebih lanjut. Workspace tidak dapat diarsipkan jika berisi organisasi dengan penggunaan sumber daya aktif atau akun penagihan dengan langganan aktif. Ini adalah operasi *soft-delete*. Hanya pemilik workspace yang dapat melakukan tindakan ini.
# Buat workspace
Source: https://altostrat.io/docs/api/id/workspaces/buat-workspace
api/id/workspaces.yaml post /workspaces
Membuat workspace baru, yang berfungsi sebagai wadah tingkat atas untuk sumber daya, pengguna, dan konfigurasi penagihan Anda. Pengguna yang membuat workspace secara otomatis diberi peran 'pemilik'.
# Daftar workspace
Source: https://altostrat.io/docs/api/id/workspaces/daftar-workspace
api/id/workspaces.yaml get /workspaces
Mengembalikan daftar workspace di mana pengguna yang terautentikasi menjadi anggota.
# Perbarui workspace
Source: https://altostrat.io/docs/api/id/workspaces/perbarui-workspace
api/id/workspaces.yaml patch /workspaces/{workspaceId}
Memperbarui workspace yang ditentukan dengan mengatur nilai dari parameter yang diberikan. Parameter apa pun yang tidak disediakan akan dibiarkan tidak berubah. Hanya pemilik dan admin workspace yang dapat melakukan tindakan ini.
# Genera un token di accesso temporaneo
Source: https://altostrat.io/docs/api/it/access-tokens/genera-un-token-di-accesso-temporaneo
api/it/faults.yaml post /token
Genera un JSON Web Token (JWT) di breve durata che può essere utilizzato per fornire accesso temporaneo in sola lettura a specifici dati sui guasti, tipicamente per l'incorporazione in dashboard esterne.
# Ottieni guasti recenti (Legacy)
Source: https://altostrat.io/docs/api/it/analytics/ottieni-guasti-recenti-legacy
api/it/faults.yaml get /recent
Recupera un elenco di guasti recenti. Questo endpoint fornisce una vista specifica dello stato di salute della rete: restituisce tutti i guasti attualmente non risolti, più eventuali guasti risolti negli ultimi 10 minuti.
**Nota:** Questo è un endpoint legacy mantenuto per retrocompatibilità. Per query più flessibili, si consiglia di utilizzare l'endpoint principale `GET /faults` con i filtri appropriati.
# Ottieni le risorse con più guasti
Source: https://altostrat.io/docs/api/it/analytics/ottieni-le-risorse-con-più-guasti
api/it/faults.yaml get /top_faults
Recupera un elenco delle 10 risorse che si sono guastate più frequentemente negli ultimi 14 giorni, insieme a un campione dei loro eventi di guasto più recenti. Utile per identificare aree problematiche nella tua rete.
# Elenca Argomenti Disponibili
Source: https://altostrat.io/docs/api/it/argomenti/elenca-argomenti-disponibili
api/it/notifications.yaml get /notifications/topics
Recupera un elenco di tutti gli argomenti di notifica disponibili. Queste sono le categorie di eventi a cui i gruppi di notifica possono iscriversi.
# Aggiorna Voce ARP
Source: https://altostrat.io/docs/api/it/arp-inventory/aggiorna-voce-arp
api/it/monitoring-metrics.yaml put /v1/monitoring/arps/{siteId}/{arpEntryId}
Aggiorna i metadati per una specifica voce ARP, come assegnarla a un gruppo o impostare un alias personalizzato.
# Cerca Voci ARP
Source: https://altostrat.io/docs/api/it/arp-inventory/cerca-voci-arp
api/it/monitoring-metrics.yaml post /v1/monitoring/arps
Esegue una ricerca paginata per voci ARP su uno o più siti, con opzioni di filtraggio e ordinamento. Questo è l'endpoint principale per costruire un inventario dei dispositivi connessi.
# Aggiorna un'integrazione di autenticazione
Source: https://altostrat.io/docs/api/it/auth-integrations/aggiorna-unintegrazione-di-autenticazione
api/it/captive-portal.yaml put /auth-integrations/{authIntegrationId}
Aggiorna la configurazione di un'integrazione di autenticazione esistente.
# Crea un'integrazione di autenticazione
Source: https://altostrat.io/docs/api/it/auth-integrations/crea-unintegrazione-di-autenticazione
api/it/captive-portal.yaml post /auth-integrations
Crea una nuova integrazione di autenticazione da utilizzare con istanze captive portal che hanno una strategia 'oauth2'.
# Elenca tutte le integrazioni di autenticazione
Source: https://altostrat.io/docs/api/it/auth-integrations/elenca-tutte-le-integrazioni-di-autenticazione
api/it/captive-portal.yaml get /auth-integrations
Recupera un elenco di tutte le integrazioni di autenticazione OAuth2 (IDP) configurate per l'account dell'utente.
# Elimina un'integrazione di autenticazione
Source: https://altostrat.io/docs/api/it/auth-integrations/elimina-unintegrazione-di-autenticazione
api/it/captive-portal.yaml delete /auth-integrations/{authIntegrationId}
Elimina permanentemente un'integrazione di autenticazione. Questa azione non può essere annullata e potrebbe influire sulle istanze captive portal che dipendono da essa.
# Recupera un'integrazione di autenticazione
Source: https://altostrat.io/docs/api/it/auth-integrations/recupera-unintegrazione-di-autenticazione
api/it/captive-portal.yaml get /auth-integrations/{authIntegrationId}
Recupera i dettagli di una specifica integrazione di autenticazione tramite il suo ID univoco.
# Confronta Due Backup
Source: https://altostrat.io/docs/api/it/backups/confronta-due-backup
api/it/backups.yaml get /sites/{siteId}/backups/{fromFilename}/diff/{toFilename}
Genera un diff unificato tra due file di backup per un sito, mostrando le modifiche precise alla configurazione. Questo è prezioso per l'audit delle modifiche e per comprendere l'evoluzione della rete.
# Elenca i Backup per un Sito
Source: https://altostrat.io/docs/api/it/backups/elenca-i-backup-per-un-sito
api/it/backups.yaml get /sites/{siteId}/backups
Recupera un elenco di tutti i file di backup di configurazione disponibili per un sito specifico, ordinati dal più recente al più vecchio. Ciò consente di visualizzare l'intera cronologia delle configurazioni acquisite per un dispositivo.
# Recupera un Backup Specifico
Source: https://altostrat.io/docs/api/it/backups/recupera-un-backup-specifico
api/it/backups.yaml get /sites/{siteId}/backups/{filename}
Recupera il contenuto di un file di backup specifico. Il formato della risposta può essere controllato tramite gli header HTTP per restituire metadati JSON, testo non elaborato, HTML con evidenziazione della sintassi o un file scaricabile.
# Richiedi un Nuovo Backup
Source: https://altostrat.io/docs/api/it/backups/richiedi-un-nuovo-backup
api/it/backups.yaml post /sites/{siteId}/backups
Avvia in modo asincrono un nuovo backup della configurazione per il sito specificato. Il processo di backup viene eseguito in background. Questo endpoint risponde immediatamente con uno stato che indica che la richiesta è stata accettata per l'elaborazione.
# Aggiorna un conto di fatturazione
Source: https://altostrat.io/docs/api/it/billing-accounts/aggiorna-un-conto-di-fatturazione
api/it/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Aggiorna i dettagli di un conto di fatturazione. Qualsiasi parametro non fornito rimarrà invariato. Questa operazione aggiorna anche l'oggetto Customer corrispondente in Stripe.
# Crea un conto di fatturazione
Source: https://altostrat.io/docs/api/it/billing-accounts/crea-un-conto-di-fatturazione
api/it/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts
Crea un nuovo conto di fatturazione all'interno di un workspace. Questo crea anche un oggetto Customer corrispondente in Stripe. Il comportamento è vincolato dalla modalità di fatturazione del workspace; per la modalità `single`, può essere creato un solo conto di fatturazione. Per le modalità `pooled` e `assigned`, se ne possono creare fino a 10.
# Elenca i conti di fatturazione
Source: https://altostrat.io/docs/api/it/billing-accounts/elenca-i-conti-di-fatturazione
api/it/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts
Restituisce un elenco dei conti di fatturazione associati a un workspace.
# Elimina un conto di fatturazione
Source: https://altostrat.io/docs/api/it/billing-accounts/elimina-un-conto-di-fatturazione
api/it/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Elimina permanentemente un conto di fatturazione. Questa azione non può essere annullata. Un conto di fatturazione non può essere eliminato se ha abbonamenti attivi.
# Recupera un conto di fatturazione
Source: https://altostrat.io/docs/api/it/billing-accounts/recupera-un-conto-di-fatturazione
api/it/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Recupera i dettagli di un conto di fatturazione specifico.
# Recupera gli Ultimi Backup in Blocco
Source: https://altostrat.io/docs/api/it/bulk-operations/recupera-gli-ultimi-backup-in-blocco
api/it/backups.yaml post /backups/latest
Recupera in modo efficiente il contenuto del backup più recente per un elenco di fino a 50 siti. Questo è ottimizzato per agenti IA e sistemi di automazione che necessitano di raccogliere le configurazioni di più siti in una singola richiesta. L'endpoint convalida l'accesso per ogni sito individualmente e restituisce uno stato per singolo sito.
# Aggiorna un'istanza captive portal
Source: https://altostrat.io/docs/api/it/captive-portal-instances/aggiorna-unistanza-captive-portal
api/it/captive-portal.yaml put /instances/{instanceId}
Aggiorna la configurazione di una specifica istanza captive portal, inclusi il tema, le sedi, le sottoreti e altre impostazioni.
# Carica un'immagine per l'istanza
Source: https://altostrat.io/docs/api/it/captive-portal-instances/carica-unimmagine-per-listanza
api/it/captive-portal.yaml post /instances/{instanceId}/images/{type}
Carica un logo o un'icona per una specifica istanza captive portal. L'immagine verrà memorizzata e servita tramite un URL firmato nel tema dell'istanza.
# Crea un'istanza captive portal
Source: https://altostrat.io/docs/api/it/captive-portal-instances/crea-unistanza-captive-portal
api/it/captive-portal.yaml post /instances
Crea una nuova istanza captive portal con una configurazione di base. Dettagli aggiuntivi, come temi e sedi, possono essere aggiunti tramite un'operazione di aggiornamento.
# Elenca tutte le istanze captive portal
Source: https://altostrat.io/docs/api/it/captive-portal-instances/elenca-tutte-le-istanze-captive-portal
api/it/captive-portal.yaml get /instances
Recupera un elenco di tutte le istanze captive portal accessibili all'utente autenticato.
# Elimina un'istanza captive portal
Source: https://altostrat.io/docs/api/it/captive-portal-instances/elimina-unistanza-captive-portal
api/it/captive-portal.yaml delete /instances/{instanceId}
Elimina permanentemente un'istanza captive portal e tutte le sottoreti, sedi, coupon e asset associati. Questa azione non può essere annullata.
# Recupera un'istanza captive portal
Source: https://altostrat.io/docs/api/it/captive-portal-instances/recupera-unistanza-captive-portal
api/it/captive-portal.yaml get /instances/{instanceId}
Recupera i dettagli completi di una specifica istanza captive portal tramite il suo ID univoco.
# Aggiungi un commento a un guasto
Source: https://altostrat.io/docs/api/it/comments/aggiungi-un-commento-a-un-guasto
api/it/faults.yaml post /faults/{faultId}/comment
Aggiunge un nuovo commento a un guasto esistente. I commenti sono utili per tracciare le fasi di risoluzione dei problemi, aggiungere contesto o comunicare con i membri del team riguardo a un incidente.
# Associa una policy BGP a un sito
Source: https://altostrat.io/docs/api/it/configurazione-sicurezza-siti/associa-una-policy-bgp-a-un-sito
api/it/utm-ips.yaml post /sites/{siteId}/bgp
Associa una policy di Threat Intelligence BGP a un sito specifico, attivando il blocco della reputazione IP per quel sito.
# Associa una policy DNS a un sito
Source: https://altostrat.io/docs/api/it/configurazione-sicurezza-siti/associa-una-policy-dns-a-un-sito
api/it/utm-ips.yaml post /sites/{siteId}/dns
Associa una policy di filtraggio contenuti DNS a un sito specifico, attivando le sue regole per tutto il traffico proveniente da quel sito.
# Dissocia la policy BGP da un sito
Source: https://altostrat.io/docs/api/it/configurazione-sicurezza-siti/dissocia-la-policy-bgp-da-un-sito
api/it/utm-ips.yaml delete /sites/{siteId}/bgp
Dissocia la policy di Threat Intelligence BGP attualmente attiva da un sito specifico, disattivando il blocco della reputazione IP.
# Dissocia la policy DNS da un sito
Source: https://altostrat.io/docs/api/it/configurazione-sicurezza-siti/dissocia-la-policy-dns-da-un-sito
api/it/utm-ips.yaml delete /sites/{siteId}/dns
Dissocia la policy di filtraggio contenuti DNS attualmente attiva da un sito specifico, disattivandone le regole.
# Elenca tutte le configurazioni di sicurezza dei siti
Source: https://altostrat.io/docs/api/it/configurazione-sicurezza-siti/elenca-tutte-le-configurazioni-di-sicurezza-dei-siti
api/it/utm-ips.yaml get /tunnel
Recupera un elenco di tutti i siti (tunnel) associati al tuo account e le loro attuali associazioni alle policy di sicurezza.
# Recupera la configurazione di sicurezza di un sito
Source: https://altostrat.io/docs/api/it/configurazione-sicurezza-siti/recupera-la-configurazione-di-sicurezza-di-un-sito
api/it/utm-ips.yaml get /tunnel/{siteId}
Recupera le attuali associazioni alle policy DNS e BGP per un sito specifico.
# Aggiorna una pianificazione di coupon
Source: https://altostrat.io/docs/api/it/coupon-schedules/aggiorna-una-pianificazione-di-coupon
api/it/captive-portal.yaml put /instances/{instanceId}/coupon-schedules/{scheduleId}
Aggiorna la configurazione di una pianificazione di coupon esistente.
# Crea una pianificazione di coupon
Source: https://altostrat.io/docs/api/it/coupon-schedules/crea-una-pianificazione-di-coupon
api/it/captive-portal.yaml post /instances/{instanceId}/coupon-schedules
Crea una nuova pianificazione per generare automaticamente coupon su base ricorrente (giornaliera, settimanale o mensile).
# Elenca le pianificazioni di coupon
Source: https://altostrat.io/docs/api/it/coupon-schedules/elenca-le-pianificazioni-di-coupon
api/it/captive-portal.yaml get /instances/{instanceId}/coupon-schedules
Recupera un elenco di tutte le pianificazioni di generazione di coupon per una specifica istanza captive portal.
# Elimina una pianificazione di coupon
Source: https://altostrat.io/docs/api/it/coupon-schedules/elimina-una-pianificazione-di-coupon
api/it/captive-portal.yaml delete /instances/{instanceId}/coupon-schedules/{scheduleId}
Elimina permanentemente una pianificazione di coupon. Ciò non eliminerà i coupon che sono già stati generati dalla pianificazione.
# Esegui una pianificazione coupon ora
Source: https://altostrat.io/docs/api/it/coupon-schedules/esegui-una-pianificazione-coupon-ora
api/it/captive-portal.yaml post /instances/{instanceId}/coupon-schedules/{scheduleId}/run
Attiva manualmente una pianificazione di coupon per generare immediatamente un nuovo lotto di coupon, al di fuori della sua normale ricorrenza.
# Genera un URL firmato per i coupon
Source: https://altostrat.io/docs/api/it/coupon-schedules/genera-un-url-firmato-per-i-coupon
api/it/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}/generate-url
Crea un URL temporaneo e firmato che può essere utilizzato per recuperare l'elenco dei coupon validi generati da una specifica pianificazione. Questo è utile per distribuire i coupon a sistemi di terze parti senza esporre le chiavi API. L'URL è valido per 24 ore.
# Recupera una pianificazione di coupon
Source: https://altostrat.io/docs/api/it/coupon-schedules/recupera-una-pianificazione-di-coupon
api/it/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}
Recupera i dettagli di una specifica pianificazione di coupon tramite il suo ID.
# Crea coupon
Source: https://altostrat.io/docs/api/it/coupons/crea-coupon
api/it/captive-portal.yaml post /instances/{instanceId}/coupons
Genera un lotto di coupon monouso per una specifica istanza captive portal.
# Elenca i coupon validi per un'istanza
Source: https://altostrat.io/docs/api/it/coupons/elenca-i-coupon-validi-per-unistanza
api/it/captive-portal.yaml get /instances/{instanceId}/coupons
Recupera un elenco di tutti i coupon validi (non riscattati e non scaduti) per una specifica istanza captive portal.
# Ottieni Throughput di Rete
Source: https://altostrat.io/docs/api/it/dashboard/ottieni-throughput-di-rete
api/it/monitoring-metrics.yaml get /v1/monitoring/dashboard/throughput
Recupera dati time-series che rappresentano il throughput medio della rete (in bit al secondo) per i siti specificati in un dato intervallo di tempo. Utilizzare questo endpoint per visualizzare i tassi di traffico per dashboard e report.
# Ottieni Volume di Dati Trasferiti
Source: https://altostrat.io/docs/api/it/dashboard/ottieni-volume-di-dati-trasferiti
api/it/monitoring-metrics.yaml get /v1/monitoring/dashboard/data-transferred
Recupera il volume totale di dati trasferiti (in byte) per i siti specificati, aggregato in intervalli di tempo. Utilizzare questo endpoint per analizzare il consumo di dati e i modelli di utilizzo.
# Ottieni Cronologia Heartbeat del Dispositivo
Source: https://altostrat.io/docs/api/it/device-health-&-status/ottieni-cronologia-heartbeat-del-dispositivo
api/it/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats/{siteId}
Recupera lo stato di heartbeat e connettività del dispositivo nelle ultime 24 ore, aggregato su base oraria. Aiuta a identificare periodi di inattività o mancate registrazioni.
# Ottieni Orario Ultima Rilevazione
Source: https://altostrat.io/docs/api/it/device-health-&-status/ottieni-orario-ultima-rilevazione
api/it/monitoring-metrics.yaml get /v1/monitoring/last-seen/{siteId}
Restituisce il tempo trascorso dall'ultima volta che il dispositivo del sito specificato ha riportato il suo stato.
# Ottieni Statistiche Recenti sullo Stato del Dispositivo
Source: https://altostrat.io/docs/api/it/device-health-&-status/ottieni-statistiche-recenti-sullo-stato-del-dispositivo
api/it/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats-all/{siteId}
Recupera una time-series di metriche chiave sullo stato (CPU, memoria, disco, uptime) per il dispositivo di un sito specifico delle ultime 8 ore.
# Recupera Statistiche del Site in un Intervallo di Date
Source: https://altostrat.io/docs/api/it/device-stats/recupera-statistiche-del-site-in-un-intervallo-di-date
api/it/mikrotik-api.yaml get /sites/{siteId}/mikrotik-stats/range
Recupera le metriche sulle prestazioni in serie temporale (CPU, memoria, disco, uptime) per un site all'interno di un intervallo di date specificato. Per intervalli superiori a 48 ore, i dati vengono aggregati automaticamente ogni ora per garantire una risposta rapida. Per intervalli più brevi, vengono restituiti i dati grezzi.
# Endpoint del JSON Web Key Set (JWKS)
Source: https://altostrat.io/docs/api/it/discovery/endpoint-del-json-web-key-set-jwks
api/it/authentication.yaml get /.well-known/jwks.json
Fornisce l'insieme delle chiavi pubbliche utilizzate per verificare la firma dei JWT emessi dal server di autenticazione. I client dovrebbero utilizzare il `kid` (Key ID) dall'header di un JWT per selezionare la chiave corretta per la validazione.
# Endpoint di Discovery OIDC
Source: https://altostrat.io/docs/api/it/discovery/endpoint-di-discovery-oidc
api/it/authentication.yaml get /.well-known/openid-configuration
Restituisce un documento JSON contenente i metadati di configurazione dell'OpenID Provider. I client conformi a OIDC utilizzano questo endpoint per scoprire automaticamente la posizione degli endpoint di autorizzazione, token, userinfo e JWKS, così come tutte le funzionalità supportate.
# Elenca le esecuzioni di un workflow
Source: https://altostrat.io/docs/api/it/esecuzioni-di-workflow/elenca-le-esecuzioni-di-un-workflow
api/it/workflows.yaml get /workflows/{workflowId}/executions
Recupera un elenco paginato di tutte le esecuzioni passate e correnti (run) per un workflow specifico, ordinate dalla più recente.
# Esegui un workflow
Source: https://altostrat.io/docs/api/it/esecuzioni-di-workflow/esegui-un-workflow
api/it/workflows.yaml post /workflows/{workflowId}/execute
Attiva manualmente l'esecuzione di un workflow. Il workflow verrà eseguito in modo asincrono in background. La risposta conferma che l'esecuzione è stata accettata e fornisce l'ID della nuova esecuzione del workflow.
# Recupera un'esecuzione di workflow
Source: https://altostrat.io/docs/api/it/esecuzioni-di-workflow/recupera-unesecuzione-di-workflow
api/it/workflows.yaml get /workflows/runs/{runId}
Recupera i dettagli di una singola esecuzione di workflow, inclusi il suo stato, il payload del trigger, il messaggio di errore (se presente) e un log completo e ordinato di ogni passo eseguito.
# Riesegui un workflow
Source: https://altostrat.io/docs/api/it/esecuzioni-di-workflow/riesegui-un-workflow
api/it/workflows.yaml post /workflows/runs/{runId}/rerun
Crea una nuova esecuzione del workflow utilizzando lo stesso payload di trigger iniziale di un'esecuzione precedente. Utile per ritentare un'esecuzione fallita o completata con i dati di input originali.
# Riprendi un workflow fallito
Source: https://altostrat.io/docs/api/it/esecuzioni-di-workflow/riprendi-un-workflow-fallito
api/it/workflows.yaml post /workflows/runs/{runId}/resume-from/{nodeId}
Riprende l'esecuzione di un workflow fallito da un nodo specifico completato con successo. Viene creata una nuova esecuzione del workflow, ereditando il contesto dall'esecuzione originale fino al nodo specificato, e l'esecuzione continua da quel punto.
# Attiva Servizio di Failover
Source: https://altostrat.io/docs/api/it/failover-service/attiva-servizio-di-failover
api/it/wan-failover.yaml post /v1/failover/{site_id}
Attiva il servizio di Failover WAN per un sito specificato. Questo è il primo passo per abilitare le funzionalità SD-WAN. L'attivazione del servizio crea automaticamente due tunnel WAN predefiniti e non configurati.
# Disattiva Servizio di Failover
Source: https://altostrat.io/docs/api/it/failover-service/disattiva-servizio-di-failover
api/it/wan-failover.yaml delete /v1/failover/{site_id}
Disattiva il servizio di Failover WAN per un sito, rimuovendo tutti i tunnel WAN associati e le loro configurazioni sia dalla piattaforma Altostrat sia dal router in loco. Questa azione è irreversibile.
# Elenca i Siti con Servizio di Failover
Source: https://altostrat.io/docs/api/it/failover-service/elenca-i-siti-con-servizio-di-failover
api/it/wan-failover.yaml get /v1/failover/service-counts
Recupera un elenco di tutti i siti associati all'utente autenticato che hanno il servizio di Failover WAN attualmente attivo.
# Ottieni Stato del Servizio di Failover
Source: https://altostrat.io/docs/api/it/failover-service/ottieni-stato-del-servizio-di-failover
api/it/wan-failover.yaml get /v1/failover/{site_id}
Verifica lo stato del servizio di Failover WAN per un sito specifico, restituendo l'ID della sottoscrizione se attivo.
# Aggiorna un guasto
Source: https://altostrat.io/docs/api/it/faults/aggiorna-un-guasto
api/it/faults.yaml put /faults/{faultId}
Aggiorna il guasto specificato impostando i valori dei parametri passati. Qualsiasi parametro non fornito rimarrà invariato. Utile per modificare la gravità di un guasto o per risolverlo manualmente.
# Crea un guasto
Source: https://altostrat.io/docs/api/it/faults/crea-un-guasto
api/it/faults.yaml post /faults
Crea manualmente un nuovo oggetto guasto. Tipicamente utilizzato per creare guasti da sistemi esterni o per scopi di test. Per l'acquisizione automatizzata, altri microservizi inviano eventi che vengono elaborati come guasti.
# Elenca tutti i guasti
Source: https://altostrat.io/docs/api/it/faults/elenca-tutti-i-guasti
api/it/faults.yaml get /faults
Restituisce un elenco paginato di oggetti guasto per il tuo account. I guasti sono restituiti in ordine cronologico inverso per data di creazione. È possibile filtrare i risultati utilizzando i parametri di query.
# Elimina un guasto
Source: https://altostrat.io/docs/api/it/faults/elimina-un-guasto
api/it/faults.yaml delete /faults/{faultId}
Elimina permanentemente un oggetto guasto. Questa azione non può essere annullata.
# Recupera un guasto
Source: https://altostrat.io/docs/api/it/faults/recupera-un-guasto
api/it/faults.yaml get /faults/{faultId}
Recupera i dettagli di un guasto esistente. È sufficiente fornire l'identificatore univoco del guasto restituito al momento della sua creazione.
# Aggiorna una policy DNS
Source: https://altostrat.io/docs/api/it/filtraggio-contenuti-dns/aggiorna-una-policy-dns
api/it/utm-ips.yaml put /policy/{policyId}
Aggiorna le proprietà di una policy DNS esistente. È possibile modificarne il nome, i blocchi di applicazioni, le impostazioni di Safe Search e le associazioni ai siti.
# Crea una policy di filtraggio contenuti DNS
Source: https://altostrat.io/docs/api/it/filtraggio-contenuti-dns/crea-una-policy-di-filtraggio-contenuti-dns
api/it/utm-ips.yaml post /policy
Crea una nuova policy di filtraggio contenuti DNS con regole di filtraggio, blocchi di applicazioni e impostazioni di Safe Search specificate.
# Elenca i servizi di Safe Search
Source: https://altostrat.io/docs/api/it/filtraggio-contenuti-dns/elenca-i-servizi-di-safe-search
api/it/utm-ips.yaml get /category/safe_search
Recupera un elenco di servizi (es. Google, YouTube) per i quali è possibile applicare Safe Search in una policy DNS.
# Elenca le categorie di applicazioni
Source: https://altostrat.io/docs/api/it/filtraggio-contenuti-dns/elenca-le-categorie-di-applicazioni
api/it/utm-ips.yaml get /category
Recupera un elenco di tutte le categorie di applicazioni disponibili. Ogni categoria contiene un elenco di applicazioni che possono essere oggetto delle policy DNS.
# Elenca le policy di filtraggio contenuti DNS
Source: https://altostrat.io/docs/api/it/filtraggio-contenuti-dns/elenca-le-policy-di-filtraggio-contenuti-dns
api/it/utm-ips.yaml get /policy
Recupera un elenco di tutte le policy di filtraggio contenuti DNS associate al tuo account.
# Elimina una policy DNS
Source: https://altostrat.io/docs/api/it/filtraggio-contenuti-dns/elimina-una-policy-dns
api/it/utm-ips.yaml delete /policy/{policyId}
Elimina permanentemente una policy DNS. Questa operazione fallirà se la policy è attualmente associata a uno o più siti.
# Recupera una policy DNS
Source: https://altostrat.io/docs/api/it/filtraggio-contenuti-dns/recupera-una-policy-dns
api/it/utm-ips.yaml get /policy/{policyId}
Recupera i dettagli di una specifica policy di filtraggio contenuti DNS tramite il suo identificatore univoco.
# Genera Script da Prompt
Source: https://altostrat.io/docs/api/it/generazione-script-tramite-ia/genera-script-da-prompt
api/it/scripts.yaml post /gen-ai
Invia un prompt in linguaggio naturale al motore di IA per generare uno script MikroTik RouterOS. La risposta include il contenuto dello script generato, un flag che indica se lo script è potenzialmente distruttivo, e qualsiasi errore o avvertimento dall'IA.
# Aggiorna un Gruppo di Notifica
Source: https://altostrat.io/docs/api/it/gruppi-di-notifica/aggiorna-un-gruppo-di-notifica
api/it/notifications.yaml put /notifications/{groupId}
Aggiorna la configurazione di un gruppo di notifica esistente. Questa operazione sostituisce l'intero oggetto del gruppo con i dati forniti.
# Crea un Gruppo di Notifica
Source: https://altostrat.io/docs/api/it/gruppi-di-notifica/crea-un-gruppo-di-notifica
api/it/notifications.yaml post /notifications
Crea un nuovo gruppo di notifica. Ciò consente di definire una nuova regola su chi viene notificato, per quali argomenti, per quali siti e secondo quale pianificazione.
# Elenca Gruppi di Notifica
Source: https://altostrat.io/docs/api/it/gruppi-di-notifica/elenca-gruppi-di-notifica
api/it/notifications.yaml get /notifications
Recupera un elenco di tutti i gruppi di notifica configurati per lo spazio di lavoro dell'utente autenticato. Ogni gruppo rappresenta un insieme specifico di regole per l'instradamento degli avvisi.
# Elimina un Gruppo di Notifica
Source: https://altostrat.io/docs/api/it/gruppi-di-notifica/elimina-un-gruppo-di-notifica
api/it/notifications.yaml delete /notifications/{groupId}
Elimina permanentemente un gruppo di notifica. Questa azione non può essere annullata.
# Recupera un Gruppo di Notifica
Source: https://altostrat.io/docs/api/it/gruppi-di-notifica/recupera-un-gruppo-di-notifica
api/it/notifications.yaml get /notifications/{groupId}
Recupera i dettagli di un gruppo di notifica specifico tramite il suo ID univoco.
# Controllo dello Stato di Salute
Source: https://altostrat.io/docs/api/it/health/controllo-dello-stato-di-salute
api/it/mcp-server.yaml get /health
Fornisce un semplice controllo dello stato di salute del server MCP, restituendo il suo stato, la versione e le capacità supportate. Questo endpoint può essere utilizzato per il monitoraggio e la scoperta dei servizi.
# Elenca Interfacce del Router
Source: https://altostrat.io/docs/api/it/helper-endpoints/elenca-interfacce-del-router
api/it/wan-failover.yaml get /v1/failover/{site_id}/interfaces
Recupera un elenco delle interfacce di rete fisiche e logiche disponibili dal router presso il sito specificato. Utile per identificare il nome corretto dell'`interface` durante la configurazione di un tunnel.
# Ricerca Gateway Idonei
Source: https://altostrat.io/docs/api/it/helper-endpoints/ricerca-gateway-idonei
api/it/wan-failover.yaml post /v1/failover/{site_id}/gateways
Dato un'interfaccia router, questo endpoint tenta di rilevare indirizzi IP di gateway upstream idonei. Ciò aiuta ad automatizzare il processo di individuazione dell'indirizzo IP del `gateway` corretto per la configurazione di un tunnel.
# Introduzione all'API
Source: https://altostrat.io/docs/api/it/introduction
Benvenuto nell'API Altostrat! Il tuo toolkit per creare potenti integrazioni di automazione di rete e sicurezza sulla tua flotta MikroTik.
# Introduzione all'API
Questa pagina è in attesa di traduzione. Si prega di fare riferimento alla [versione inglese](/api/en/introduction) per la documentazione completa.
## Iniziare
Per iniziare a utilizzare l'API Altostrat, avrai bisogno di:
1. Un account Altostrat attivo
2. Un token API (può essere generato dalla dashboard)
3. Conoscenza di base delle REST APIs
## Risorse
Si prega di visitare la versione inglese della documentazione per informazioni dettagliate su:
* Autenticazione
* Endpoint
* Esempi di richieste
* Gestione degli errori
# Elenca le fatture
Source: https://altostrat.io/docs/api/it/invoices/elenca-le-fatture
api/it/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices
Restituisce un elenco di fatture per un conto di fatturazione. Le fatture sono restituite in ordine cronologico inverso.
# Visualizza l'anteprima di una fattura
Source: https://altostrat.io/docs/api/it/invoices/visualizza-lanteprima-di-una-fattura
api/it/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices/preview
Visualizza l'anteprima di una fattura imminente per un conto di fatturazione, mostrando l'impatto finanziario di potenziali modifiche all'abbonamento, come l'aggiunta di prodotti o la modifica delle quantità. Ciò non modifica alcun abbonamento esistente.
# Aggiorna un'istanza VPN
Source: https://altostrat.io/docs/api/it/istanze/aggiorna-unistanza-vpn
api/it/managed-vpn.yaml put /instances/{instanceId}
Modifica la configurazione di un'istanza VPN esistente, come il suo nome, le impostazioni DNS o le route da distribuire (pushed routes).
# Crea un'istanza VPN
Source: https://altostrat.io/docs/api/it/istanze/crea-unistanza-vpn
api/it/managed-vpn.yaml post /instances
Esegue il provisioning di una nuova istanza server VPN in una regione specificata con un hostname univoco. Questo è il primo passo per configurare una nuova VPN.
# Elenca tutte le istanze VPN
Source: https://altostrat.io/docs/api/it/istanze/elenca-tutte-le-istanze-vpn
api/it/managed-vpn.yaml get /instances
Recupera un elenco di tutte le istanze VPN accessibili dall'utente autenticato.
# Elimina un'istanza VPN
Source: https://altostrat.io/docs/api/it/istanze/elimina-unistanza-vpn
api/it/managed-vpn.yaml delete /instances/{instanceId}
Rimuove permanentemente un'istanza VPN e tutti i suoi server e peer associati. Questa azione non può essere annullata.
# Recupera la banda dell'istanza
Source: https://altostrat.io/docs/api/it/istanze/recupera-la-banda-dellistanza
api/it/managed-vpn.yaml get /instances/{instanceId}/bandwidth
Recupera le statistiche di utilizzo della banda per il server primario associato a un'istanza VPN.
# Recupera un'istanza VPN
Source: https://altostrat.io/docs/api/it/istanze/recupera-unistanza-vpn
api/it/managed-vpn.yaml get /instances/{instanceId}
Recupera i dettagli di un'istanza VPN specifica tramite il suo identificatore univoco.
# Annulla un Job in Sospeso
Source: https://altostrat.io/docs/api/it/jobs/annulla-un-job-in-sospeso
api/it/mikrotik-api.yaml delete /sites/{siteId}/jobs/{jobId}
Elimina un job la cui esecuzione non è ancora iniziata. I job in corso, completati o falliti non possono essere eliminati.
# Crea un Job per un Site
Source: https://altostrat.io/docs/api/it/jobs/crea-un-job-per-un-site
api/it/mikrotik-api.yaml post /sites/{siteId}/jobs
Crea e mette in coda un nuovo job da eseguire sul site specificato. Il payload del job è uno script RouterOS grezzo e i metadati vengono forniti tramite gli header.
# Elenca Job per un Site
Source: https://altostrat.io/docs/api/it/jobs/elenca-job-per-un-site
api/it/mikrotik-api.yaml get /sites/{siteId}/jobs
Recupera un elenco di tutti i job che sono stati creati per un site specifico, ordinati per data di creazione (dal più recente).
# Recupera un Job
Source: https://altostrat.io/docs/api/it/jobs/recupera-un-job
api/it/mikrotik-api.yaml get /sites/{siteId}/jobs/{jobId}
Recupera i dettagli completi di un job specifico tramite il suo identificatore univoco (UUID).
# Esegui Comando Sincrono
Source: https://altostrat.io/docs/api/it/live-commands/esegui-comando-sincrono
api/it/generative-ai.yaml post /sites/{siteId}/commands/synchronous
Esegue un comando API RouterOS MikroTik di sola lettura in modo sincrono su un sito specifico. Questo fornisce un'interfaccia diretta e in tempo reale con il dispositivo. Per recuperare configurazioni statiche, l'utilizzo dell'API Backups è spesso più veloce. Le operazioni di scrittura sono severamente proibite.
# Elenca eventi dei log di audit
Source: https://altostrat.io/docs/api/it/log-di-audit/elenca-eventi-dei-log-di-audit
api/it/audit-logs.yaml get /audit-logs
Recupera un elenco di eventi dei log di audit per la tua organizzazione. Questo endpoint supporta filtri potenti e paginazione per aiutarti a trovare eventi specifici per scopi di sicurezza, conformità o debugging.
I risultati sono restituiti in ordine cronologico inverso (dal più recente al meno recente) per impostazione predefinita.
# Endpoint JSON-RPC MCP
Source: https://altostrat.io/docs/api/it/mcp--core-protocol/endpoint-json-rpc-mcp
api/it/mcp-server.yaml post /mcp
Questo è l'endpoint unico per tutte le interazioni del Model Context Protocol (MCP), che seguono la specifica JSON-RPC 2.0.
L'azione specifica da eseguire è determinata dalla proprietà `method` nel corpo della richiesta JSON. La struttura dell'oggetto `params` varia a seconda del metodo chiamato.
Di seguito sono elencati i metodi supportati:
### Ciclo di Vita
- `initialize`: Stabilisce una connessione e negozia le versioni del protocollo.
- `ping`: Un metodo semplice per verificare se la connessione è attiva.
### Strumenti
- `tools/list`: Recupera un elenco degli strumenti disponibili che un agente IA può eseguire.
- `tools/call`: Esegue uno strumento specifico con gli argomenti forniti.
### Risorse
- `resources/list`: Recupera un elenco delle risorse di conoscenza disponibili.
- `resources/read`: Legge il contenuto di una risorsa specifica.
### Prompt
- `prompts/list`: Recupera un elenco di prompt predefiniti disponibili.
- `prompts/get`: Recupera la struttura completa del messaggio per un prompt specifico, popolata con gli argomenti.
# Aggiorna un oggetto di metadati
Source: https://altostrat.io/docs/api/it/metadata/aggiorna-un-oggetto-di-metadati
api/it/metadata.yaml put /metadata/{resourceId}
Aggiorna i metadati per una risorsa specifica. Questa operazione esegue un merge; qualsiasi chiave fornita verrà aggiunta o sovrascriverà le chiavi esistenti, mentre le chiavi non fornite rimarranno invariate. Per rimuovere una chiave, impostare il suo valore su `null` o una stringa vuota.
# Crea un oggetto di metadati
Source: https://altostrat.io/docs/api/it/metadata/crea-un-oggetto-di-metadati
api/it/metadata.yaml post /metadata
Crea un nuovo oggetto di metadati per una data risorsa, o sovrascrive completamente uno esistente per quella risorsa. I metadati stessi sono un archivio chiave-valore flessibile.
# Elenca tutti gli oggetti di metadati
Source: https://altostrat.io/docs/api/it/metadata/elenca-tutti-gli-oggetti-di-metadati
api/it/metadata.yaml get /metadata
Recupera una collezione di tutte le risorse che hanno metadati associati per il cliente corrente.
# Elimina un oggetto di metadati
Source: https://altostrat.io/docs/api/it/metadata/elimina-un-oggetto-di-metadati
api/it/metadata.yaml delete /metadata/{resourceId}
Elimina tutti i metadati personalizzati associati a una risorsa. Questa azione svuota il campo `metadata` ma non elimina la risorsa stessa.
# Recupera un oggetto di metadati
Source: https://altostrat.io/docs/api/it/metadata/recupera-un-oggetto-di-metadati
api/it/metadata.yaml get /metadata/{resourceId}
Recupera l'oggetto di metadati per una singola risorsa, identificata dal suo ID univoco.
# Aggiorna un Modello di Script
Source: https://altostrat.io/docs/api/it/modelli-di-script/aggiorna-un-modello-di-script
api/it/scripts.yaml put /templates/{templateId}
Modifica un modello di script esistente. Questa azione è permessa solo su modelli privati dell'organizzazione dell'utente e creati dall'utente stesso. I modelli globali sono di sola lettura.
# Crea un Modello di Script
Source: https://altostrat.io/docs/api/it/modelli-di-script/crea-un-modello-di-script
api/it/scripts.yaml post /templates
Crea un nuovo modello di script privato per l'organizzazione dell'utente. Ciò consente l'archiviazione e il riutilizzo di script standardizzati all'interno di un team.
# Elenca Modelli di Script
Source: https://altostrat.io/docs/api/it/modelli-di-script/elenca-modelli-di-script
api/it/scripts.yaml get /templates
Recupera una collezione di modelli di script. I modelli possono essere filtrati per mostrare quelli pubblici (globali), privati (specifici dell'organizzazione) o tutti i modelli accessibili. Possono anche essere cercati per nome o descrizione.
# Elimina un Modello di Script
Source: https://altostrat.io/docs/api/it/modelli-di-script/elimina-un-modello-di-script
api/it/scripts.yaml delete /templates/{templateId}
Rimuove permanentemente un modello di script privato. Questa azione non può essere annullata ed è permessa solo su modelli che l'utente è autorizzato a modificare.
# Recupera un Modello di Script
Source: https://altostrat.io/docs/api/it/modelli-di-script/recupera-un-modello-di-script
api/it/scripts.yaml get /templates/{templateId}
Recupera i dettagli di uno specifico modello di script, incluso il suo contenuto.
# Ottieni Report di Sicurezza BGP
Source: https://altostrat.io/docs/api/it/network-logs/ottieni-report-di-sicurezza-bgp
api/it/monitoring-metrics.yaml get /v1/monitoring/bgp-report/{siteId}
Genera un report di sicurezza BGP per un sito basato sui dati delle ultime 24 ore. Il report include le prime 10 porte di destinazione, le prime 10 blocklist attivate e i primi 10 IP di origine che hanno avviato traffico bloccato.
# Ottieni Report di Sicurezza DNS
Source: https://altostrat.io/docs/api/it/network-logs/ottieni-report-di-sicurezza-dns
api/it/monitoring-metrics.yaml get /v1/monitoring/dns-report/{siteId}
Genera un report di sicurezza DNS per un sito basato sui dati delle ultime 24 ore. Il report include le prime 10 categorie bloccate, le prime 10 applicazioni bloccate e i primi 10 IP di origine interni che hanno effettuato richieste bloccate.
# Ottieni Voci Syslog del Sito
Source: https://altostrat.io/docs/api/it/network-logs/ottieni-voci-syslog-del-sito
api/it/monitoring-metrics.yaml get /v1/monitoring/syslogs/{siteId}
Recupera un elenco paginato di messaggi syslog per un sito specifico, ordinati dal più recente.
# Avvia l'Autenticazione Utente
Source: https://altostrat.io/docs/api/it/oauth-20-&-oidc/avvia-lautenticazione-utente
api/it/authentication.yaml get /authorize
Questo è il punto di partenza per l'autenticazione dell'utente. L'applicazione web di Altostrat reindirizza il browser dell'utente a questo endpoint per iniziare il flusso OAuth 2.0 Authorization Code Flow con PKCE.
# Logout Utente (Conforme OIDC)
Source: https://altostrat.io/docs/api/it/oauth-20-&-oidc/logout-utente-conforme-oidc
api/it/authentication.yaml get /oidc/logout
Questo endpoint è conforme alla specifica OIDC Session Management. Effettua il logout dell'utente e può reindirizzarlo all'applicazione.
# Logout Utente (Legacy)
Source: https://altostrat.io/docs/api/it/oauth-20-&-oidc/logout-utente-legacy
api/it/authentication.yaml get /v2/logout
Effettua il logout dell'utente dalla sua sessione Altostrat e lo reindirizza a un URL specificato.
# Ottieni Profilo Utente
Source: https://altostrat.io/docs/api/it/oauth-20-&-oidc/ottieni-profilo-utente
api/it/authentication.yaml get /userinfo
Recupera il profilo dell'utente associato all'`access_token` fornito. I claim restituiti si basano sugli scope concessi durante l'autenticazione.
# Revoca Token
Source: https://altostrat.io/docs/api/it/oauth-20-&-oidc/revoca-token
api/it/authentication.yaml post /oauth/revoke
Revoca un `access_token` o un `refresh_token`, invalidandolo immediatamente. È utile per scenari come il cambio di password o il logout avviato dall'utente da tutti i dispositivi.
# Scambia Codice o Refresh Token per ottenere Token
Source: https://altostrat.io/docs/api/it/oauth-20-&-oidc/scambia-codice-o-refresh-token-per-ottenere-token
api/it/authentication.yaml post /oauth/token
Utilizzato per scambiare un `authorization_code` con dei token, o per usare un `refresh_token` per ottenere un nuovo `access_token`. L'autenticazione del client può essere eseguita tramite `client_secret_post` (nel body), `client_secret_basic` (HTTP Basic Auth), o `private_key_jwt`.
# Aggiorna un'organizzazione
Source: https://altostrat.io/docs/api/it/organizations/aggiorna-unorganizzazione
api/it/workspaces.yaml patch /workspaces/{workspaceId}/organizations/{organizationId}
Aggiorna attributi specifici di un'organizzazione. Questo endpoint può essere utilizzato per cambiare il nome dell'organizzazione, aggiornare i suoi limiti di risorse o modificare le impostazioni di branding. È necessario fornire solo i campi che si desidera modificare.
# Crea un'organizzazione
Source: https://altostrat.io/docs/api/it/organizations/crea-unorganizzazione
api/it/workspaces.yaml post /workspaces/{workspaceId}/organizations
Crea una nuova organizzazione di primo livello all'interno di un workspace. Per creare un'organizzazione figlia, utilizza l'endpoint `/organizations/{organizationId}/children`. Un workspace non può avere più di 1.000 organizzazioni in totale.
# Crea un'organizzazione figlia
Source: https://altostrat.io/docs/api/it/organizations/crea-unorganizzazione-figlia
api/it/workspaces.yaml post /workspaces/{workspaceId}/organizations/{organizationId}/children
Crea una nuova organizzazione come figlia diretta dell'organizzazione madre specificata. La gerarchia non può superare i 10 livelli di profondità e un'organizzazione madre non può avere più di 100 figli diretti.
# Elenca le organizzazioni
Source: https://altostrat.io/docs/api/it/organizations/elenca-le-organizzazioni
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations
Restituisce un elenco di tutte le organizzazioni all'interno del workspace specificato.
# Elenca le organizzazioni figlie
Source: https://altostrat.io/docs/api/it/organizations/elenca-le-organizzazioni-figlie
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/children
Restituisce un elenco delle organizzazioni figlie immediate di un'organizzazione madre specificata.
# Elenca tutte le organizzazioni discendenti
Source: https://altostrat.io/docs/api/it/organizations/elenca-tutte-le-organizzazioni-discendenti
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/descendants
Restituisce un elenco piatto di tutte le organizzazioni che sono discendenti (figli, nipoti, ecc.) dell'organizzazione madre specificata.
# Elimina un'organizzazione
Source: https://altostrat.io/docs/api/it/organizations/elimina-unorganizzazione
api/it/workspaces.yaml delete /workspaces/{workspaceId}/organizations/{organizationId}
Elimina permanentemente un'organizzazione. Un'organizzazione non può essere eliminata se essa o uno qualsiasi dei suoi discendenti ha un utilizzo attivo di risorse.
# Esporta l'utilizzo dell'organizzazione come CSV
Source: https://altostrat.io/docs/api/it/organizations/esporta-lutilizzo-dellorganizzazione-come-csv
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.csv
Genera e scarica un file CSV che dettaglia l'utilizzo delle risorse e i limiti per tutte le organizzazioni all'interno del workspace specificato.
# Esporta l'utilizzo dell'organizzazione come PDF
Source: https://altostrat.io/docs/api/it/organizations/esporta-lutilizzo-dellorganizzazione-come-pdf
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.pdf
Genera e scarica un file PDF che dettaglia l'utilizzo delle risorse e i limiti per tutte le organizzazioni all'interno del workspace specificato.
# Recupera i limiti dell'organizzazione
Source: https://altostrat.io/docs/api/it/organizations/recupera-i-limiti-dellorganizzazione
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/limits
Recupera un'analisi dettagliata di utilizzo, limiti e capacità disponibile per ogni tipo di prodotto misurabile per un'organizzazione specifica. Ciò tiene conto dei limiti propri dell'organizzazione, dei limiti ereditati dai suoi genitori e della capacità totale disponibile dal suo abbonamento.
# Recupera l'organizzazione madre
Source: https://altostrat.io/docs/api/it/organizations/recupera-lorganizzazione-madre
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/parent
Recupera l'organizzazione madre di un'organizzazione figlia specificata. Se l'organizzazione è al primo livello, questo endpoint restituirà una risposta 204 No Content.
# Recupera un'organizzazione
Source: https://altostrat.io/docs/api/it/organizations/recupera-unorganizzazione
api/it/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}
Recupera i dettagli di un'organizzazione specifica all'interno di un workspace.
# Crea un Setup Intent
Source: https://altostrat.io/docs/api/it/payment-methods/crea-un-setup-intent
api/it/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Crea uno Stripe Setup Intent per raccogliere i dettagli del metodo di pagamento per pagamenti futuri. Questo restituisce un `client_secret` che puoi utilizzare con Stripe.js o gli SDK mobili per visualizzare un modulo di pagamento. Un conto di fatturazione non può avere più di 5 metodi di pagamento.
# Elenca i metodi di pagamento
Source: https://altostrat.io/docs/api/it/payment-methods/elenca-i-metodi-di-pagamento
api/it/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Restituisce un elenco di metodi di pagamento collegati a un conto di fatturazione.
# Imposta il metodo di pagamento predefinito
Source: https://altostrat.io/docs/api/it/payment-methods/imposta-il-metodo-di-pagamento-predefinito
api/it/workspaces.yaml put /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Imposta un metodo di pagamento specificato come predefinito per un conto di fatturazione. Questo metodo di pagamento sarà utilizzato per tutte le fatture future degli abbonamenti.
# Scollega un metodo di pagamento
Source: https://altostrat.io/docs/api/it/payment-methods/scollega-un-metodo-di-pagamento
api/it/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Scollega un metodo di pagamento da un conto di fatturazione. Non è possibile scollegare l'unico metodo di pagamento di un conto, né il metodo di pagamento predefinito se ci sono abbonamenti attivi.
# Aggiorna un peer
Source: https://altostrat.io/docs/api/it/peer/aggiorna-un-peer
api/it/managed-vpn.yaml put /instances/{instanceId}/peers/{peerId}
Modifica la configurazione di un peer esistente, come le sue subnet o il comportamento di routing.
# Crea un peer
Source: https://altostrat.io/docs/api/it/peer/crea-un-peer
api/it/managed-vpn.yaml post /instances/{instanceId}/peers
Crea un nuovo peer (un client o un sito) e lo associa a un'istanza VPN.
# Elenca tutti i peer di un'istanza
Source: https://altostrat.io/docs/api/it/peer/elenca-tutti-i-peer-di-unistanza
api/it/managed-vpn.yaml get /instances/{instanceId}/peers
Recupera un elenco di tutti i peer (client e siti) associati a una specifica istanza VPN.
# Elimina un peer
Source: https://altostrat.io/docs/api/it/peer/elimina-un-peer
api/it/managed-vpn.yaml delete /instances/{instanceId}/peers/{peerId}
Rimuove permanentemente un peer da un'istanza VPN, revocandone l'accesso.
# Recupera un peer
Source: https://altostrat.io/docs/api/it/peer/recupera-un-peer
api/it/managed-vpn.yaml get /instances/{instanceId}/peers/{peerId}
Recupera i dettagli di un peer specifico tramite il suo identificatore univoco.
# Aggiorna una Pianificazione di Report
Source: https://altostrat.io/docs/api/it/pianificazioni-dei-report-sla/aggiorna-una-pianificazione-di-report
api/it/reports.yaml put /sla/schedules/{scheduleId}
Aggiorna la configurazione di una pianificazione di report SLA esistente.
# Crea Pianificazione di Report SLA
Source: https://altostrat.io/docs/api/it/pianificazioni-dei-report-sla/crea-pianificazione-di-report-sla
api/it/reports.yaml post /sla/schedules
Crea una nuova pianificazione per un report SLA. Questa pianificazione definisce un report ricorrente, includendo la sua frequenza, i criteri di selezione dei siti e gli obiettivi SLA. L'`id` della pianificazione sarà generato dal server.
# Elenca le Pianificazioni dei Report SLA
Source: https://altostrat.io/docs/api/it/pianificazioni-dei-report-sla/elenca-le-pianificazioni-dei-report-sla
api/it/reports.yaml get /sla/schedules
Recupera un elenco di tutte le pianificazioni dei report SLA configurate per l'area di lavoro del cliente autenticato.
# Elimina una Pianificazione di Report
Source: https://altostrat.io/docs/api/it/pianificazioni-dei-report-sla/elimina-una-pianificazione-di-report
api/it/reports.yaml delete /sla/schedules/{scheduleId}
Elimina permanentemente una pianificazione di report SLA. Questa azione non può essere annullata.
# Esegui un Report su Richiesta
Source: https://altostrat.io/docs/api/it/pianificazioni-dei-report-sla/esegui-un-report-su-richiesta
api/it/reports.yaml post /sla/schedules/{scheduleId}/run
Attiva la generazione immediata e su richiesta di un report per un intervallo di date specificato. Ciò non influisce sulla pianificazione regolare. La generazione del report è asincrona e il risultato apparirà nell'elenco dei Report Generati una volta completato.
# Recupera una Pianificazione di Report
Source: https://altostrat.io/docs/api/it/pianificazioni-dei-report-sla/recupera-una-pianificazione-di-report
api/it/reports.yaml get /sla/schedules/{scheduleId}
Recupera i dettagli di una singola pianificazione di report SLA tramite il suo ID univoco.
# Aggiorna una policy
Source: https://altostrat.io/docs/api/it/policies/aggiorna-una-policy
api/it/control-plane.yaml put /policies/{policyId}
Aggiorna la policy specificata impostando i valori dei parametri passati. Eventuali parametri non forniti rimarranno invariati.
# Applica policy ai siti
Source: https://altostrat.io/docs/api/it/policies/applica-policy-ai-siti
api/it/control-plane.yaml post /policies/{policyId}/sites
Assegna o riassegna un elenco di siti a questa policy. Questo è il modo principale per applicare un nuovo set di regole firewall a uno o più dispositivi.
# Crea una policy
Source: https://altostrat.io/docs/api/it/policies/crea-una-policy
api/it/control-plane.yaml post /policies
Crea una nuova policy di sicurezza. È possibile definire regole per servizi come Winbox, SSH e HTTP/S, specificando quali reti sono autorizzate ad accedervi.
# Elenca tutte le policy
Source: https://altostrat.io/docs/api/it/policies/elenca-tutte-le-policy
api/it/control-plane.yaml get /policies
Recupera un elenco di tutte le policy di sicurezza appartenenti al tuo workspace. Le policy definiscono le regole del firewall e le configurazioni di accesso ai servizi applicate ai tuoi siti.
# Elimina una policy
Source: https://altostrat.io/docs/api/it/policies/elimina-una-policy
api/it/control-plane.yaml delete /policies/{policyId}
Elimina una policy. Non è possibile eliminare la policy predefinita. Eventuali siti che utilizzano la policy eliminata verranno riassegnati alla policy predefinita.
# Recupera una policy
Source: https://altostrat.io/docs/api/it/policies/recupera-una-policy
api/it/control-plane.yaml get /policies/{policyId}
Recupera i dettagli di una policy specifica, incluse le sue regole e un elenco di siti a cui è applicata.
# Aggiorna una lista di prefissi
Source: https://altostrat.io/docs/api/it/prefix-lists/aggiorna-una-lista-di-prefissi
api/it/security-groups.yaml put /prefix-lists/{prefixListId}
Aggiorna una lista di prefissi esistente sostituendone completamente gli attributi, inclusi nome, descrizione, prefissi e associazioni ai siti. Questa è un'operazione di sostituzione completa (PUT); eventuali campi omessi comporteranno la rimozione di tali elementi.
# Crea una lista di prefissi
Source: https://altostrat.io/docs/api/it/prefix-lists/crea-una-lista-di-prefissi
api/it/security-groups.yaml post /prefix-lists
Crea una nuova lista di prefissi con un insieme definito di blocchi CIDR e associazioni iniziali ai siti. Le associazioni ai siti e l'applicazione delle liste di indirizzi sono gestite in modo asincrono.
# Elenca liste di prefissi
Source: https://altostrat.io/docs/api/it/prefix-lists/elenca-liste-di-prefissi
api/it/security-groups.yaml get /prefix-lists
Recupera un elenco di tutte le liste di prefissi all'interno della tua organizzazione. Questo endpoint fornisce una vista riassuntiva e non include l'elenco dettagliato dei prefissi o dei siti per motivi di performance. Per ottenere i dettagli completi, recupera una lista di prefissi specifica tramite il suo ID.
# Elimina una lista di prefissi
Source: https://altostrat.io/docs/api/it/prefix-lists/elimina-una-lista-di-prefissi
api/it/security-groups.yaml delete /prefix-lists/{prefixListId}
Elimina permanentemente una lista di prefissi. Questa azione fallirà se la lista di prefissi è attualmente referenziata da una qualsiasi regola di un gruppo di sicurezza. Un processo asincrono rimuoverà la lista di indirizzi corrispondente da tutti i siti associati.
# Recupera una lista di prefissi
Source: https://altostrat.io/docs/api/it/prefix-lists/recupera-una-lista-di-prefissi
api/it/security-groups.yaml get /prefix-lists/{prefixListId}
Recupera i dettagli completi di una specifica lista di prefissi, inclusi nome, descrizione, stato, siti associati e un elenco completo dei suoi prefissi.
# Elenca Prodotti
Source: https://altostrat.io/docs/api/it/products/elenca-prodotti
api/it/mikrotik-oem-data.yaml get /oem/products
Restituisce un elenco paginato di prodotti MikroTik. L'elenco può essere filtrato per nome del prodotto o numero di modello, consentendo potenti funzionalità di ricerca e catalogazione.
# Recupera un Prodotto
Source: https://altostrat.io/docs/api/it/products/recupera-un-prodotto
api/it/mikrotik-oem-data.yaml get /oem/product/{slug}
Recupera i dettagli completi di un singolo prodotto MikroTik, identificato dal suo slug univoco. Questo endpoint fornisce un set esaustivo di specifiche, inclusi i dettagli hardware principali, i risultati dei test di performance, gli accessori inclusi e le risorse scaricabili.
# Aggiorna una programmazione
Source: https://altostrat.io/docs/api/it/programmazioni/aggiorna-una-programmazione
api/it/schedules.yaml put /chrono/schedules/{scheduleId}
Aggiorna la programmazione specificata impostando le proprietà del corpo della richiesta. Le proprietà non fornite rimarranno invariate. Quando si aggiorna `hours`, l'intero array viene sostituito. Quando si aggiorna `metadata`, fornire una chiave con un valore `null` eliminerà quella voce di metadati.
# Crea una nuova programmazione
Source: https://altostrat.io/docs/api/it/programmazioni/crea-una-nuova-programmazione
api/it/schedules.yaml post /chrono/schedules
Crea una nuova programmazione con un insieme definito di fasce orarie ricorrenti. Alla creazione, lo stato `active` della programmazione viene calcolato automaticamente in base all'ora corrente e alle fasce orarie fornite.
# Elenca tutte le programmazioni
Source: https://altostrat.io/docs/api/it/programmazioni/elenca-tutte-le-programmazioni
api/it/schedules.yaml get /chrono/schedules
Recupera un elenco di tutti gli oggetti programmazione appartenenti al tuo workspace. Le programmazioni vengono restituite ordinate per data di creazione, con le più recenti che appaiono per prime.
# Elimina una programmazione
Source: https://altostrat.io/docs/api/it/programmazioni/elimina-una-programmazione
api/it/schedules.yaml delete /chrono/schedules/{scheduleId}
Elimina permanentemente una programmazione, incluse tutte le sue fasce orarie e i metadati associati. Questa azione non può essere annullata.
# Recupera una programmazione
Source: https://altostrat.io/docs/api/it/programmazioni/recupera-una-programmazione
api/it/schedules.yaml get /chrono/schedules/{scheduleId}
Recupera i dettagli di una programmazione esistente tramite il suo identificatore univoco.
# Ottieni informazioni pubbliche di branding
Source: https://altostrat.io/docs/api/it/public/ottieni-informazioni-pubbliche-di-branding
api/it/workspaces.yaml get /organizations/{id}/branding
Recupera le informazioni pubbliche di branding per un'organizzazione, come il nome visualizzato, il logo e i colori del tema. Puoi utilizzare sia l'ID primario dell'organizzazione (`org_...`) sia il suo UUID esterno come identificatore. Questo è un endpoint pubblico e non autenticato.
# Risolvi il login hint
Source: https://altostrat.io/docs/api/it/public/risolvi-il-login-hint
api/it/workspaces.yaml get /organizations/resolve/{login_hint}
Dato un login hint univoco (ad es. un nome breve di un'azienda come 'acme'), questo endpoint restituisce l'ID dell'organizzazione corrispondente. È utile per pre-compilare i dettagli dell'organizzazione in un flusso di login. Questo è un endpoint pubblico e non autenticato.
# Elenca protocolli supportati
Source: https://altostrat.io/docs/api/it/reference-data/elenca-protocolli-supportati
api/it/security-groups.yaml get /reference/protocols
Recupera un elenco di tutti i protocolli di rete supportati e i loro corrispondenti valori interi, necessari per la creazione di regole firewall.
# Elenca servizi comuni
Source: https://altostrat.io/docs/api/it/reference-data/elenca-servizi-comuni
api/it/security-groups.yaml get /reference/services
Recupera un elenco di servizi di rete comuni e i loro numeri di porta standard per facilitare la creazione di regole firewall.
# Elenca i Report Generati
Source: https://altostrat.io/docs/api/it/report-generati/elenca-i-report-generati
api/it/reports.yaml get /sla/reports
Recupera un elenco paginato di tutti i report generati storicamente per l'area di lavoro, ordinati per data di creazione in ordine decrescente.
# Elimina un Report Generato
Source: https://altostrat.io/docs/api/it/report-generati/elimina-un-report-generato
api/it/reports.yaml delete /sla/reports/{reportId}
Elimina permanentemente un report generato in precedenza e i relativi dati PDF e JSON dall'archivio.
# Elenca Rivenditori
Source: https://altostrat.io/docs/api/it/resellers/elenca-rivenditori
api/it/mikrotik-oem-data.yaml get /oem/mikrotik-resellers
Restituisce un elenco paginato di rivenditori ufficiali MikroTik. Ciò consente di trovare rivenditori in base alla loro posizione geografica o al nome, fornendo informazioni preziose per scopi di approvvigionamento e partnership.
# Ricerca Risorse del Tenant
Source: https://altostrat.io/docs/api/it/ricerca/ricerca-risorse-del-tenant
api/it/search.yaml get /search
Esegue una ricerca full-text su tutte le risorse indicizzate all'interno del tenant dell'utente autenticato.
I risultati sono automaticamente limitati all'organizzazione dell'utente. È possibile affinare ulteriormente la ricerca fornendo un `workspace_id` specifico o filtrando per `types` di risorsa. La query supporta la corrispondenza approssimativa (fuzzy matching) e la tolleranza agli errori di battitura per una migliore esperienza utente.
# Recupera un Runbook
Source: https://altostrat.io/docs/api/it/runbooks/recupera-un-runbook
api/it/mikrotik-api.yaml get /runbooks/{runbookId}
Recupera i dettagli di un runbook specifico, inclusi il suo nome e il comando di bootstrap utilizzato per l'onboarding di nuovi dispositivi con questa configurazione.
# Avvia Scansione On-Demand Multi-IP
Source: https://altostrat.io/docs/api/it/scan-execution/avvia-scansione-on-demand-multi-ip
api/it/cve-scans.yaml post /scans/cve/scan/multiple-ips
Avvia una scansione immediata e on-demand per un elenco specifico di indirizzi IP. Utilizza la configurazione di una pianificazione di scansione esistente, ma si rivolge solo agli IP specificati all'interno di un particolare sito.
# Avvia Scansione On-Demand per IP Singolo
Source: https://altostrat.io/docs/api/it/scan-execution/avvia-scansione-on-demand-per-ip-singolo
api/it/cve-scans.yaml post /scans/cve/scheduled/single-ip
Avvia una scansione immediata e on-demand per un singolo indirizzo IP. Utilizza la configurazione di una pianificazione di scansione esistente, ma si rivolge solo all'IP specificato all'interno di un particolare sito.
# Avvia una Scansione
Source: https://altostrat.io/docs/api/it/scan-execution/avvia-una-scansione
api/it/cve-scans.yaml post /scans/cve/scheduled/{scanScheduleId}/invoke
Avvia manualmente una scansione per una data pianificazione, sovrascrivendo il suo normale orario. La scansione verrà messa in coda per l'esecuzione immediata.
# Interrompi una Scansione
Source: https://altostrat.io/docs/api/it/scan-execution/interrompi-una-scansione
api/it/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}/invoke
Interrompe forzatamente una scansione attualmente in corso per una data pianificazione.
# Elenca Report di Scansione
Source: https://altostrat.io/docs/api/it/scan-results/elenca-report-di-scansione
api/it/cve-scans.yaml get /scans/cve
Recupera un elenco dei report di scansione completati per il tuo account, ordinati dal più recente. Ogni elemento nell'elenco è un riepilogo di un'esecuzione di scansione.
# Ottieni Stato Ultima Scansione
Source: https://altostrat.io/docs/api/it/scan-results/ottieni-stato-ultima-scansione
api/it/cve-scans.yaml get /scans/cve/{scanScheduleId}/status
Recupera lo stato della scansione più recente associata a una specifica pianificazione, che sia in esecuzione, completata o fallita.
# Recupera un Report di Scansione
Source: https://altostrat.io/docs/api/it/scan-results/recupera-un-report-di-scansione
api/it/cve-scans.yaml get /scans/cve/{scan_id}
Recupera il report dettagliato per una specifica esecuzione di scansione completata. Il report include metadati della scansione e link per scaricare il report completo in formato JSON o PDF.
# Aggiorna una Pianificazione di Scansione
Source: https://altostrat.io/docs/api/it/scan-schedules/aggiorna-una-pianificazione-di-scansione
api/it/cve-scans.yaml put /scans/cve/scheduled/{scanScheduleId}
Aggiorna la configurazione di una pianificazione di scansione esistente. Tutti i campi vengono sostituiti con i nuovi valori forniti nel corpo della richiesta.
# Crea Pianificazione Scansione
Source: https://altostrat.io/docs/api/it/scan-schedules/crea-pianificazione-scansione
api/it/cve-scans.yaml post /scans/cve/scheduled
Crea una nuova pianificazione di scansione CVE ricorrente. È necessario definire orari, frequenza, siti e sottoreti di destinazione e impostazioni di notifica. Una creazione riuscita restituisce l'oggetto completo della pianificazione.
# Elenca Pianificazioni Scansioni
Source: https://altostrat.io/docs/api/it/scan-schedules/elenca-pianificazioni-scansioni
api/it/cve-scans.yaml get /scans/cve/scheduled
Recupera un elenco di tutte le pianificazioni di scansione CVE configurate per il tuo account. Utile per visualizzare tutte le scansioni configurate in una dashboard o per la gestione programmatica.
# Elimina una Pianificazione di Scansione
Source: https://altostrat.io/docs/api/it/scan-schedules/elimina-una-pianificazione-di-scansione
api/it/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}
Elimina permanentemente una pianificazione di scansione. Questa azione non può essere annullata e interromperà qualsiasi scansione futura per questa pianificazione.
# Recupera una Pianificazione di Scansione
Source: https://altostrat.io/docs/api/it/scan-schedules/recupera-una-pianificazione-di-scansione
api/it/cve-scans.yaml get /scans/cve/scheduled/{scanScheduleId}
Recupera i dettagli di una specifica pianificazione di scansione tramite il suo identificatore univoco.
# Elenca Script della Community
Source: https://altostrat.io/docs/api/it/script-della-community/elenca-script-della-community
api/it/scripts.yaml get /community-scripts
Recupera un elenco paginato di script dal repository pubblico della community. Questa è una risorsa preziosa per trovare soluzioni pre-costruite per compiti comuni di MikroTik.
# Invia uno Script alla Community
Source: https://altostrat.io/docs/api/it/script-della-community/invia-uno-script-alla-community
api/it/scripts.yaml post /community-scripts
Invia un nuovo script al repository della community fornendo un URL a un file `.rsc` raw su GitHub. Il sistema recupererà quindi il contenuto dello script e i metadati del repository associato.
# Ottieni Contenuto Raw del README
Source: https://altostrat.io/docs/api/it/script-della-community/ottieni-contenuto-raw-del-readme
api/it/scripts.yaml get /community-scripts/{communityScriptId}.md
Scarica il contenuto raw in formato testo markdown del file README di uno script della community, se esistente.
# Ottieni Contenuto Raw dello Script
Source: https://altostrat.io/docs/api/it/script-della-community/ottieni-contenuto-raw-dello-script
api/it/scripts.yaml get /community-scripts/{communityScriptId}.rsc
Scarica il contenuto raw in formato testo di uno script della community, adatto per l'uso diretto o l'ispezione.
# Recupera uno Script della Community
Source: https://altostrat.io/docs/api/it/script-della-community/recupera-uno-script-della-community
api/it/scripts.yaml get /community-scripts/{communityScriptId}
Recupera informazioni dettagliate su uno specifico script della community, inclusi il suo contenuto, la descrizione e i metadati sull'autore e sul repository di origine.
# Aggiorna uno Script Pianificato
Source: https://altostrat.io/docs/api/it/script-pianificati/aggiorna-uno-script-pianificato
api/it/scripts.yaml put /scheduled/{scheduledScriptId}
Modifica uno script pianificato esistente. Ciò è possibile solo se lo script non è ancora stato avviato. L'aggiornamento di uno script reimposterà il suo stato di autorizzazione a 'non autorizzato', richiedendo una nuova approvazione prima di poter essere eseguito.
# Annulla o Elimina uno Script Pianificato
Source: https://altostrat.io/docs/api/it/script-pianificati/annulla-o-elimina-uno-script-pianificato
api/it/scripts.yaml delete /scheduled/{scheduledScriptId}
Questo endpoint ha una duplice funzionalità. Se lo script è 'non autorizzato' e non è stato avviato, verrà eliminato permanentemente. Se lo script è 'pianificato' o 'avviato', verrà contrassegnato come 'annullato' per impedirne l'ulteriore esecuzione, ma la registrazione verrà conservata.
# Elenca Script Pianificati
Source: https://altostrat.io/docs/api/it/script-pianificati/elenca-script-pianificati
api/it/scripts.yaml get /scheduled
Recupera un elenco di tutti gli script pianificati per l'esecuzione accessibili dall'utente autenticato. Fornisce una panoramica delle attività di automazione in sospeso, in corso e completate.
# Esegui Immediatamente uno Script Pianificato
Source: https://altostrat.io/docs/api/it/script-pianificati/esegui-immediatamente-uno-script-pianificato
api/it/scripts.yaml put /scheduled/{scheduledScriptId}/run
Attiva un'esecuzione immediata di uno script già autorizzato, sovrascrivendo l'orario 'launch_at' pianificato. Utile per distribuzioni urgenti. Lo script deve essere in stato 'autorizzato' per poter essere eseguito immediatamente.
# Esegui un Test di Esecuzione
Source: https://altostrat.io/docs/api/it/script-pianificati/esegui-un-test-di-esecuzione
api/it/scripts.yaml put /scheduled/{scheduledScriptId}/run-test
Invia immediatamente lo script per l'esecuzione sul 'test_site_id' designato. Ciò consente la validazione della logica e dell'impatto dello script in un ambiente controllato prima di un avvio su larga scala. Lo script non necessita di autorizzazione per eseguire un test.
# Ottieni Avanzamento Esecuzione
Source: https://altostrat.io/docs/api/it/script-pianificati/ottieni-avanzamento-esecuzione
api/it/scripts.yaml get /scheduled/{scheduledScriptId}/progress
Recupera l'avanzamento in tempo reale dell'esecuzione di uno script che è stato avviato. Fornisce elenchi di siti in cui lo script è stato completato, è fallito o è ancora in sospeso.
# Pianifica un Nuovo Script
Source: https://altostrat.io/docs/api/it/script-pianificati/pianifica-un-nuovo-script
api/it/scripts.yaml post /scheduled
Crea una nuova voce per uno script pianificato. Ciò comporta la definizione del contenuto dello script, la selezione dei dispositivi di destinazione (siti), la specificazione di un orario di avvio e la configurazione dei destinatari delle notifiche. Lo script rimarrà in stato 'non autorizzato' fino al completamento di un workflow di autorizzazione.
# Recupera uno Script Pianificato
Source: https://altostrat.io/docs/api/it/script-pianificati/recupera-uno-script-pianificato
api/it/scripts.yaml get /scheduled/{scheduledScriptId}
Recupera le informazioni dettagliate per un singolo script pianificato, inclusi il suo stato attuale, l'avanzamento e la configurazione.
# Richiedi Autorizzazione Script
Source: https://altostrat.io/docs/api/it/script-pianificati/richiedi-autorizzazione-script
api/it/scripts.yaml get /scheduled/{scheduledScriptId}/authorize
Avvia il workflow di autorizzazione per uno script 'non autorizzato'. Questa azione invia notifiche (es. WhatsApp, email) ai destinatari configurati, contenenti un link univoco per approvare l'esecuzione dello script.
# Aggiorna un gruppo di sicurezza
Source: https://altostrat.io/docs/api/it/security-groups/aggiorna-un-gruppo-di-sicurezza
api/it/security-groups.yaml put /security-groups/{securityGroupId}
Aggiorna un gruppo di sicurezza esistente sostituendone completamente gli attributi, inclusi nome, descrizione, regole e associazioni ai siti. Questa è un'operazione di sostituzione completa (PUT); eventuali campi omessi negli array `rules` o `sites` comporteranno la rimozione di tali elementi.
# Crea un gruppo di sicurezza
Source: https://altostrat.io/docs/api/it/security-groups/crea-un-gruppo-di-sicurezza
api/it/security-groups.yaml post /security-groups
Crea un nuovo gruppo di sicurezza con un insieme definito di regole firewall e associazioni iniziali ai siti. Il gruppo viene creato in modo atomico. Le associazioni ai siti e l'applicazione delle regole sono gestite in modo asincrono. La risposta indicherà uno stato `syncing` se ci sono siti da aggiornare.
# Elenca gruppi di sicurezza
Source: https://altostrat.io/docs/api/it/security-groups/elenca-gruppi-di-sicurezza
api/it/security-groups.yaml get /security-groups
Recupera un elenco di tutti i gruppi di sicurezza all'interno della tua organizzazione. Questo endpoint fornisce una vista riassuntiva di ciascun gruppo e non include l'elenco dettagliato delle regole o dei siti associati per motivi di performance. Per ottenere i dettagli completi, recupera un gruppo di sicurezza specifico tramite il suo ID.
# Elimina un gruppo di sicurezza
Source: https://altostrat.io/docs/api/it/security-groups/elimina-un-gruppo-di-sicurezza
api/it/security-groups.yaml delete /security-groups/{securityGroupId}
Elimina permanentemente un gruppo di sicurezza. Questa azione non può essere annullata. Un processo asincrono rimuoverà le regole firewall corrispondenti da tutti i siti associati.
# Recupera un gruppo di sicurezza
Source: https://altostrat.io/docs/api/it/security-groups/recupera-un-gruppo-di-sicurezza
api/it/security-groups.yaml get /security-groups/{securityGroupId}
Recupera i dettagli completi di un gruppo di sicurezza specifico, inclusi nome, descrizione, stato, siti associati e un elenco completo delle sue regole firewall.
# Crea una nota del sito
Source: https://altostrat.io/docs/api/it/site-files/crea-una-nota-del-sito
api/it/metadata.yaml post /sites/{siteId}/notes
Crea una nuova nota in formato markdown e la allega al sito specificato.
# Elenca note del sito
Source: https://altostrat.io/docs/api/it/site-files/elenca-note-del-sito
api/it/metadata.yaml get /sites/{siteId}/notes
Recupera un elenco di tutte le note in formato markdown associate a un sito specifico.
# Elimina un file di documento
Source: https://altostrat.io/docs/api/it/site-files/elimina-un-file-di-documento
api/it/metadata.yaml delete /sites/{siteId}/documents/{documentId}
Elimina permanentemente un file di documento da un sito.
# Elimina un file multimediale
Source: https://altostrat.io/docs/api/it/site-files/elimina-un-file-multimediale
api/it/metadata.yaml delete /sites/{siteId}/media/{mediaId}
Elimina permanentemente un file multimediale da un sito.
# Elimina una nota del sito
Source: https://altostrat.io/docs/api/it/site-files/elimina-una-nota-del-sito
api/it/metadata.yaml delete /sites/{siteId}/notes/{noteId}
Elimina permanentemente una nota da un sito.
# Ottieni contenuto nota del sito
Source: https://altostrat.io/docs/api/it/site-files/ottieni-contenuto-nota-del-sito
api/it/metadata.yaml get /sites/{siteId}/notes/{noteId}
Scarica il contenuto grezzo in formato Markdown di una specifica nota del sito.
# Ottieni URL di caricamento documento
Source: https://altostrat.io/docs/api/it/site-files/ottieni-url-di-caricamento-documento
api/it/metadata.yaml post /sites/{siteId}/documents
Richiede un URL pre-firmato che può essere utilizzato per caricare un file di documento (es. PDF, DOCX) direttamente su uno storage sicuro. È necessario eseguire una richiesta PUT all'`signed_url` restituito con il contenuto del file come corpo della richiesta.
# Ottieni URL di caricamento media
Source: https://altostrat.io/docs/api/it/site-files/ottieni-url-di-caricamento-media
api/it/metadata.yaml post /sites/{siteId}/media
Richiede un URL pre-firmato che può essere utilizzato per caricare un file multimediale (es. immagine, video) direttamente su uno storage sicuro. È necessario eseguire una richiesta PUT all'`signed_url` restituito con il contenuto del file come corpo della richiesta.
# Scarica un file di documento
Source: https://altostrat.io/docs/api/it/site-files/scarica-un-file-di-documento
api/it/metadata.yaml get /sites/{siteId}/documents/{documentId}
Scarica un file di documento specifico associato a un sito.
# Scarica un file multimediale
Source: https://altostrat.io/docs/api/it/site-files/scarica-un-file-multimediale
api/it/metadata.yaml get /sites/{siteId}/media/{mediaId}
Scarica un file multimediale specifico associato a un sito.
# Elenca Interfacce del Sito
Source: https://altostrat.io/docs/api/it/site-interfaces-&-metrics/elenca-interfacce-del-sito
api/it/monitoring-metrics.yaml get /v1/monitoring/interfaces/{siteId}
Recupera un elenco di tutte le interfacce di rete monitorate tramite SNMP per un sito specifico.
# Ottieni Metriche Interfaccia
Source: https://altostrat.io/docs/api/it/site-interfaces-&-metrics/ottieni-metriche-interfaccia
api/it/monitoring-metrics.yaml post /v1/monitoring/interfaces/{interfaceId}/metrics
Recupera metriche di traffico time-series (ifInOctets per in entrata, ifOutOctets per in uscita) per un'interfaccia di rete specifica in un dato periodo di tempo. I valori sono restituiti in bit al secondo.
# Esegui un'azione su un sito
Source: https://altostrat.io/docs/api/it/site-operations/esegui-unazione-su-un-sito
api/it/control-plane.yaml post /sites/{siteId}/action
Invia un comando a un sito per eseguire un'azione specifica e predefinita. Viene utilizzato per operazioni remote come il riavvio o la cancellazione delle regole del firewall.
Azioni disponibili: - `site.upgrade`: Avvia un aggiornamento software sul dispositivo. - `site.clear_firewall`: Cancella le regole del firewall del dispositivo. - `site.reboot`: Riavvia il dispositivo. - `site.recreate_management_filter`: Riapplica le regole del firewall di gestione di Altostrat. - `site.recreate_tunnel`: Demolisce e ricostruisce il tunnel sicuro verso la piattaforma. - `site.resend_api_user`: Invia nuovamente le credenziali utente API correnti al dispositivo.
# Ottieni credenziali API per un sito
Source: https://altostrat.io/docs/api/it/site-operations/ottieni-credenziali-api-per-un-sito
api/it/control-plane.yaml get /sites/{siteId}/credentials
Recupera le credenziali API correnti per un sito. Queste credenziali sono utilizzate dalla piattaforma Altostrat per gestire il dispositivo.
# Ottieni il server di gestione per un sito
Source: https://altostrat.io/docs/api/it/site-operations/ottieni-il-server-di-gestione-per-un-sito
api/it/control-plane.yaml get /sites/{siteId}/management-server
Recupera l'hostname del server di gestione Altostrat attualmente responsabile del tunnel sicuro del sito. Utile per scopi diagnostici.
# Ruota le credenziali API per un sito
Source: https://altostrat.io/docs/api/it/site-operations/ruota-le-credenziali-api-per-un-sito
api/it/control-plane.yaml post /sites/{siteId}/credentials
Genera nuove credenziali API per il sito specificato. Le vecchie credenziali verranno invalidate e sostituite sul dispositivo.
# Elenca gli utenti per una sede
Source: https://altostrat.io/docs/api/it/site-users/elenca-gli-utenti-per-una-sede
api/it/captive-portal.yaml get /sites/{siteId}/users
Recupera un elenco paginato di utenti che si sono connessi tramite il captive portal in una sede specifica.
# Aggiorna un Site
Source: https://altostrat.io/docs/api/it/sites/aggiorna-un-site
api/it/mikrotik-api.yaml patch /sites/{siteId}
Aggiorna le proprietà modificabili di un site, come il nome, la posizione o il fuso orario. Saranno aggiornati solo i campi forniti nel corpo della richiesta.
# Elenca Site
Source: https://altostrat.io/docs/api/it/sites/elenca-site
api/it/mikrotik-api.yaml get /sites
Recupera un elenco paginato di tutti i site MikroTik associati all'area di lavoro dell'utente autenticato.
# Elenca Site (Minimale)
Source: https://altostrat.io/docs/api/it/sites/elenca-site-minimale
api/it/mikrotik-api.yaml get /site-minimal
Recupera un elenco condensato di site MikroTik, adatto per elementi dell'interfaccia utente come i menu di navigazione in cui sono necessarie solo le informazioni essenziali.
# Elenca Site Recenti
Source: https://altostrat.io/docs/api/it/sites/elenca-site-recenti
api/it/mikrotik-api.yaml get /sites/recent
Restituisce un elenco dei 5 site a cui l'utente autenticato ha avuto accesso più di recente, ordinati per accesso più recente.
# Elenca Tutti i Siti
Source: https://altostrat.io/docs/api/it/sites/elenca-tutti-i-siti
api/it/generative-ai.yaml get /sites
Recupera un elenco semplificato di tutti i siti (router MikroTik) gestiti all'interno dell'organizzazione. Questo endpoint è ottimizzato per le prestazioni ed è ideale per popolare interfacce utente o per ottenere gli ID dei siti da utilizzare in altre chiamate API.
# Elimina un Site
Source: https://altostrat.io/docs/api/it/sites/elimina-un-site
api/it/mikrotik-api.yaml delete /sites/{siteId}
Pianifica un site per l'eliminazione. Al dispositivo verrà inviato un comando per rimuovere il suo scheduler di bootstrap e, dopo un periodo di tolleranza, il record del site e tutti i dati associati verranno rimossi in modo permanente.
# Ottieni Informazioni OEM del Sito
Source: https://altostrat.io/docs/api/it/sites/ottieni-informazioni-oem-del-sito
api/it/generative-ai.yaml get /sites/{siteId}/oem
Recupera informazioni dettagliate del produttore di apparecchiature originali (OEM) per un router MikroTik specifico. Ciò include specifiche hardware, numeri di serie, CPU, RAM e livello di licenza RouterOS.
# Ottieni Metadati del Sito
Source: https://altostrat.io/docs/api/it/sites/ottieni-metadati-del-sito
api/it/generative-ai.yaml get /sites/{siteId}/metadata
Recupera i metadati a formato libero associati a un sito specifico. Questi possono includere il nome assegnato al router, il fuso orario configurato, messaggi banner personalizzati, note o altri tag definiti dall'utente.
# Ottieni Metriche del Sito
Source: https://altostrat.io/docs/api/it/sites/ottieni-metriche-del-sito
api/it/generative-ai.yaml get /sites/{siteId}/metrics
Recupera le metriche di uptime e downtime per un sito specifico nelle ultime 24 ore, basate sui segnali di heartbeat ricevuti dalla piattaforma Altostrat.
# Recupera un Site
Source: https://altostrat.io/docs/api/it/sites/recupera-un-site
api/it/mikrotik-api.yaml get /sites/{siteId}
Recupera i dettagli completi di un site MikroTik specifico tramite il suo identificatore univoco (UUID).
# Aggiorna un abbonamento
Source: https://altostrat.io/docs/api/it/subscriptions/aggiorna-un-abbonamento
api/it/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Aggiorna un abbonamento. Questo endpoint supporta più operazioni distinte. Puoi cambiare le quantità dei prodotti, aggiungere o rimuovere prodotti, aggiornare i metadati o eseguire un'azione come `pause`, `resume` o `sync`. È consentito un solo tipo di operazione (ad es. `product_quantities`, `add_products`, `action`) per richiesta.
# Annulla un abbonamento
Source: https://altostrat.io/docs/api/it/subscriptions/annulla-un-abbonamento
api/it/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Annulla un abbonamento alla fine del periodo di fatturazione corrente. Questa operazione non può essere eseguita se lascerebbe il workspace o il conto di fatturazione con capacità insufficiente per l'utilizzo attuale delle risorse.
# Crea un abbonamento
Source: https://altostrat.io/docs/api/it/subscriptions/crea-un-abbonamento
api/it/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Crea un nuovo abbonamento Stripe per un conto di fatturazione. Se il workspace è idoneo per una prova, viene creato un abbonamento di prova di 14 giorni senza richiedere un metodo di pagamento. Altrimenti, deve essere presente un metodo di pagamento predefinito sul conto di fatturazione.
# Elenca gli abbonamenti
Source: https://altostrat.io/docs/api/it/subscriptions/elenca-gli-abbonamenti
api/it/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Restituisce un elenco di abbonamenti associati a un conto di fatturazione.
# Recupera un abbonamento
Source: https://altostrat.io/docs/api/it/subscriptions/recupera-un-abbonamento
api/it/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Recupera i dettagli di un abbonamento specifico.
# Verifica l'idoneità alla prova
Source: https://altostrat.io/docs/api/it/subscriptions/verifica-lidoneità-alla-prova
api/it/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/trial-eligibility
Verifica se un workspace è idoneo per una prova gratuita di 14 giorni. Un workspace è idoneo se ha un solo conto di fatturazione e nessun abbonamento esistente.
# Aggiorna un tag su una risorsa
Source: https://altostrat.io/docs/api/it/tag-values/aggiorna-un-tag-su-una-risorsa
api/it/metadata.yaml put /tags/{tagId}/values/{correlationId}
Aggiorna il valore di un tag su una risorsa specifica. Questo è effettivamente equivalente a creare un nuovo valore di tag, poiché sovrascriverà qualsiasi valore esistente per quel tag sulla risorsa.
# Applica un tag a una risorsa
Source: https://altostrat.io/docs/api/it/tag-values/applica-un-tag-a-una-risorsa
api/it/metadata.yaml post /tags/{tagId}/values
Applica un tag con un valore specifico a una risorsa, identificata dal suo `correlation_id` e `correlation_type`. Se un tag con lo stesso valore (case-insensitive) esiste già per questa definizione di tag, verrà utilizzato il valore canonico esistente.
# Elenca i tag per una risorsa
Source: https://altostrat.io/docs/api/it/tag-values/elenca-i-tag-per-una-risorsa
api/it/metadata.yaml get /resources/{correlationId}/tags
Recupera tutti i tag che sono stati applicati a una risorsa specifica.
# Elenca i valori unici per un tag
Source: https://altostrat.io/docs/api/it/tag-values/elenca-i-valori-unici-per-un-tag
api/it/metadata.yaml get /tags/{tagId}/values
Recupera un elenco di valori unici che sono stati applicati alle risorse utilizzando una specifica definizione di tag. Utile per popolare menu a tendina o campi di autocompletamento in un'interfaccia utente.
# Rimuovi un tag da una risorsa
Source: https://altostrat.io/docs/api/it/tag-values/rimuovi-un-tag-da-una-risorsa
api/it/metadata.yaml delete /tags/{tagId}/values/{correlationId}
Rimuove un tag specifico da una risorsa. Questo non elimina la definizione del tag stessa.
# Trova risorse per valore del tag
Source: https://altostrat.io/docs/api/it/tag-values/trova-risorse-per-valore-del-tag
api/it/metadata.yaml get /tags/{tagId}/resources
Recupera un elenco di tutte le risorse a cui è stato applicato un tag specifico con un valore specifico. Questa è una query potente per filtrare le risorse in base alle loro classificazioni.
# Aggiorna una definizione di tag
Source: https://altostrat.io/docs/api/it/tags/aggiorna-una-definizione-di-tag
api/it/metadata.yaml put /tags/{tagId}
Aggiorna le proprietà di una definizione di tag esistente, come la sua chiave o il colore.
# Crea una definizione di tag
Source: https://altostrat.io/docs/api/it/tags/crea-una-definizione-di-tag
api/it/metadata.yaml post /tags
Crea una nuova definizione di tag. Una definizione di tag funge da modello o categoria (es. "Tipo Sito", "Priorità") che può essere poi applicata a varie risorse.
# Elenca tutte le definizioni dei tag
Source: https://altostrat.io/docs/api/it/tags/elenca-tutte-le-definizioni-dei-tag
api/it/metadata.yaml get /tags
Recupera un elenco di tutte le definizioni dei tag per il tuo workspace. Ogni definizione di tag include la sua chiave, il colore e un elenco di tutti i valori attualmente applicati alle risorse. Utile per comprendere gli schemi di classificazione disponibili nel tuo ambiente.
# Elimina una definizione di tag
Source: https://altostrat.io/docs/api/it/tags/elimina-una-definizione-di-tag
api/it/metadata.yaml delete /tags/{tagId}
Elimina permanentemente una definizione di tag e tutti i suoi valori associati da tutte le risorse. Questa azione non può essere annullata.
# Recupera una definizione di tag
Source: https://altostrat.io/docs/api/it/tags/recupera-una-definizione-di-tag
api/it/metadata.yaml get /tags/{tagId}
Recupera i dettagli di una specifica definizione di tag tramite il suo ID univoco. Include tutti i valori che sono stati applicati alle risorse utilizzando questo tag.
# Aggiorna una policy BGP
Source: https://altostrat.io/docs/api/it/threat-intelligence-bgp/aggiorna-una-policy-bgp
api/it/utm-ips.yaml put /bgp/policy/{policyId}
Aggiorna le proprietà di una policy BGP esistente, inclusi nome, stato, liste IP selezionate e associazioni ai siti.
# Crea una policy di Threat Intelligence BGP
Source: https://altostrat.io/docs/api/it/threat-intelligence-bgp/crea-una-policy-di-threat-intelligence-bgp
api/it/utm-ips.yaml post /bgp/policy
Crea una nuova policy BGP, specificando quali liste di reputazione IP utilizzare per bloccare il traffico.
# Elenca le liste di reputazione IP BGP
Source: https://altostrat.io/docs/api/it/threat-intelligence-bgp/elenca-le-liste-di-reputazione-ip-bgp
api/it/utm-ips.yaml get /bgp/category
Recupera un elenco di tutte le liste di reputazione IP BGP disponibili che possono essere incluse in una policy BGP.
# Elenca le policy di Threat Intelligence BGP
Source: https://altostrat.io/docs/api/it/threat-intelligence-bgp/elenca-le-policy-di-threat-intelligence-bgp
api/it/utm-ips.yaml get /bgp/policy
Recupera un elenco di tutte le policy di Threat Intelligence BGP associate al tuo account.
# Elimina una policy BGP
Source: https://altostrat.io/docs/api/it/threat-intelligence-bgp/elimina-una-policy-bgp
api/it/utm-ips.yaml delete /bgp/policy/{policyId}
Elimina permanentemente una policy BGP. Questa operazione fallirà se la policy è attualmente associata a uno o più siti.
# Recupera una policy BGP
Source: https://altostrat.io/docs/api/it/threat-intelligence-bgp/recupera-una-policy-bgp
api/it/utm-ips.yaml get /bgp/policy/{policyId}
Recupera i dettagli di una specifica policy di Threat Intelligence BGP tramite il suo identificatore univoco.
# Crea una sessione di accesso transitorio
Source: https://altostrat.io/docs/api/it/transient-access/crea-una-sessione-di-accesso-transitorio
api/it/control-plane.yaml post /sites/{siteId}/transient-accesses
Crea una sessione temporanea e sicura per accedere a un sito tramite Winbox o SSH. La sessione viene revocata automaticamente dopo la durata specificata.
# Elenca accessi transitori per un sito
Source: https://altostrat.io/docs/api/it/transient-access/elenca-accessi-transitori-per-un-sito
api/it/control-plane.yaml get /sites/{siteId}/transient-accesses
Recupera un elenco di tutte le sessioni di accesso transitorio attive e scadute per un sito specifico.
# Recupera una sessione di accesso transitorio
Source: https://altostrat.io/docs/api/it/transient-access/recupera-una-sessione-di-accesso-transitorio
api/it/control-plane.yaml get /sites/{siteId}/transient-accesses/{accessId}
Recupera i dettagli di una singola sessione di accesso transitorio.
# Revoca una sessione di accesso transitorio
Source: https://altostrat.io/docs/api/it/transient-access/revoca-una-sessione-di-accesso-transitorio
api/it/control-plane.yaml delete /sites/{siteId}/transient-accesses/{accessId}
Revoca immediatamente una sessione di accesso transitorio attiva, terminando la connessione e impedendo ulteriori accessi.
# Crea un inoltro di porta transitorio
Source: https://altostrat.io/docs/api/it/transient-port-forwarding/crea-un-inoltro-di-porta-transitorio
api/it/control-plane.yaml post /sites/{siteId}/transient-forward
Crea una regola di inoltro di porta temporanea e sicura. Ciò consente di accedere a un dispositivo (ad esempio, un server o una telecamera) sulla LAN dietro il tuo sito MikroTik da un indirizzo IP pubblico specifico.
# Elenca inoltri di porta transitori per un sito
Source: https://altostrat.io/docs/api/it/transient-port-forwarding/elenca-inoltri-di-porta-transitori-per-un-sito
api/it/control-plane.yaml get /sites/{siteId}/transient-forward
Recupera un elenco di tutte le regole di inoltro di porta transitorio attive e scadute per un sito specifico.
# Recupera un inoltro di porta transitorio
Source: https://altostrat.io/docs/api/it/transient-port-forwarding/recupera-un-inoltro-di-porta-transitorio
api/it/control-plane.yaml get /sites/{siteId}/transient-forward/{forwardId}
Recupera i dettagli di una singola regola di inoltro di porta transitorio.
# Revoca un inoltro di porta transitorio
Source: https://altostrat.io/docs/api/it/transient-port-forwarding/revoca-un-inoltro-di-porta-transitorio
api/it/control-plane.yaml delete /sites/{siteId}/transient-forward/{forwardId}
Revoca immediatamente una regola di inoltro di porta attiva, chiudendo la connessione.
# Elenca i tipi di nodo disponibili
Source: https://altostrat.io/docs/api/it/utilità/elenca-i-tipi-di-nodo-disponibili
api/it/workflows.yaml get /workflows/node-types
Recupera un elenco di tutti i tipi di nodo disponibili (trigger, azioni e condizioni) che possono essere utilizzati per costruire workflow, insieme ai loro schemi di configurazione.
# Elenca le regioni server disponibili
Source: https://altostrat.io/docs/api/it/utilità/elenca-le-regioni-server-disponibili
api/it/managed-vpn.yaml get /servers/regions
Recupera un elenco strutturato di tutte le regioni geografiche disponibili in cui può essere distribuita un'istanza VPN.
# Elenca le subnet di un sito
Source: https://altostrat.io/docs/api/it/utilità/elenca-le-subnet-di-un-sito
api/it/managed-vpn.yaml get /site/{siteId}/subnets
Recupera un elenco delle subnet disponibili per un sito specifico, utile durante la configurazione di peer site-to-site.
# Testa un singolo nodo
Source: https://altostrat.io/docs/api/it/utilità/testa-un-singolo-nodo
api/it/workflows.yaml post /workflows/test-node
Esegue un singolo nodo di workflow in isolamento con un contesto fornito. Questo è un potente strumento di debug per testare la logica di un nodo senza eseguire un intero workflow.
# Aggiorna un elemento del vault
Source: https://altostrat.io/docs/api/it/vault/aggiorna-un-elemento-del-vault
api/it/workflows.yaml put /vault/{vaultId}
Aggiorna un elemento del vault esistente, come il suo nome, valore segreto o data di scadenza.
# Crea un elemento nel vault
Source: https://altostrat.io/docs/api/it/vault/crea-un-elemento-nel-vault
api/it/workflows.yaml post /vault
Crea un nuovo elemento nel vault per archiviare informazioni sensibili come chiavi API o password. Il valore segreto è crittografato a riposo e può essere utilizzato solo dai workflow.
# Elenca elementi del vault
Source: https://altostrat.io/docs/api/it/vault/elenca-elementi-del-vault
api/it/workflows.yaml get /vault
Recupera un elenco di tutti gli elementi segreti archiviati nel vault della tua organizzazione. I valori segreti stessi non vengono mai restituiti.
# Elimina un elemento del vault
Source: https://altostrat.io/docs/api/it/vault/elimina-un-elemento-del-vault
api/it/workflows.yaml delete /vault/{vaultId}
Elimina permanentemente un elemento del vault. Questa azione non può essere annullata. Qualsiasi workflow che utilizza questo elemento fallirà.
# Recupera un elemento del vault
Source: https://altostrat.io/docs/api/it/vault/recupera-un-elemento-del-vault
api/it/workflows.yaml get /vault/{vaultId}
Recupera i dettagli di un singolo elemento del vault tramite il suo ID prefissato. Il valore segreto non viene mai restituito.
# Elenca Tutti gli Indirizzi MAC Scansionati
Source: https://altostrat.io/docs/api/it/vulnerability-intelligence/elenca-tutti-gli-indirizzi-mac-scansionati
api/it/cve-scans.yaml get /scans/cve/mac-address/cve/list
Recupera un elenco di tutti gli indirizzi MAC univoci che sono stati scoperti in tutte le scansioni per il tuo account. Può essere utilizzato per popolare un inventario di dispositivi o per scoprire quali dispositivi interrogare per i CVE.
# Ottieni CVE per Indirizzo MAC
Source: https://altostrat.io/docs/api/it/vulnerability-intelligence/ottieni-cve-per-indirizzo-mac
api/it/cve-scans.yaml post /scans/cve/mac-address/cves
Recupera tutte le vulnerabilità (CVE) scoperte associate a un elenco specifico di indirizzi MAC in tutte le scansioni storiche. Questo è l'endpoint principale per tracciare la cronologia delle vulnerabilità di un dispositivo.
Nota: questo endpoint utilizza POST per consentire l'interrogazione di più indirizzi MAC nel corpo della richiesta, il che è più robusto e sicuro di un lungo URL GET.
# Ottieni Passaggi di Mitigazione
Source: https://altostrat.io/docs/api/it/vulnerability-intelligence/ottieni-passaggi-di-mitigazione
api/it/cve-scans.yaml get /scans/cve/mitigation/{cve_id}
Fornisce passaggi di mitigazione attuabili e generati da IA per un identificatore CVE specifico. La risposta è formattata in Markdown per una facile visualizzazione.
# Aggiorna Stato CVE
Source: https://altostrat.io/docs/api/it/vulnerability-management/aggiorna-stato-cve
api/it/cve-scans.yaml post /scans/cve/mac-address/cve/status
Aggiorna lo stato di un CVE specifico per un dato indirizzo MAC. Utilizzare questa funzione per contrassegnare una vulnerabilità come 'accepted' (ad es. un falso positivo o un rischio accettabile) o 'mitigated' (ad es. è stata applicata una patch o è in atto una soluzione alternativa). Ogni aggiornamento crea un nuovo record storico.
# Elenca Stati CVE
Source: https://altostrat.io/docs/api/it/vulnerability-management/elenca-stati-cve
api/it/cve-scans.yaml get /scans/cve/mac-address/cve/status
Recupera un elenco di tutti gli stati CVE gestiti. È possibile filtrare i risultati per indirizzo MAC, ID CVE o stato per trovare record specifici.
# Aggiorna una voce del walled garden
Source: https://altostrat.io/docs/api/it/walled-garden/aggiorna-una-voce-del-walled-garden
api/it/captive-portal.yaml put /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Aggiorna i dettagli di una voce del walled garden, come il suo nome. L'indirizzo IP non può essere modificato.
# Crea una voce nel walled garden
Source: https://altostrat.io/docs/api/it/walled-garden/crea-una-voce-nel-walled-garden
api/it/captive-portal.yaml post /sites/{siteId}/walled-garden-entries
Aggiunge un nuovo indirizzo IP o sottorete al walled garden per una sede specifica, consentendo agli utenti di accedervi prima dell'autenticazione.
# Elenca le voci del walled garden per una sede
Source: https://altostrat.io/docs/api/it/walled-garden/elenca-le-voci-del-walled-garden-per-una-sede
api/it/captive-portal.yaml get /sites/{siteId}/walled-garden-entries
Recupera un elenco di tutte le voci del walled garden (destinazioni consentite prima dell'autenticazione) for una sede specifica.
# Elimina una voce del walled garden
Source: https://altostrat.io/docs/api/it/walled-garden/elimina-una-voce-del-walled-garden
api/it/captive-portal.yaml delete /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Rimuove una voce dal walled garden, bloccando l'accesso pre-autenticazione all'indirizzo IP o alla sottorete specificati.
# Recupera una voce del walled garden
Source: https://altostrat.io/docs/api/it/walled-garden/recupera-una-voce-del-walled-garden
api/it/captive-portal.yaml get /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Recupera i dettagli di una specifica voce del walled garden.
# Elenca Tunnel WAN del Sito
Source: https://altostrat.io/docs/api/it/wan-tunnels-&-performance/elenca-tunnel-wan-del-sito
api/it/monitoring-metrics.yaml get /v1/monitoring/wan-tunnels/{siteId}
Recupera un elenco di tutti i tunnel SD-WAN configurati per un sito specifico.
# Ottieni Statistiche Ping Aggregate
Source: https://altostrat.io/docs/api/it/wan-tunnels-&-performance/ottieni-statistiche-ping-aggregate
api/it/monitoring-metrics.yaml post /v1/monitoring/wan/ping-stats
Recupera dati time-series aggregati per latenza, jitter (mdev) e perdita di pacchetti per uno o più tunnel WAN in un periodo di tempo specificato. Se non vengono specificati tunnel, restituisce una media aggregata di tutti i tunnel. Questo endpoint è ottimizzato per la creazione di grafici delle prestazioni con un numero specificato di punti dati.
# Aggiorna Priorità dei Tunnel
Source: https://altostrat.io/docs/api/it/wan-tunnels/aggiorna-priorità-dei-tunnel
api/it/wan-failover.yaml post /v1/failover/{site_id}/priorities
Riordina la priorità di failover per tutti i tunnel associati a un sito. Questa è un'operazione atomica; è necessario fornire un elenco completo di tutti i tunnel e delle loro nuove priorità desiderate. Il numero più basso rappresenta la priorità più alta.
# Aggiungi un nuovo Tunnel WAN
Source: https://altostrat.io/docs/api/it/wan-tunnels/aggiungi-un-nuovo-tunnel-wan
api/it/wan-failover.yaml post /v1/failover/{site_id}/tunnels
Crea un nuovo tunnel WAN non configurato per il sito, fino al numero massimo consentito dalla sottoscrizione. Dopo la creazione, è necessario utilizzare una richiesta `PUT` a `/v1/failover/{site_id}/tunnels/{tunnel_id}` per configurarne le proprietà come l'interfaccia e il gateway.
# Configura un Tunnel WAN
Source: https://altostrat.io/docs/api/it/wan-tunnels/configura-un-tunnel-wan
api/it/wan-failover.yaml put /v1/failover/{site_id}/tunnels/{tunnel_id}
Aggiorna la configurazione di un tunnel WAN specifico. Questo è l'endpoint principale per definire il funzionamento di una connessione WAN, inclusa la sua interfaccia router, il gateway e il tipo di connessione.
# Elenca Tunnel per un Sito
Source: https://altostrat.io/docs/api/it/wan-tunnels/elenca-tunnel-per-un-sito
api/it/wan-failover.yaml get /v1/failover/{site_id}/tunnels
Recupera un elenco dettagliato di tutti i tunnel WAN configurati per un sito specifico.
# Elimina un Tunnel WAN
Source: https://altostrat.io/docs/api/it/wan-tunnels/elimina-un-tunnel-wan
api/it/wan-failover.yaml delete /v1/failover/{site_id}/tunnels/{tunnel_id}
Elimina permanentemente un tunnel WAN dalla configurazione di failover. Il sistema riassegnerà automaticamente la priorità ai tunnel rimanenti.
# Ottieni un Tunnel Specifico
Source: https://altostrat.io/docs/api/it/wan-tunnels/ottieni-un-tunnel-specifico
api/it/wan-failover.yaml get /v1/failover/{site_id}/tunnels/{tunnel_id}
Recupera la configurazione dettagliata e lo stato di un singolo tunnel WAN.
# Attiva un workflow tramite webhook
Source: https://altostrat.io/docs/api/it/webhooks/attiva-un-workflow-tramite-webhook
api/it/workflows.yaml post /workflows/webhooks/{webhookToken}
Un endpoint pubblico per attivare un workflow che ha un `webhook_trigger`. L'autenticazione è gestita dal token unico e segreto nel percorso dell'URL. L'intero corpo della richiesta sarà disponibile nel contesto del workflow.
# Aggiorna un workflow
Source: https://altostrat.io/docs/api/it/workflows/aggiorna-un-workflow
api/it/workflows.yaml put /workflows/{workflowId}
Aggiorna un workflow esistente. È possibile aggiornare qualsiasi proprietà, inclusi nome, descrizione, stato di attivazione, pianificazione o l'intero grafo di nodi e archi.
# Crea un nuovo workflow
Source: https://altostrat.io/docs/api/it/workflows/crea-un-nuovo-workflow
api/it/workflows.yaml post /workflows
Crea una nuova definizione di workflow, inclusi i suoi nodi e archi che definiscono il grafo di automazione. Un workflow valido deve avere esattamente un nodo di tipo trigger.
# Elenca tutti i workflow
Source: https://altostrat.io/docs/api/it/workflows/elenca-tutti-i-workflow
api/it/workflows.yaml get /workflows
Recupera un elenco di tutti i workflow appartenenti alla tua organizzazione. Questo endpoint è utile per la visualizzazione su dashboard o per selezionare un workflow da eseguire o modificare.
# Elimina un workflow
Source: https://altostrat.io/docs/api/it/workflows/elimina-un-workflow
api/it/workflows.yaml delete /workflows/{workflowId}
Elimina permanentemente un workflow e tutte le sue esecuzioni e log associati. Questa azione non può essere annullata. Un workflow non può essere eliminato se è chiamato da un altro workflow.
# Esegui un workflow sincrono
Source: https://altostrat.io/docs/api/it/workflows/esegui-un-workflow-sincrono
api/it/workflows.yaml post /workflows/sync/{workflowId}
Esegue un workflow che contiene un `sync_request_trigger` e restituisce immediatamente il risultato. Il workflow deve essere progettato per l'esecuzione sincrona, il che significa che non può contenere attività a lunga esecuzione come ritardi o iteratori. Il nodo finale deve essere un nodo `text_transform` configurato come risposta.
# Recupera un workflow
Source: https://altostrat.io/docs/api/it/workflows/recupera-un-workflow
api/it/workflows.yaml get /workflows/{workflowId}
Recupera i dettagli completi di un singolo workflow tramite il suo ID prefissato, inclusa la sua configurazione completa di nodi e archi.
# Aggiorna il ruolo di un membro
Source: https://altostrat.io/docs/api/it/workspace-members/aggiorna-il-ruolo-di-un-membro
api/it/workspaces.yaml patch /workspaces/{workspaceId}/members/{memberId}
Aggiorna il ruolo di un membro esistente in un workspace. Le modifiche al ruolo sono soggette a regole gerarchiche; ad esempio, un amministratore non può promuovere un altro membro a proprietario.
# Aggiungi un membro a un workspace
Source: https://altostrat.io/docs/api/it/workspace-members/aggiungi-un-membro-a-un-workspace
api/it/workspaces.yaml post /workspaces/{workspaceId}/members
Aggiunge un nuovo utente a un workspace con un ruolo specifico. Solo i proprietari e gli amministratori del workspace possono aggiungere nuovi membri. Un workspace non può avere più di 100 membri.
# Elenca i membri del workspace
Source: https://altostrat.io/docs/api/it/workspace-members/elenca-i-membri-del-workspace
api/it/workspaces.yaml get /workspaces/{workspaceId}/members
Restituisce un elenco degli utenti che sono membri del workspace specificato, inclusi i loro ruoli.
# Rimuovi un membro da un workspace
Source: https://altostrat.io/docs/api/it/workspace-members/rimuovi-un-membro-da-un-workspace
api/it/workspaces.yaml delete /workspaces/{workspaceId}/members/{memberId}
Rimuove un membro da un workspace. Un utente può rimuovere se stesso, oppure un proprietario/amministratore può rimuovere altri membri. L'ultimo proprietario di un workspace non può essere rimosso.
# Aggiorna un workspace
Source: https://altostrat.io/docs/api/it/workspaces/aggiorna-un-workspace
api/it/workspaces.yaml patch /workspaces/{workspaceId}
Aggiorna il workspace specificato impostando i valori dei parametri passati. Qualsiasi parametro non fornito rimarrà invariato. Solo i proprietari e gli amministratori del workspace possono eseguire questa azione.
# Archivia un workspace
Source: https://altostrat.io/docs/api/it/workspaces/archivia-un-workspace
api/it/workspaces.yaml delete /workspaces/{workspaceId}
Archivia un workspace, impedendo qualsiasi modifica ulteriore. Un workspace non può essere archiviato se contiene organizzazioni con un utilizzo attivo di risorse o conti di fatturazione con abbonamenti attivi. Questa è un'operazione di eliminazione logica (soft-delete). Solo i proprietari del workspace possono eseguire questa azione.
# Crea un workspace
Source: https://altostrat.io/docs/api/it/workspaces/crea-un-workspace
api/it/workspaces.yaml post /workspaces
Crea un nuovo workspace, che funge da contenitore di primo livello per le tue risorse, utenti e configurazioni di fatturazione. All'utente che crea il workspace viene automaticamente assegnato il ruolo di 'owner'.
# Elenca i workspace
Source: https://altostrat.io/docs/api/it/workspaces/elenca-i-workspace
api/it/workspaces.yaml get /workspaces
Restituisce un elenco dei workspace di cui l'utente autenticato è membro.
# Recupera un workspace
Source: https://altostrat.io/docs/api/it/workspaces/recupera-un-workspace
api/it/workspaces.yaml get /workspaces/{workspaceId}
Recupera i dettagli di un workspace esistente. Devi essere un membro del workspace per recuperarlo.
# Introdução à API
Source: https://altostrat.io/docs/api/pt-BR/introduction
Bem-vindo à API Altostrat! Seu kit de ferramentas para construir integrações poderosas de automação de rede e segurança em sua frota MikroTik.
# Introdução à API
Esta página está pendente de tradução. Por favor, consulte a [versão em inglês](/api/en/introduction) para a documentação completa.
## Primeiros Passos
Para começar a usar a API Altostrat, você precisará de:
1. Uma conta Altostrat ativa
2. Um token de API (pode ser gerado no painel de controle)
3. Conhecimento básico de REST APIs
## Recursos
Por favor, visite a versão em inglês da documentação para informações detalhadas sobre:
* Autenticação
* Endpoints
* Exemplos de requisições
* Tratamento de erros
# Gerar Script a partir de um Prompt
Source: https://altostrat.io/docs/api/pt-br/ai-script-generation/gerar-script-a-partir-de-um-prompt
api/pt-BR/scripts.yaml post /gen-ai
Submete um prompt em linguagem natural ao motor de IA para gerar um script MikroTik RouterOS. A resposta inclui o conteúdo do script gerado, um sinalizador indicando se o script é potencialmente destrutivo e quaisquer erros ou avisos da IA.
# Obter falhas recentes (Legado)
Source: https://altostrat.io/docs/api/pt-br/analytics/obter-falhas-recentes-legado
api/pt-BR/faults.yaml get /recent
Obtém uma lista de falhas recentes. Este endpoint fornece uma visão específica da saúde da rede: ele retorna todas as falhas atualmente não resolvidas, mais quaisquer falhas que foram resolvidas nos últimos 10 minutos.
**Nota:** Este é um endpoint legado mantido para retrocompatibilidade. Para consultas mais flexíveis, recomendamos o uso do endpoint principal `GET /faults` com os filtros apropriados.
# Obter principais recursos com falhas
Source: https://altostrat.io/docs/api/pt-br/analytics/obter-principais-recursos-com-falhas
api/pt-BR/faults.yaml get /top_faults
Obtém uma lista dos 10 principais recursos que mais falharam nos últimos 14 dias, juntamente com uma amostra de seus eventos de falha mais recentes. Isso é útil para identificar áreas problemáticas em sua rede.
# Placeholder endpoint
Source: https://altostrat.io/docs/api/pt-br/api/placeholder-endpoint
api/pt-BR/mikrotik-oem-data.yaml get /placeholder
This is a placeholder. Please refer to the English documentation.
# Atualizar uma assinatura
Source: https://altostrat.io/docs/api/pt-br/assinaturas/atualizar-uma-assinatura
api/pt-BR/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Atualiza uma assinatura. Este endpoint suporta múltiplas operações distintas. Você pode alterar quantidades de produtos, adicionar ou remover produtos, atualizar metadados ou realizar uma ação como `pause`, `resume` ou `sync`. Apenas um tipo de operação (ex `product_quantities`, `add_products`, `action`) é permitido por requisição.
# Cancelar uma assinatura
Source: https://altostrat.io/docs/api/pt-br/assinaturas/cancelar-uma-assinatura
api/pt-BR/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Cancela uma assinatura no final do período de faturamento atual. Esta operação não pode ser realizada se deixar o workspace ou a conta de faturamento com capacidade insuficiente para o uso atual de recursos.
# Criar uma assinatura
Source: https://altostrat.io/docs/api/pt-br/assinaturas/criar-uma-assinatura
api/pt-BR/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Cria uma nova assinatura do Stripe para uma conta de faturamento. Se o workspace for elegível para um período de teste, uma assinatura de teste de 14 dias é criada sem exigir um método de pagamento. Caso contrário, um método de pagamento padrão deve estar presente na conta de faturamento.
# Listar assinaturas
Source: https://altostrat.io/docs/api/pt-br/assinaturas/listar-assinaturas
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions
Retorna uma lista de assinaturas associadas a uma conta de faturamento.
# Obter uma assinatura
Source: https://altostrat.io/docs/api/pt-br/assinaturas/obter-uma-assinatura
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/subscriptions/{subscriptionId}
Obtém os detalhes de uma assinatura específica.
# Verificar elegibilidade para teste
Source: https://altostrat.io/docs/api/pt-br/assinaturas/verificar-elegibilidade-para-teste
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/trial-eligibility
Verifica se um workspace é elegível para um teste gratuito de 14 dias. Um workspace é elegível se tiver apenas uma conta de faturamento e nenhuma assinatura existente.
# Atualizar uma integração de autenticação
Source: https://altostrat.io/docs/api/pt-br/auth-integrations/atualizar-uma-integração-de-autenticação
api/pt-BR/captive-portal.yaml put /auth-integrations/{authIntegrationId}
Atualiza a configuração de uma integração de autenticação existente.
# Criar uma integração de autenticação
Source: https://altostrat.io/docs/api/pt-br/auth-integrations/criar-uma-integração-de-autenticação
api/pt-BR/captive-portal.yaml post /auth-integrations
Cria uma nova integração de autenticação para uso com instâncias de portal cativo que têm uma estratégia 'oauth2'.
# Excluir uma integração de autenticação
Source: https://altostrat.io/docs/api/pt-br/auth-integrations/excluir-uma-integração-de-autenticação
api/pt-BR/captive-portal.yaml delete /auth-integrations/{authIntegrationId}
Exclui permanentemente uma integração de autenticação. Esta ação não pode ser desfeita e pode afetar instâncias de portal cativo que dependem dela.
# Listar todas as integrações de autenticação
Source: https://altostrat.io/docs/api/pt-br/auth-integrations/listar-todas-as-integrações-de-autenticação
api/pt-BR/captive-portal.yaml get /auth-integrations
Recupera uma lista de todas as integrações de autenticação OAuth2 (IDPs) configuradas para a conta do usuário.
# Obter uma integração de autenticação
Source: https://altostrat.io/docs/api/pt-br/auth-integrations/obter-uma-integração-de-autenticação
api/pt-BR/captive-portal.yaml get /auth-integrations/{authIntegrationId}
Recupera os detalhes de uma integração de autenticação específica pelo seu ID único.
# Comparar Dois Backups
Source: https://altostrat.io/docs/api/pt-br/backups/comparar-dois-backups
api/pt-BR/backups.yaml get /sites/{siteId}/backups/{fromFilename}/diff/{toFilename}
Gera um diff unificado entre dois arquivos de backup de um site, mostrando as mudanças de configuração precisas. Isso é inestimável para auditar alterações e entender a evolução da rede.
# Listar Backups de um Site
Source: https://altostrat.io/docs/api/pt-br/backups/listar-backups-de-um-site
api/pt-BR/backups.yaml get /sites/{siteId}/backups
Recupera uma lista de todos os arquivos de backup de configuração disponíveis para um site específico, ordenados do mais novo para o mais antigo. Isso permite visualizar todo o histórico de configurações capturadas para um dispositivo.
# Recuperar um Backup Específico
Source: https://altostrat.io/docs/api/pt-br/backups/recuperar-um-backup-específico
api/pt-BR/backups.yaml get /sites/{siteId}/backups/{filename}
Busca o conteúdo de um arquivo de backup específico. O formato da resposta pode ser controlado através de cabeçalhos HTTP para retornar metadados JSON, texto puro, HTML com destaque de sintaxe ou um arquivo para download.
# Solicitar um Novo Backup
Source: https://altostrat.io/docs/api/pt-br/backups/solicitar-um-novo-backup
api/pt-BR/backups.yaml post /sites/{siteId}/backups
Dispara de forma assíncrona um novo backup de configuração para o site especificado. O processo de backup é executado em segundo plano. Este endpoint retorna imediatamente com um status indicando que a solicitação foi aceita para processamento.
# Atualizar uma Política de BGP
Source: https://altostrat.io/docs/api/pt-br/bgp-threat-intelligence/atualizar-uma-política-de-bgp
api/pt-BR/utm-ips.yaml put /bgp/policy/{policyId}
Atualiza as propriedades de uma política de BGP existente, incluindo seu nome, status, listas de IP selecionadas e anexos de site.
# Criar uma Política de Inteligência de Ameaças BGP
Source: https://altostrat.io/docs/api/pt-br/bgp-threat-intelligence/criar-uma-política-de-inteligência-de-ameaças-bgp
api/pt-BR/utm-ips.yaml post /bgp/policy
Cria uma nova política de BGP, especificando quais listas de reputação de IP usar para bloquear o tráfego.
# Excluir uma Política de BGP
Source: https://altostrat.io/docs/api/pt-br/bgp-threat-intelligence/excluir-uma-política-de-bgp
api/pt-BR/utm-ips.yaml delete /bgp/policy/{policyId}
Exclui permanentemente uma política de BGP. Esta operação falhará se a política estiver atualmente anexada a um ou mais sites.
# Listar Listas de Reputação de IP BGP
Source: https://altostrat.io/docs/api/pt-br/bgp-threat-intelligence/listar-listas-de-reputação-de-ip-bgp
api/pt-BR/utm-ips.yaml get /bgp/category
Recupera uma lista de todas as listas de reputação de IP BGP disponíveis que podem ser incluídas em uma política de BGP.
# Listar Políticas de Inteligência de Ameaças BGP
Source: https://altostrat.io/docs/api/pt-br/bgp-threat-intelligence/listar-políticas-de-inteligência-de-ameaças-bgp
api/pt-BR/utm-ips.yaml get /bgp/policy
Recupera uma lista de todas as políticas de Inteligência de Ameaças BGP associadas à sua conta.
# Obter uma Política de BGP
Source: https://altostrat.io/docs/api/pt-br/bgp-threat-intelligence/obter-uma-política-de-bgp
api/pt-BR/utm-ips.yaml get /bgp/policy/{policyId}
Recupera os detalhes de uma política de Inteligência de Ameaças BGP específica pelo seu identificador único.
# Buscar Últimos Backups em Massa
Source: https://altostrat.io/docs/api/pt-br/bulk-operations/buscar-últimos-backups-em-massa
api/pt-BR/backups.yaml post /backups/latest
Recupera eficientemente o conteúdo do backup mais recente para uma lista de até 50 sites. Esta operação é otimizada para agentes de IA e sistemas de automação que precisam coletar configurações de múltiplos sites em uma única requisição. O endpoint valida o acesso para cada site individualmente e retorna um status por site.
# Buscar Recursos do Tenant
Source: https://altostrat.io/docs/api/pt-br/busca/buscar-recursos-do-tenant
api/pt-BR/search.yaml get /search
Realiza uma busca de texto completo em todos os recursos indexados dentro do tenant do usuário autenticado.
Os resultados são automaticamente limitados à organização do usuário. Você pode refinar ainda mais a busca fornecendo um `workspace_id` específico ou filtrando por `types` de recurso. A consulta suporta correspondência aproximada (fuzzy matching) e tolerância a erros de digitação para uma melhor experiência do usuário.
# Atualizar uma instância de portal cativo
Source: https://altostrat.io/docs/api/pt-br/captive-portal-instances/atualizar-uma-instância-de-portal-cativo
api/pt-BR/captive-portal.yaml put /instances/{instanceId}
Atualiza a configuração de uma instância específica de portal cativo, incluindo seu tema, sites, sub-redes e outras configurações.
# Criar uma instância de portal cativo
Source: https://altostrat.io/docs/api/pt-br/captive-portal-instances/criar-uma-instância-de-portal-cativo
api/pt-BR/captive-portal.yaml post /instances
Cria uma nova instância de portal cativo com uma configuração básica. Detalhes adicionais, como temas e sites, podem ser adicionados através de uma operação de atualização.
# Enviar uma imagem da instância
Source: https://altostrat.io/docs/api/pt-br/captive-portal-instances/enviar-uma-imagem-da-instância
api/pt-BR/captive-portal.yaml post /instances/{instanceId}/images/{type}
Envia um logo ou ícone para uma instância específica de portal cativo. A imagem será armazenada e servida através de uma URL assinada no tema da instância.
# Excluir uma instância de portal cativo
Source: https://altostrat.io/docs/api/pt-br/captive-portal-instances/excluir-uma-instância-de-portal-cativo
api/pt-BR/captive-portal.yaml delete /instances/{instanceId}
Exclui permanentemente uma instância de portal cativo e todas as sub-redes, sites, cupons e ativos associados. Esta ação não pode ser desfeita.
# Listar todas as instâncias de portal cativo
Source: https://altostrat.io/docs/api/pt-br/captive-portal-instances/listar-todas-as-instâncias-de-portal-cativo
api/pt-BR/captive-portal.yaml get /instances
Recupera uma lista de todas as instâncias de portal cativo acessíveis ao usuário autenticado.
# Obter uma instância de portal cativo
Source: https://altostrat.io/docs/api/pt-br/captive-portal-instances/obter-uma-instância-de-portal-cativo
api/pt-BR/captive-portal.yaml get /instances/{instanceId}
Recupera os detalhes completos de uma instância específica de portal cativo pelo seu ID único.
# Adicionar um comentário a uma falha
Source: https://altostrat.io/docs/api/pt-br/comentários/adicionar-um-comentário-a-uma-falha
api/pt-BR/faults.yaml post /faults/{faultId}/comment
Adiciona um novo comentário a uma falha existente. Comentários são úteis para rastrear etapas de solução de problemas, adicionar contexto ou se comunicar com membros da equipe sobre um incidente.
# Enviar um Script para a Comunidade
Source: https://altostrat.io/docs/api/pt-br/community-scripts/enviar-um-script-para-a-comunidade
api/pt-BR/scripts.yaml post /community-scripts
Envia um novo script para o repositório da comunidade, fornecendo uma URL para um arquivo `.rsc` bruto no GitHub. O sistema então buscará o conteúdo do script e os metadados do repositório associado.
# Listar Scripts da Comunidade
Source: https://altostrat.io/docs/api/pt-br/community-scripts/listar-scripts-da-comunidade
api/pt-BR/scripts.yaml get /community-scripts
Recupera uma lista paginada de scripts do repositório público da comunidade. Este é um recurso valioso para encontrar soluções pré-construídas para tarefas comuns do MikroTik.
# Obter Conteúdo Bruto do README
Source: https://altostrat.io/docs/api/pt-br/community-scripts/obter-conteúdo-bruto-do-readme
api/pt-BR/scripts.yaml get /community-scripts/{communityScriptId}.md
Baixa o conteúdo bruto em markdown de texto plano do arquivo README de um script da comunidade, se existir.
# Obter Conteúdo Bruto do Script
Source: https://altostrat.io/docs/api/pt-br/community-scripts/obter-conteúdo-bruto-do-script
api/pt-BR/scripts.yaml get /community-scripts/{communityScriptId}.rsc
Baixa o conteúdo bruto em texto plano de um script da comunidade, adequado para uso direto ou inspeção.
# Obter um Script da Comunidade
Source: https://altostrat.io/docs/api/pt-br/community-scripts/obter-um-script-da-comunidade
api/pt-BR/scripts.yaml get /community-scripts/{communityScriptId}
Busca informações detalhadas sobre um script específico da comunidade, incluindo seu conteúdo, descrição e metadados sobre o autor e o repositório de origem.
# Atualizar uma conta de faturamento
Source: https://altostrat.io/docs/api/pt-br/contas-de-faturamento/atualizar-uma-conta-de-faturamento
api/pt-BR/workspaces.yaml patch /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Atualiza os detalhes de uma conta de faturamento. Quaisquer parâmetros não fornecidos permanecerão inalterados. Esta operação também atualiza o objeto Cliente correspondente no Stripe.
# Criar uma conta de faturamento
Source: https://altostrat.io/docs/api/pt-br/contas-de-faturamento/criar-uma-conta-de-faturamento
api/pt-BR/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts
Cria uma nova conta de faturamento dentro de um workspace. Isso também cria um objeto Cliente correspondente no Stripe. O comportamento é restrito pelo modo de faturamento do workspace; para o modo `single`, apenas uma conta de faturamento pode ser criada. Para os modos `pooled` e `assigned`, até 10 podem ser criadas.
# Excluir uma conta de faturamento
Source: https://altostrat.io/docs/api/pt-br/contas-de-faturamento/excluir-uma-conta-de-faturamento
api/pt-BR/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Exclui permanentemente uma conta de faturamento. Esta ação não pode ser desfeita. Uma conta de faturamento não pode ser excluída se tiver assinaturas ativas.
# Listar contas de faturamento
Source: https://altostrat.io/docs/api/pt-br/contas-de-faturamento/listar-contas-de-faturamento
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts
Retorna uma lista de contas de faturamento associadas a um workspace.
# Obter uma conta de faturamento
Source: https://altostrat.io/docs/api/pt-br/contas-de-faturamento/obter-uma-conta-de-faturamento
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}
Obtém os detalhes de uma conta de faturamento específica.
# Atualizar um agendamento de cupons
Source: https://altostrat.io/docs/api/pt-br/coupon-schedules/atualizar-um-agendamento-de-cupons
api/pt-BR/captive-portal.yaml put /instances/{instanceId}/coupon-schedules/{scheduleId}
Atualiza a configuração de um agendamento de cupons existente.
# Criar um agendamento de cupons
Source: https://altostrat.io/docs/api/pt-br/coupon-schedules/criar-um-agendamento-de-cupons
api/pt-BR/captive-portal.yaml post /instances/{instanceId}/coupon-schedules
Cria um novo agendamento para gerar cupons automaticamente de forma recorrente (diária, semanal ou mensal).
# Excluir um agendamento de cupons
Source: https://altostrat.io/docs/api/pt-br/coupon-schedules/excluir-um-agendamento-de-cupons
api/pt-BR/captive-portal.yaml delete /instances/{instanceId}/coupon-schedules/{scheduleId}
Exclui permanentemente um agendamento de cupons. Isso não excluirá os cupons que já foram gerados pelo agendamento.
# Executar um agendamento de cupons agora
Source: https://altostrat.io/docs/api/pt-br/coupon-schedules/executar-um-agendamento-de-cupons-agora
api/pt-BR/captive-portal.yaml post /instances/{instanceId}/coupon-schedules/{scheduleId}/run
Aciona manualmente um agendamento de cupons para gerar um novo lote de cupons imediatamente, fora de sua recorrência normal.
# Gerar uma URL de cupom assinada
Source: https://altostrat.io/docs/api/pt-br/coupon-schedules/gerar-uma-url-de-cupom-assinada
api/pt-BR/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}/generate-url
Cria uma URL temporária e assinada que pode ser usada para recuperar a lista de cupons válidos gerados por um agendamento específico. Isso é útil para distribuir cupons para sistemas de terceiros sem expor chaves de API. A URL é válida por 24 horas.
# Listar agendamentos de cupons
Source: https://altostrat.io/docs/api/pt-br/coupon-schedules/listar-agendamentos-de-cupons
api/pt-BR/captive-portal.yaml get /instances/{instanceId}/coupon-schedules
Recupera uma lista de todos os agendamentos de geração de cupons para uma instância específica de portal cativo.
# Obter um agendamento de cupons
Source: https://altostrat.io/docs/api/pt-br/coupon-schedules/obter-um-agendamento-de-cupons
api/pt-BR/captive-portal.yaml get /instances/{instanceId}/coupon-schedules/{scheduleId}
Recupera os detalhes de um agendamento de cupons específico pelo seu ID.
# Criar cupons
Source: https://altostrat.io/docs/api/pt-br/coupons/criar-cupons
api/pt-BR/captive-portal.yaml post /instances/{instanceId}/coupons
Gera um lote de cupons de uso único para uma instância de portal cativo especificada.
# Listar cupons válidos para uma instância
Source: https://altostrat.io/docs/api/pt-br/coupons/listar-cupons-válidos-para-uma-instância
api/pt-BR/captive-portal.yaml get /instances/{instanceId}/coupons
Recupera uma lista de todos os cupons válidos (não resgatados e não expirados) para uma instância específica de portal cativo.
# Listar protocolos suportados
Source: https://altostrat.io/docs/api/pt-br/dados-de-referência/listar-protocolos-suportados
api/pt-BR/security-groups.yaml get /reference/protocols
Recupera uma lista de todos os protocolos de rede suportados e seus valores inteiros correspondentes, que são necessários ao criar regras de firewall.
# Listar serviços comuns
Source: https://altostrat.io/docs/api/pt-br/dados-de-referência/listar-serviços-comuns
api/pt-BR/security-groups.yaml get /reference/services
Recupera uma lista de serviços de rede comuns e seus números de porta padrão para auxiliar na criação de regras de firewall.
# Obter Vazão da Rede
Source: https://altostrat.io/docs/api/pt-br/dashboard/obter-vazão-da-rede
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/dashboard/throughput
Recupera dados de séries temporais que representam a vazão média da rede (em bits por segundo) em sites especificados durante uma janela de tempo. Use este endpoint para visualizar taxas de tráfego para dashboards e relatórios.
# Obter Volume de Dados Transferidos
Source: https://altostrat.io/docs/api/pt-br/dashboard/obter-volume-de-dados-transferidos
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/dashboard/data-transferred
Recupera o volume total de dados transferidos (em bytes) em sites especificados, agregados em intervalos de tempo. Use este endpoint para analisar o consumo de dados e os padrões de uso.
# Obter Estatísticas do Site por Intervalo de Datas
Source: https://altostrat.io/docs/api/pt-br/device-stats/obter-estatísticas-do-site-por-intervalo-de-datas
api/pt-BR/mikrotik-api.yaml get /sites/{siteId}/mikrotik-stats/range
Busca métricas de desempenho em série temporal (CPU, memória, disco, tempo de atividade) para um site dentro de um intervalo de datas especificado. Para intervalos de mais de 48 horas, os dados são agregados automaticamente por hora para garantir uma resposta rápida. Para intervalos mais curtos, são retornados os pontos de dados brutos.
# Endpoint de Conjunto de Chaves da Web JSON (JWKS)
Source: https://altostrat.io/docs/api/pt-br/discovery/endpoint-de-conjunto-de-chaves-da-web-json-jwks
api/pt-BR/authentication.yaml get /.well-known/jwks.json
Fornece o conjunto de chaves públicas usadas para verificar a assinatura dos JWTs emitidos pelo servidor de autenticação. Os clientes devem usar o `kid` (Key ID) do cabeçalho de um JWT para selecionar a chave correta para validação.
# Endpoint de Descoberta (Discovery) OIDC
Source: https://altostrat.io/docs/api/pt-br/discovery/endpoint-de-descoberta-discovery-oidc
api/pt-BR/authentication.yaml get /.well-known/openid-configuration
Retorna um documento JSON contendo os metadados de configuração do Provedor OpenID. Clientes compatíveis com OIDC usam este endpoint para descobrir automaticamente as localizações dos endpoints de autorização, token, userinfo e JWKS, bem como todas as capacidades suportadas.
# Atualizar uma Política de DNS
Source: https://altostrat.io/docs/api/pt-br/dns-content-filtering/atualizar-uma-política-de-dns
api/pt-BR/utm-ips.yaml put /policy/{policyId}
Atualiza as propriedades de uma política de DNS existente. Você pode alterar seu nome, bloqueios de aplicação, configurações de pesquisa segura e anexos de site.
# Criar uma Política de Filtragem de Conteúdo DNS
Source: https://altostrat.io/docs/api/pt-br/dns-content-filtering/criar-uma-política-de-filtragem-de-conteúdo-dns
api/pt-BR/utm-ips.yaml post /policy
Cria uma nova política de Filtragem de Conteúdo DNS com regras de filtragem, bloqueios de aplicação e configurações de pesquisa segura especificados.
# Excluir uma Política de DNS
Source: https://altostrat.io/docs/api/pt-br/dns-content-filtering/excluir-uma-política-de-dns
api/pt-BR/utm-ips.yaml delete /policy/{policyId}
Exclui permanentemente uma política de DNS. Esta operação falhará se a política estiver atualmente anexada a um ou mais sites.
# Listar Categorias de Aplicação
Source: https://altostrat.io/docs/api/pt-br/dns-content-filtering/listar-categorias-de-aplicação
api/pt-BR/utm-ips.yaml get /category
Recupera uma lista de todas as categorias de aplicação disponíveis. Cada categoria contém uma lista de aplicações que podem ser alvo em políticas de DNS.
# Listar Políticas de Filtragem de Conteúdo DNS
Source: https://altostrat.io/docs/api/pt-br/dns-content-filtering/listar-políticas-de-filtragem-de-conteúdo-dns
api/pt-BR/utm-ips.yaml get /policy
Recupera uma lista de todas as políticas de Filtragem de Conteúdo DNS associadas à sua conta.
# Listar Serviços de Pesquisa Segura
Source: https://altostrat.io/docs/api/pt-br/dns-content-filtering/listar-serviços-de-pesquisa-segura
api/pt-BR/utm-ips.yaml get /category/safe_search
Recupera uma lista de serviços (ex: Google, YouTube) para os quais a Pesquisa Segura (Safe Search) pode ser imposta em uma política de DNS.
# Obter uma Política de DNS
Source: https://altostrat.io/docs/api/pt-br/dns-content-filtering/obter-uma-política-de-dns
api/pt-BR/utm-ips.yaml get /policy/{policyId}
Recupera os detalhes de uma política de Filtragem de Conteúdo DNS específica pelo seu identificador único.
# Buscar Gateways Elegíveis
Source: https://altostrat.io/docs/api/pt-br/endpoints-auxiliares/buscar-gateways-elegíveis
api/pt-BR/wan-failover.yaml post /v1/failover/{site_id}/gateways
Para uma determinada interface de roteador, este endpoint tenta detectar endereços IP de gateway upstream elegíveis. Isso ajuda a automatizar o processo de encontrar o IP de `gateway` correto para a configuração de um túnel.
# Listar Interfaces do Roteador
Source: https://altostrat.io/docs/api/pt-br/endpoints-auxiliares/listar-interfaces-do-roteador
api/pt-BR/wan-failover.yaml get /v1/failover/{site_id}/interfaces
Recupera uma lista de interfaces de rede físicas e lógicas disponíveis do roteador no site especificado. Isso é útil para identificar o nome correto da `interface` ao configurar um túnel.
# Atualizar uma falha
Source: https://altostrat.io/docs/api/pt-br/falhas/atualizar-uma-falha
api/pt-BR/faults.yaml put /faults/{faultId}
Atualiza a falha especificada definindo os valores dos parâmetros passados. Quaisquer parâmetros não fornecidos permanecerão inalterados. Isso é útil para alterar a severidade de uma falha ou resolvê-la manualmente.
# Criar uma falha
Source: https://altostrat.io/docs/api/pt-br/falhas/criar-uma-falha
api/pt-BR/faults.yaml post /faults
Cria manualmente um novo objeto de falha. Isso é normalmente usado para criar falhas a partir de sistemas externos ou para fins de teste. Para ingestão automatizada, outros microsserviços enviam eventos que são processados em falhas.
# Excluir uma falha
Source: https://altostrat.io/docs/api/pt-br/falhas/excluir-uma-falha
api/pt-BR/faults.yaml delete /faults/{faultId}
Exclui permanentemente um objeto de falha. Esta ação não pode ser desfeita.
# Listar todas as falhas
Source: https://altostrat.io/docs/api/pt-br/falhas/listar-todas-as-falhas
api/pt-BR/faults.yaml get /faults
Retorna uma lista paginada de objetos de falha para sua conta. As falhas são retornadas em ordem cronológica inversa por hora de criação. Você pode filtrar os resultados usando os parâmetros de consulta.
# Obter uma falha
Source: https://altostrat.io/docs/api/pt-br/falhas/obter-uma-falha
api/pt-BR/faults.yaml get /faults/{faultId}
Obtém os detalhes de uma falha existente. Você só precisa fornecer o identificador único da falha que foi retornado na criação da falha.
# Listar faturas
Source: https://altostrat.io/docs/api/pt-br/faturas/listar-faturas
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices
Retorna uma lista de faturas para uma conta de faturamento. As faturas são retornadas em ordem cronológica inversa.
# Pré-visualizar uma fatura
Source: https://altostrat.io/docs/api/pt-br/faturas/pré-visualizar-uma-fatura
api/pt-BR/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/invoices/preview
Pré-visualiza uma fatura futura para uma conta de faturamento, mostrando o impacto financeiro de possíveis alterações na assinatura, como adicionar produtos ou alterar quantidades. Isso não modifica nenhuma assinatura existente.
# Excluir um Relatório Gerado
Source: https://altostrat.io/docs/api/pt-br/generated-reports/excluir-um-relatório-gerado
api/pt-BR/reports.yaml delete /sla/reports/{reportId}
Exclui permanentemente um relatório gerado anteriormente e seus dados PDF e JSON associados do armazenamento.
# Listar Relatórios Gerados
Source: https://altostrat.io/docs/api/pt-br/generated-reports/listar-relatórios-gerados
api/pt-BR/reports.yaml get /sla/reports
Recupera uma lista paginada de todos os relatórios gerados historicamente para o workspace, ordenados pela data de criação em ordem decrescente.
# Atualizar um grupo de segurança
Source: https://altostrat.io/docs/api/pt-br/grupos-de-segurança/atualizar-um-grupo-de-segurança
api/pt-BR/security-groups.yaml put /security-groups/{securityGroupId}
Atualiza um grupo de segurança existente substituindo completamente seus atributos, incluindo nome, descrição, regras e associações de sites. Esta é uma operação de substituição completa (PUT); quaisquer campos omitidos nos arrays `rules` ou `sites` resultarão na remoção desses itens.
# Criar um grupo de segurança
Source: https://altostrat.io/docs/api/pt-br/grupos-de-segurança/criar-um-grupo-de-segurança
api/pt-BR/security-groups.yaml post /security-groups
Cria um novo grupo de segurança com um conjunto definido de regras de firewall e associações iniciais de sites. O grupo é criado atomicamente. As associações de sites e as implantações de regras são tratadas de forma assíncrona. A resposta indicará um status `syncing` se houver sites para atualizar.
# Excluir um grupo de segurança
Source: https://altostrat.io/docs/api/pt-br/grupos-de-segurança/excluir-um-grupo-de-segurança
api/pt-BR/security-groups.yaml delete /security-groups/{securityGroupId}
Exclui permanentemente um grupo de segurança. Esta ação não pode ser desfeita. Um processo assíncrono removerá as regras de firewall correspondentes de todos os sites associados.
# Listar grupos de segurança
Source: https://altostrat.io/docs/api/pt-br/grupos-de-segurança/listar-grupos-de-segurança
api/pt-BR/security-groups.yaml get /security-groups
Recupera uma lista de todos os grupos de segurança da sua organização. Este endpoint fornece uma visão resumida de cada grupo e não inclui a lista detalhada de regras ou sites associados por motivos de desempenho. Para obter detalhes completos, recupere um grupo de segurança específico pelo seu ID.
# Obter um grupo de segurança
Source: https://altostrat.io/docs/api/pt-br/grupos-de-segurança/obter-um-grupo-de-segurança
api/pt-BR/security-groups.yaml get /security-groups/{securityGroupId}
Recupera os detalhes completos de um grupo de segurança específico, incluindo seu nome, descrição, status, sites associados e uma lista completa de suas regras de firewall.
# Verificação de Saúde
Source: https://altostrat.io/docs/api/pt-br/health/verificação-de-saúde
api/pt-BR/mcp-server.yaml get /health
Fornece uma verificação de saúde simples do servidor MCP, retornando seu status, versão e capacidades suportadas. Este endpoint pode ser usado para monitoramento e descoberta de serviços.
# Atualizar uma instância de VPN
Source: https://altostrat.io/docs/api/pt-br/instances/atualizar-uma-instância-de-vpn
api/pt-BR/managed-vpn.yaml put /instances/{instanceId}
Modifica a configuração de uma instância de VPN existente, como seu nome, configurações de DNS ou rotas a serem enviadas (pushed routes).
# Criar uma instância de VPN
Source: https://altostrat.io/docs/api/pt-br/instances/criar-uma-instância-de-vpn
api/pt-BR/managed-vpn.yaml post /instances
Provisiona uma nova instância de servidor VPN em uma região especificada com um hostname único. Este é o primeiro passo para configurar uma nova VPN.
# Excluir uma instância de VPN
Source: https://altostrat.io/docs/api/pt-br/instances/excluir-uma-instância-de-vpn
api/pt-BR/managed-vpn.yaml delete /instances/{instanceId}
Desativa permanentemente uma instância de VPN e todos os seus servidores e peers associados. Esta ação não pode ser desfeita.
# Listar todas as instâncias de VPN
Source: https://altostrat.io/docs/api/pt-br/instances/listar-todas-as-instâncias-de-vpn
api/pt-BR/managed-vpn.yaml get /instances
Recupera uma lista de todas as instâncias de VPN acessíveis pelo usuário autenticado.
# Obter largura de banda da instância
Source: https://altostrat.io/docs/api/pt-br/instances/obter-largura-de-banda-da-instância
api/pt-BR/managed-vpn.yaml get /instances/{instanceId}/bandwidth
Busca as estatísticas de uso de largura de banda para o servidor principal associado a uma instância de VPN.
# Obter uma instância de VPN
Source: https://altostrat.io/docs/api/pt-br/instances/obter-uma-instância-de-vpn
api/pt-BR/managed-vpn.yaml get /instances/{instanceId}
Busca os detalhes de uma instância de VPN específica pelo seu identificador único.
# Listar Interfaces do Site
Source: https://altostrat.io/docs/api/pt-br/interfaces-de-site-e-métricas/listar-interfaces-do-site
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/interfaces/{siteId}
Recupera uma lista de todas as interfaces de rede monitoradas via SNMP para um site específico.
# Obter Métricas da Interface
Source: https://altostrat.io/docs/api/pt-br/interfaces-de-site-e-métricas/obter-métricas-da-interface
api/pt-BR/monitoring-metrics.yaml post /v1/monitoring/interfaces/{interfaceId}/metrics
Busca métricas de tráfego em série temporal (ifInOctets para entrada, ifOutOctets para saída) para uma interface de rede específica durante um período de tempo. Os valores são retornados em bits por segundo.
# Atualizar Entrada ARP
Source: https://altostrat.io/docs/api/pt-br/inventário-arp/atualizar-entrada-arp
api/pt-BR/monitoring-metrics.yaml put /v1/monitoring/arps/{siteId}/{arpEntryId}
Atualiza metadados para uma entrada ARP específica, como atribuí-la a um grupo ou definir um alias personalizado.
# Buscar Entradas ARP
Source: https://altostrat.io/docs/api/pt-br/inventário-arp/buscar-entradas-arp
api/pt-BR/monitoring-metrics.yaml post /v1/monitoring/arps
Realiza uma busca paginada por entradas ARP em um ou mais sites, com opções de filtragem e ordenação. Este é o endpoint principal para construir um inventário de dispositivos conectados.
# Cancelar uma Tarefa Pendente
Source: https://altostrat.io/docs/api/pt-br/jobs/cancelar-uma-tarefa-pendente
api/pt-BR/mikrotik-api.yaml delete /sites/{siteId}/jobs/{jobId}
Exclui uma tarefa que ainda não iniciou a execução. Tarefas que estão em andamento, concluídas ou que falharam não podem ser excluídas.
# Criar uma Tarefa para um Site
Source: https://altostrat.io/docs/api/pt-br/jobs/criar-uma-tarefa-para-um-site
api/pt-BR/mikrotik-api.yaml post /sites/{siteId}/jobs
Cria e enfileira uma nova tarefa para ser executada no site especificado. O payload da tarefa é um script RouterOS bruto, e os metadados são fornecidos através de cabeçalhos.
# Listar Tarefas de um Site
Source: https://altostrat.io/docs/api/pt-br/jobs/listar-tarefas-de-um-site
api/pt-BR/mikrotik-api.yaml get /sites/{siteId}/jobs
Recupera uma lista de todas as tarefas que foram criadas para um site específico, ordenadas pela data de criação (as mais recentes primeiro).
# Obter uma Tarefa
Source: https://altostrat.io/docs/api/pt-br/jobs/obter-uma-tarefa
api/pt-BR/mikrotik-api.yaml get /sites/{siteId}/jobs/{jobId}
Recupera os detalhes completos de uma tarefa específica pelo seu identificador único (UUID).
# Atualizar uma lista de prefixos
Source: https://altostrat.io/docs/api/pt-br/listas-de-prefixos/atualizar-uma-lista-de-prefixos
api/pt-BR/security-groups.yaml put /prefix-lists/{prefixListId}
Atualiza uma lista de prefixos existente substituindo completamente seus atributos, incluindo nome, descrição, prefixos e associações de sites. Esta é uma operação de substituição completa (PUT); quaisquer campos omitidos resultarão na remoção desses itens.
# Criar uma lista de prefixos
Source: https://altostrat.io/docs/api/pt-br/listas-de-prefixos/criar-uma-lista-de-prefixos
api/pt-BR/security-groups.yaml post /prefix-lists
Cria uma nova lista de prefixos com um conjunto definido de blocos CIDR e associações iniciais de sites. As associações de sites e as implantações de listas de endereços são tratadas de forma assíncrona.
# Excluir uma lista de prefixos
Source: https://altostrat.io/docs/api/pt-br/listas-de-prefixos/excluir-uma-lista-de-prefixos
api/pt-BR/security-groups.yaml delete /prefix-lists/{prefixListId}
Exclui permanentemente uma lista de prefixos. Esta ação falhará se a lista de prefixos estiver sendo referenciada por alguma regra de grupo de segurança. Um processo assíncrono removerá a lista de endereços correspondente de todos os sites associados.
# Listar listas de prefixos
Source: https://altostrat.io/docs/api/pt-br/listas-de-prefixos/listar-listas-de-prefixos
api/pt-BR/security-groups.yaml get /prefix-lists
Recupera uma lista de todas as listas de prefixos da sua organização. Este endpoint fornece uma visão resumida e não inclui a lista detalhada de prefixos ou sites por motivos de desempenho. Para obter detalhes completos, recupere uma lista de prefixos específica pelo seu ID.
# Obter uma lista de prefixos
Source: https://altostrat.io/docs/api/pt-br/listas-de-prefixos/obter-uma-lista-de-prefixos
api/pt-BR/security-groups.yaml get /prefix-lists/{prefixListId}
Recupera os detalhes completos de uma lista de prefixos específica, incluindo seu nome, descrição, status, sites associados e uma lista completa de seus prefixos.
# Executar Comando Síncrono
Source: https://altostrat.io/docs/api/pt-br/live-commands/executar-comando-síncrono
api/pt-BR/generative-ai.yaml post /sites/{siteId}/commands/synchronous
Executa um comando de API RouterOS da MikroTik somente leitura de forma síncrona em um site específico. Isso fornece uma interface direta e em tempo real com o dispositivo. Para buscar configurações estáticas, usar a API de Backups geralmente é mais rápido. Operações de escrita são estritamente proibidas.
# Listar eventos de log de auditoria
Source: https://altostrat.io/docs/api/pt-br/logs-de-auditoria/listar-eventos-de-log-de-auditoria
api/pt-BR/audit-logs.yaml get /audit-logs
Recupera uma lista de eventos de log de auditoria para sua organização. Este endpoint suporta filtragem e paginação poderosas para ajudá-lo a encontrar eventos específicos para fins de segurança, conformidade ou depuração.
Os resultados são retornados em ordem cronológica inversa (os mais recentes primeiro) por padrão.
# Obter Entradas de Syslog do Site
Source: https://altostrat.io/docs/api/pt-br/logs-de-rede/obter-entradas-de-syslog-do-site
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/syslogs/{siteId}
Recupera uma lista paginada de mensagens de syslog para um site específico, ordenadas pelas mais recentes primeiro.
# Obter Relatório de Segurança BGP
Source: https://altostrat.io/docs/api/pt-br/logs-de-rede/obter-relatório-de-segurança-bgp
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/bgp-report/{siteId}
Gera um relatório de segurança BGP para um site com base nos dados das últimas 24 horas. O relatório inclui as 10 principais portas de destino, as 10 principais listas de bloqueio acionadas e os 10 principais IPs de origem que iniciaram tráfego bloqueado.
# Obter Relatório de Segurança DNS
Source: https://altostrat.io/docs/api/pt-br/logs-de-rede/obter-relatório-de-segurança-dns
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/dns-report/{siteId}
Gera um relatório de segurança DNS para um site com base nos dados das últimas 24 horas. O relatório inclui as 10 principais categorias bloqueadas, os 10 principais aplicativos bloqueados e os 10 principais IPs de origem internos que fizeram solicitações bloqueadas.
# Endpoint JSON-RPC do MCP
Source: https://altostrat.io/docs/api/pt-br/mcp--core-protocol/endpoint-json-rpc-do-mcp
api/pt-BR/mcp-server.yaml post /mcp
Este é o endpoint único para todas as interações do Protocolo de Contexto de Modelo (MCP), que seguem a especificação JSON-RPC 2.0.
A ação específica a ser executada é determinada pela propriedade `method` no corpo da requisição JSON. A estrutura do objeto `params` varia dependendo do método que está sendo chamado.
Abaixo estão os métodos suportados:
### Ciclo de Vida
- `initialize`: Estabelece uma conexão e negocia as versões do protocolo.
- `ping`: Um método simples para verificar se a conexão está ativa.
### Ferramentas
- `tools/list`: Recupera uma lista de ferramentas disponíveis que um agente de IA pode executar.
- `tools/call`: Executa uma ferramenta específica com os argumentos fornecidos.
### Recursos
- `resources/list`: Recupera uma lista de recursos de conhecimento disponíveis.
- `resources/read`: Lê o conteúdo de um recurso específico.
### Prompts
- `prompts/list`: Recupera uma lista de prompts pré-definidos disponíveis.
- `prompts/get`: Recupera a estrutura de mensagem completa para um prompt específico, preenchida com argumentos.
# Adicionar um membro a um workspace
Source: https://altostrat.io/docs/api/pt-br/membros-do-workspace/adicionar-um-membro-a-um-workspace
api/pt-BR/workspaces.yaml post /workspaces/{workspaceId}/members
Adiciona um novo usuário a um workspace com uma função especificada. Apenas proprietários e administradores do workspace podem adicionar novos membros. Um workspace não pode ter mais de 100 membros.
# Atualizar a função de um membro
Source: https://altostrat.io/docs/api/pt-br/membros-do-workspace/atualizar-a-função-de-um-membro
api/pt-BR/workspaces.yaml patch /workspaces/{workspaceId}/members/{memberId}
Atualiza a função de um membro existente em um workspace. As alterações de função estão sujeitas a regras de hierarquia; por exemplo, um administrador não pode promover outro membro a proprietário.
# Listar membros do workspace
Source: https://altostrat.io/docs/api/pt-br/membros-do-workspace/listar-membros-do-workspace
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/members
Retorna uma lista de usuários que são membros do workspace especificado, incluindo suas funções.
# Remover um membro de um workspace
Source: https://altostrat.io/docs/api/pt-br/membros-do-workspace/remover-um-membro-de-um-workspace
api/pt-BR/workspaces.yaml delete /workspaces/{workspaceId}/members/{memberId}
Remove um membro de um workspace. Um usuário pode remover a si mesmo, ou um proprietário/administrador pode remover outros membros. O último proprietário de um workspace não pode ser removido.
# Atualizar um objeto de metadados
Source: https://altostrat.io/docs/api/pt-br/metadata/atualizar-um-objeto-de-metadados
api/pt-BR/metadata.yaml put /metadata/{resourceId}
Atualiza os metadados para um recurso específico. Esta operação realiza uma fusão; quaisquer chaves que você fornecer serão adicionadas ou substituirão as chaves existentes, enquanto as chaves que você não fornecer permanecerão intactas. Para remover uma chave, defina seu valor como `null` ou uma string vazia.
# Criar um objeto de metadados
Source: https://altostrat.io/docs/api/pt-br/metadata/criar-um-objeto-de-metadados
api/pt-BR/metadata.yaml post /metadata
Cria um novo objeto de metadados para um determinado recurso ou substitui completamente um existente para esse recurso. Os metadados em si são um armazenamento flexível de chave-valor.
# Excluir um objeto de metadados
Source: https://altostrat.io/docs/api/pt-br/metadata/excluir-um-objeto-de-metadados
api/pt-BR/metadata.yaml delete /metadata/{resourceId}
Exclui todos os metadados personalizados associados a um recurso. Esta ação limpa o campo `metadata`, mas não exclui o recurso em si.
# Listar todos os objetos de metadados
Source: https://altostrat.io/docs/api/pt-br/metadata/listar-todos-os-objetos-de-metadados
api/pt-BR/metadata.yaml get /metadata
Recupera uma coleção de todos os recursos que possuem metadados associados a eles para o cliente atual.
# Recuperar um objeto de metadados
Source: https://altostrat.io/docs/api/pt-br/metadata/recuperar-um-objeto-de-metadados
api/pt-BR/metadata.yaml get /metadata/{resourceId}
Busca o objeto de metadados para um único recurso, identificado por seu ID único.
# Criar um Setup Intent
Source: https://altostrat.io/docs/api/pt-br/métodos-de-pagamento/criar-um-setup-intent
api/pt-BR/workspaces.yaml post /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Cria um Setup Intent do Stripe para coletar detalhes do método de pagamento para pagamentos futuros. Isso retorna um `client_secret` que você pode usar com o Stripe.js ou os SDKs móveis para exibir um formulário de pagamento. Uma conta de faturamento não pode ter mais de 5 métodos de pagamento.
# Definir método de pagamento padrão
Source: https://altostrat.io/docs/api/pt-br/métodos-de-pagamento/definir-método-de-pagamento-padrão
api/pt-BR/workspaces.yaml put /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Define um método de pagamento especificado como o padrão para uma conta de faturamento. Este método de pagamento será usado para todas as faturas de assinatura futuras.
# Desanexar um método de pagamento
Source: https://altostrat.io/docs/api/pt-br/métodos-de-pagamento/desanexar-um-método-de-pagamento
api/pt-BR/workspaces.yaml delete /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods/{paymentMethodId}
Desanexa um método de pagamento de uma conta de faturamento. Você não pode desanexar o único método de pagamento de uma conta, nem pode desanexar o método de pagamento padrão se houver assinaturas ativas.
# Listar métodos de pagamento
Source: https://altostrat.io/docs/api/pt-br/métodos-de-pagamento/listar-métodos-de-pagamento
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/billing-accounts/{billingAccountId}/payment-methods
Retorna uma lista de métodos de pagamento anexados a uma conta de faturamento.
# Atualizar um Grupo de Notificação
Source: https://altostrat.io/docs/api/pt-br/notification-groups/atualizar-um-grupo-de-notificação
api/pt-BR/notifications.yaml put /notifications/{groupId}
Atualiza a configuração de um grupo de notificação existente. Esta operação substitui o objeto de grupo inteiro pelos dados fornecidos.
# Criar um Grupo de Notificação
Source: https://altostrat.io/docs/api/pt-br/notification-groups/criar-um-grupo-de-notificação
api/pt-BR/notifications.yaml post /notifications
Cria um novo grupo de notificação. Isso permite definir uma nova regra sobre quem é notificado, sobre quais tópicos, para quais sites e em qual agenda.
# Excluir um Grupo de Notificação
Source: https://altostrat.io/docs/api/pt-br/notification-groups/excluir-um-grupo-de-notificação
api/pt-BR/notifications.yaml delete /notifications/{groupId}
Exclui permanentemente um grupo de notificação. Esta ação não pode ser desfeita.
# Listar Grupos de Notificação
Source: https://altostrat.io/docs/api/pt-br/notification-groups/listar-grupos-de-notificação
api/pt-BR/notifications.yaml get /notifications
Recupera uma lista de todos os grupos de notificação configurados para o workspace do usuário autenticado. Cada grupo representa um conjunto específico de regras para o roteamento de alertas.
# Recuperar um Grupo de Notificação
Source: https://altostrat.io/docs/api/pt-br/notification-groups/recuperar-um-grupo-de-notificação
api/pt-BR/notifications.yaml get /notifications/{groupId}
Busca os detalhes de um grupo de notificação específico pelo seu ID único.
# Fazer Logout do Usuário (Compatível com OIDC)
Source: https://altostrat.io/docs/api/pt-br/oauth-20-&-oidc/fazer-logout-do-usuário-compatível-com-oidc
api/pt-BR/authentication.yaml get /oidc/logout
Este endpoint está em conformidade com a especificação de Gerenciamento de Sessão OIDC. Ele faz o logout do usuário e pode redirecioná-lo de volta para a aplicação.
# Fazer Logout do Usuário (Legado)
Source: https://altostrat.io/docs/api/pt-br/oauth-20-&-oidc/fazer-logout-do-usuário-legado
api/pt-BR/authentication.yaml get /v2/logout
Faz o logout do usuário da sua sessão Altostrat e o redireciona de volta para uma URL especificada.
# Iniciar Autenticação do Usuário
Source: https://altostrat.io/docs/api/pt-br/oauth-20-&-oidc/iniciar-autenticação-do-usuário
api/pt-BR/authentication.yaml get /authorize
Este é o ponto de partida para a autenticação do usuário. A aplicação web da Altostrat redireciona o navegador do usuário para este endpoint para iniciar o OAuth 2.0 Authorization Code Flow com PKCE.
# Obter Perfil do Usuário
Source: https://altostrat.io/docs/api/pt-br/oauth-20-&-oidc/obter-perfil-do-usuário
api/pt-BR/authentication.yaml get /userinfo
Recupera o perfil do usuário associado ao `access_token` fornecido. As claims retornadas são baseadas nos escopos concedidos durante a autenticação.
# Revogar Token
Source: https://altostrat.io/docs/api/pt-br/oauth-20-&-oidc/revogar-token
api/pt-BR/authentication.yaml post /oauth/revoke
Revoga um `access_token` ou `refresh_token`, invalidando-o imediatamente. Isso é útil para cenários como alterações de senha ou logouts iniciados pelo usuário em todos os dispositivos.
# Trocar Código ou Refresh Token por Tokens
Source: https://altostrat.io/docs/api/pt-br/oauth-20-&-oidc/trocar-código-ou-refresh-token-por-tokens
api/pt-BR/authentication.yaml post /oauth/token
Usado para trocar um `authorization_code` por tokens, ou para usar um `refresh_token` para obter um novo `access_token`. A autenticação do cliente pode ser realizada via `client_secret_post` (no corpo), `client_secret_basic` (Autenticação HTTP Basic) ou `private_key_jwt`.
# Atualizar uma organização
Source: https://altostrat.io/docs/api/pt-br/organizações/atualizar-uma-organização
api/pt-BR/workspaces.yaml patch /workspaces/{workspaceId}/organizations/{organizationId}
Atualiza atributos especificados de uma organização. Este endpoint pode ser usado para alterar o nome da organização, atualizar seus limites de recursos ou modificar configurações de branding. Você só precisa fornecer os campos que deseja alterar.
# Criar uma organização
Source: https://altostrat.io/docs/api/pt-br/organizações/criar-uma-organização
api/pt-BR/workspaces.yaml post /workspaces/{workspaceId}/organizations
Cria uma nova organização de nível superior dentro de um workspace. Para criar uma organização filha, use o endpoint `/organizations/{organizationId}/children`. Um workspace não pode ter mais de 1.000 organizações no total.
# Criar uma organização filha
Source: https://altostrat.io/docs/api/pt-br/organizações/criar-uma-organização-filha
api/pt-BR/workspaces.yaml post /workspaces/{workspaceId}/organizations/{organizationId}/children
Cria uma nova organização como filha direta da organização pai especificada. A hierarquia não pode exceder 10 níveis de profundidade, e um pai não pode ter mais de 100 filhos diretos.
# Excluir uma organização
Source: https://altostrat.io/docs/api/pt-br/organizações/excluir-uma-organização
api/pt-BR/workspaces.yaml delete /workspaces/{workspaceId}/organizations/{organizationId}
Exclui permanentemente uma organização. Uma organização não pode ser excluída se ela ou qualquer um de seus descendentes tiverem uso ativo de recursos.
# Exportar uso da organização como CSV
Source: https://altostrat.io/docs/api/pt-br/organizações/exportar-uso-da-organização-como-csv
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.csv
Gera e baixa um arquivo CSV detalhando o uso de recursos e limites para todas as organizações dentro do workspace especificado.
# Exportar uso da organização como PDF
Source: https://altostrat.io/docs/api/pt-br/organizações/exportar-uso-da-organização-como-pdf
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations/usage.pdf
Gera e baixa um arquivo PDF detalhando o uso de recursos e limites para todas as organizações dentro do workspace especificado.
# Listar organizações
Source: https://altostrat.io/docs/api/pt-br/organizações/listar-organizações
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations
Retorna uma lista de todas as organizações dentro do workspace especificado.
# Listar organizações filhas
Source: https://altostrat.io/docs/api/pt-br/organizações/listar-organizações-filhas
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/children
Retorna uma lista de organizações filhas imediatas de uma organização pai especificada.
# Listar todas as organizações descendentes
Source: https://altostrat.io/docs/api/pt-br/organizações/listar-todas-as-organizações-descendentes
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/descendants
Retorna uma lista plana de todas as organizações que são descendentes (filhas, netas, etc.) da organização pai especificada.
# Obter limites da organização
Source: https://altostrat.io/docs/api/pt-br/organizações/obter-limites-da-organização
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/limits
Obtém um detalhamento do uso, limites e capacidade disponível para cada tipo de produto mensurável para uma organização específica. Isso leva em conta os limites da própria organização, os limites herdados de seus pais e a capacidade total disponível de sua assinatura.
# Obter organização pai
Source: https://altostrat.io/docs/api/pt-br/organizações/obter-organização-pai
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}/parent
Obtém a organização pai de uma organização filha especificada. Se a organização estiver no nível superior, este endpoint retornará uma resposta 204 Sem Conteúdo.
# Obter uma organização
Source: https://altostrat.io/docs/api/pt-br/organizações/obter-uma-organização
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}/organizations/{organizationId}
Obtém os detalhes de uma organização específica dentro de um workspace.
# Atualizar um peer
Source: https://altostrat.io/docs/api/pt-br/peers/atualizar-um-peer
api/pt-BR/managed-vpn.yaml put /instances/{instanceId}/peers/{peerId}
Modifica a configuração de um peer existente, como suas sub-redes ou comportamento de roteamento.
# Criar um peer
Source: https://altostrat.io/docs/api/pt-br/peers/criar-um-peer
api/pt-BR/managed-vpn.yaml post /instances/{instanceId}/peers
Cria um novo peer (um cliente ou um site) e o associa a uma instância de VPN.
# Excluir um peer
Source: https://altostrat.io/docs/api/pt-br/peers/excluir-um-peer
api/pt-BR/managed-vpn.yaml delete /instances/{instanceId}/peers/{peerId}
Remove permanentemente um peer de uma instância de VPN. Isso revoga seu acesso.
# Listar todos os peers de uma instância
Source: https://altostrat.io/docs/api/pt-br/peers/listar-todos-os-peers-de-uma-instância
api/pt-BR/managed-vpn.yaml get /instances/{instanceId}/peers
Recupera uma lista de todos os peers (clientes e sites) associados a uma instância de VPN específica.
# Obter um peer
Source: https://altostrat.io/docs/api/pt-br/peers/obter-um-peer
api/pt-BR/managed-vpn.yaml get /instances/{instanceId}/peers/{peerId}
Busca os detalhes de um peer específico pelo seu identificador único.
# Aplicar política aos sites
Source: https://altostrat.io/docs/api/pt-br/policies/aplicar-política-aos-sites
api/pt-BR/control-plane.yaml post /policies/{policyId}/sites
Atribui ou reatribui uma lista de sites a esta política. Esta é a principal forma de aplicar um novo conjunto de regras de firewall a um ou mais dispositivos.
# Atualizar uma política
Source: https://altostrat.io/docs/api/pt-br/policies/atualizar-uma-política
api/pt-BR/control-plane.yaml put /policies/{policyId}
Atualiza a política especificada definindo os valores dos parâmetros passados. Quaisquer parâmetros não fornecidos permanecerão inalterados.
# Criar uma política
Source: https://altostrat.io/docs/api/pt-br/policies/criar-uma-política
api/pt-BR/control-plane.yaml post /policies
Cria uma nova política de segurança. Você pode definir regras para serviços como Winbox, SSH e HTTP/S, incluindo quais redes têm permissão para acessá-los.
# Excluir uma política
Source: https://altostrat.io/docs/api/pt-br/policies/excluir-uma-política
api/pt-BR/control-plane.yaml delete /policies/{policyId}
Exclui uma política. Você não pode excluir a política padrão. Quaisquer sites que usam a política excluída serão reatribuídos à política padrão.
# Listar todas as políticas
Source: https://altostrat.io/docs/api/pt-br/policies/listar-todas-as-políticas
api/pt-BR/control-plane.yaml get /policies
Recupera uma lista de todas as políticas de segurança pertencentes ao seu workspace. As políticas definem as regras de firewall e as configurações de acesso a serviços aplicadas aos seus sites.
# Obter uma política
Source: https://altostrat.io/docs/api/pt-br/policies/obter-uma-política
api/pt-BR/control-plane.yaml get /policies/{policyId}
Recupera os detalhes de uma política específica, incluindo suas regras e uma lista de sites aos quais ela é aplicada.
# Obter informações públicas de branding
Source: https://altostrat.io/docs/api/pt-br/público/obter-informações-públicas-de-branding
api/pt-BR/workspaces.yaml get /organizations/{id}/branding
Obtém as informações públicas de branding de uma organização, como seu nome de exibição, logotipo e cores do tema. Você pode usar tanto o ID principal da organização (`org_...`) quanto seu UUID externo como identificador. Este é um endpoint público e não autenticado.
# Resolver dica de login
Source: https://altostrat.io/docs/api/pt-br/público/resolver-dica-de-login
api/pt-BR/workspaces.yaml get /organizations/resolve/{login_hint}
Dada uma dica de login única (ex um nome curto de empresa como 'acme'), este endpoint retorna o ID da organização correspondente. Isso é útil para pré-preencher detalhes da organização em um fluxo de login. Este é um endpoint público e não autenticado.
# Obter um Runbook
Source: https://altostrat.io/docs/api/pt-br/runbooks/obter-um-runbook
api/pt-BR/mikrotik-api.yaml get /runbooks/{runbookId}
Recupera os detalhes de um runbook específico, incluindo seu nome e o comando de bootstrap usado para integrar novos dispositivos com esta configuração.
# Obter Estatísticas Recentes de Saúde do Dispositivo
Source: https://altostrat.io/docs/api/pt-br/saúde-e-status-do-dispositivo/obter-estatísticas-recentes-de-saúde-do-dispositivo
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats-all/{siteId}
Recupera uma série temporal de métricas chave de saúde (CPU, memória, disco, uptime) para o dispositivo de um site específico das últimas 8 horas.
# Obter Histórico de Heartbeat do Dispositivo
Source: https://altostrat.io/docs/api/pt-br/saúde-e-status-do-dispositivo/obter-histórico-de-heartbeat-do-dispositivo
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/mikrotik-stats/{siteId}
Recupera o status de heartbeat e conectividade do dispositivo nas últimas 24 horas, agregados por hora. Isso ajuda a identificar períodos de inatividade ou check-ins perdidos.
# Obter Horário da Última Visualização
Source: https://altostrat.io/docs/api/pt-br/saúde-e-status-do-dispositivo/obter-horário-da-última-visualização
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/last-seen/{siteId}
Retorna o tempo desde que o dispositivo no site especificado reportou seu status pela última vez.
# Iniciar uma Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-execution/iniciar-uma-varredura
api/pt-BR/cve-scans.yaml post /scans/cve/scheduled/{scanScheduleId}/invoke
Aciona manualmente uma varredura para um determinado agendamento, sobrepondo seu cronograma normal. A varredura será enfileirada para execução imediata.
# Iniciar Varredura Sob Demanda de IP Único
Source: https://altostrat.io/docs/api/pt-br/scan-execution/iniciar-varredura-sob-demanda-de-ip-único
api/pt-BR/cve-scans.yaml post /scans/cve/scheduled/single-ip
Inicia uma varredura imediata e sob demanda para um único endereço IP. Isso utiliza a configuração de um agendamento de varredura existente, mas tem como alvo apenas o IP especificado dentro de um site específico.
# Iniciar Varredura Sob Demanda de Múltiplos IPs
Source: https://altostrat.io/docs/api/pt-br/scan-execution/iniciar-varredura-sob-demanda-de-múltiplos-ips
api/pt-BR/cve-scans.yaml post /scans/cve/scan/multiple-ips
Inicia uma varredura imediata e sob demanda para uma lista específica de endereços IP. Isso utiliza a configuração de um agendamento de varredura existente, mas tem como alvo apenas os IPs especificados dentro de um site específico.
# Parar uma Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-execution/parar-uma-varredura
api/pt-BR/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}/invoke
Força a parada de uma varredura que está atualmente em andamento para um determinado agendamento.
# Listar Relatórios de Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-results/listar-relatórios-de-varredura
api/pt-BR/cve-scans.yaml get /scans/cve
Recupera uma lista de relatórios de varredura concluídos para sua conta, ordenados pelos mais recentes primeiro. Cada item na lista é um resumo de uma execução de varredura.
# Obter Status da Última Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-results/obter-status-da-última-varredura
api/pt-BR/cve-scans.yaml get /scans/cve/{scanScheduleId}/status
Recupera o status da varredura mais recente associada a um agendamento específico, seja ela em execução, concluída ou falha.
# Recuperar um Relatório de Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-results/recuperar-um-relatório-de-varredura
api/pt-BR/cve-scans.yaml get /scans/cve/{scan_id}
Busca o relatório detalhado para uma execução de varredura concluída específica. O relatório inclui metadados da varredura e links para baixar o relatório completo em JSON ou PDF.
# Atualizar um Agendamento de Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-schedules/atualizar-um-agendamento-de-varredura
api/pt-BR/cve-scans.yaml put /scans/cve/scheduled/{scanScheduleId}
Atualiza a configuração de um agendamento de varredura existente. Todos os campos são substituídos pelos novos valores fornecidos no corpo da requisição.
# Criar Agendamento de Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-schedules/criar-agendamento-de-varredura
api/pt-BR/cve-scans.yaml post /scans/cve/scheduled
Cria um novo agendamento de varredura de CVE recorrente. Você deve definir o horário, a frequência, os sites e sub-redes de destino e as configurações de notificação. Uma criação bem-sucedida retorna o objeto de agendamento completo.
# Excluir um Agendamento de Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-schedules/excluir-um-agendamento-de-varredura
api/pt-BR/cve-scans.yaml delete /scans/cve/scheduled/{scanScheduleId}
Exclui permanentemente um agendamento de varredura. Esta ação não pode ser desfeita e interromperá quaisquer varreduras futuras para este agendamento.
# Listar Agendamentos de Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-schedules/listar-agendamentos-de-varredura
api/pt-BR/cve-scans.yaml get /scans/cve/scheduled
Recupera uma lista de todos os agendamentos de varredura de CVE configurados para sua conta. Isso é útil para exibir todas as varreduras configuradas em um dashboard ou para gerenciamento programático.
# Recuperar um Agendamento de Varredura
Source: https://altostrat.io/docs/api/pt-br/scan-schedules/recuperar-um-agendamento-de-varredura
api/pt-BR/cve-scans.yaml get /scans/cve/scheduled/{scanScheduleId}
Busca os detalhes de um agendamento de varredura específico por seu identificador único.
# Agendar um Novo Script
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/agendar-um-novo-script
api/pt-BR/scripts.yaml post /scheduled
Cria uma nova entrada de script agendado. Isso envolve definir o conteúdo do script, selecionar dispositivos de destino (sites), especificar um horário de lançamento e configurar os destinatários da notificação. O script ficará no estado 'não autorizado' até que um fluxo de trabalho de autorização seja concluído.
# Atualizar um Script Agendado
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/atualizar-um-script-agendado
api/pt-BR/scripts.yaml put /scheduled/{scheduledScriptId}
Modifica um script agendado existente. Isso só é possível se o script ainda não tiver sido lançado. A atualização de um script redefinirá seu status de autorização para 'não autorizado', exigindo uma nova aprovação antes que possa ser executado.
# Cancelar ou Excluir um Script Agendado
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/cancelar-ou-excluir-um-script-agendado
api/pt-BR/scripts.yaml delete /scheduled/{scheduledScriptId}
Este endpoint tem dupla funcionalidade. Se o script estiver 'não autorizado' e não tiver sido lançado, ele será excluído permanentemente. Se o script estiver 'agendado' ou 'lançado', ele será marcado como 'cancelado' para impedir a execução futura, mas o registro será mantido.
# Executar Imediatamente um Script Agendado
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/executar-imediatamente-um-script-agendado
api/pt-BR/scripts.yaml put /scheduled/{scheduledScriptId}/run
Aciona uma execução imediata de um script já autorizado, substituindo seu horário agendado 'launch_at'. Isso é útil para implantações urgentes. O script deve estar no estado 'autorizado' para ser executado imediatamente.
# Executar um Teste
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/executar-um-teste
api/pt-BR/scripts.yaml put /scheduled/{scheduledScriptId}/run-test
Envia imediatamente o script para execução no 'test_site_id' designado. Isso permite a validação da lógica e do impacto do script em um ambiente controlado antes de um lançamento em larga escala. O script não precisa ser autorizado para executar um teste.
# Listar Scripts Agendados
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/listar-scripts-agendados
api/pt-BR/scripts.yaml get /scheduled
Recupera uma lista de todos os scripts agendados para execução que são acessíveis pelo usuário autenticado. Isso fornece uma visão geral das tarefas de automação pendentes, em andamento e concluídas.
# Obter Progresso da Execução
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/obter-progresso-da-execução
api/pt-BR/scripts.yaml get /scheduled/{scheduledScriptId}/progress
Recupera o progresso da execução em tempo real para um script que foi lançado. Fornece listas de sites onde o script foi concluído, falhou ou ainda está pendente.
# Obter um Script Agendado
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/obter-um-script-agendado
api/pt-BR/scripts.yaml get /scheduled/{scheduledScriptId}
Busca as informações detalhadas de um único script agendado, incluindo seu status atual, progresso e configuração.
# Solicitar Autorização do Script
Source: https://altostrat.io/docs/api/pt-br/scheduled-scripts/solicitar-autorização-do-script
api/pt-BR/scripts.yaml get /scheduled/{scheduledScriptId}/authorize
Inicia o fluxo de trabalho de autorização para um script 'não autorizado'. Esta ação envia notificações (por exemplo, WhatsApp, e-mail) para os destinatários configurados, contendo um link exclusivo para aprovar a execução do script.
# Atualizar um agendamento
Source: https://altostrat.io/docs/api/pt-br/schedules/atualizar-um-agendamento
api/pt-BR/schedules.yaml put /chrono/schedules/{scheduleId}
Atualiza o agendamento especificado definindo as propriedades no corpo da requisição. Quaisquer propriedades não fornecidas permanecerão inalteradas. Ao atualizar `hours`, o array inteiro é substituído. Ao atualizar `metadata`, fornecer uma chave com valor `null` excluirá essa entrada de metadados.
# Consultar um agendamento
Source: https://altostrat.io/docs/api/pt-br/schedules/consultar-um-agendamento
api/pt-BR/schedules.yaml get /chrono/schedules/{scheduleId}
Recupera os detalhes de um agendamento existente pelo seu identificador único.
# Criar um novo agendamento
Source: https://altostrat.io/docs/api/pt-br/schedules/criar-um-novo-agendamento
api/pt-BR/schedules.yaml post /chrono/schedules
Cria um novo agendamento com um conjunto definido de intervalos de tempo recorrentes. Após a criação, o status `active` do agendamento é calculado automaticamente com base na hora atual e nos intervalos fornecidos.
# Excluir um agendamento
Source: https://altostrat.io/docs/api/pt-br/schedules/excluir-um-agendamento
api/pt-BR/schedules.yaml delete /chrono/schedules/{scheduleId}
Exclui permanentemente um agendamento, incluindo todos os seus intervalos de tempo e metadados associados. Esta ação não pode ser desfeita.
# Listar todos os agendamentos
Source: https://altostrat.io/docs/api/pt-br/schedules/listar-todos-os-agendamentos
api/pt-BR/schedules.yaml get /chrono/schedules
Recupera uma lista de todos os objetos de agendamento pertencentes ao seu workspace. Os agendamentos são retornados ordenados pela data de criação, com os mais recentes aparecendo primeiro.
# Atualizar um Template de Script
Source: https://altostrat.io/docs/api/pt-br/script-templates/atualizar-um-template-de-script
api/pt-BR/scripts.yaml put /templates/{templateId}
Modifica um template de script existente. Esta ação só é permitida em templates que são privados para a organização do usuário e foram criados pelo usuário. Templates globais são somente leitura.
# Criar um Template de Script
Source: https://altostrat.io/docs/api/pt-br/script-templates/criar-um-template-de-script
api/pt-BR/scripts.yaml post /templates
Cria um novo template de script privado para a organização do usuário. Isso permite o armazenamento e a reutilização de scripts padronizados dentro de uma equipe.
# Excluir um Template de Script
Source: https://altostrat.io/docs/api/pt-br/script-templates/excluir-um-template-de-script
api/pt-BR/scripts.yaml delete /templates/{templateId}
Remove permanentemente um template de script privado. Esta ação não pode ser desfeita e só é permitida em templates que o usuário está autorizado a editar.
# Listar Templates de Script
Source: https://altostrat.io/docs/api/pt-br/script-templates/listar-templates-de-script
api/pt-BR/scripts.yaml get /templates
Recupera uma coleção de templates de script. Os templates podem ser filtrados para mostrar públicos (globais), privados (específicos da organização) ou todos os templates acessíveis. Eles também podem ser pesquisados por nome ou descrição.
# Obter um Template de Script
Source: https://altostrat.io/docs/api/pt-br/script-templates/obter-um-template-de-script
api/pt-BR/scripts.yaml get /templates/{templateId}
Busca os detalhes de um template de script específico, incluindo seu conteúdo.
# Ativar Serviço de Failover
Source: https://altostrat.io/docs/api/pt-br/serviço-de-failover/ativar-serviço-de-failover
api/pt-BR/wan-failover.yaml post /v1/failover/{site_id}
Ativa o serviço de Failover de WAN para um site especificado. Este é o primeiro passo para habilitar as capacidades de SD-WAN. A ativação do serviço cria automaticamente dois túneis WAN padrão, não configurados.
# Desativar Serviço de Failover
Source: https://altostrat.io/docs/api/pt-br/serviço-de-failover/desativar-serviço-de-failover
api/pt-BR/wan-failover.yaml delete /v1/failover/{site_id}
Desativa o serviço de Failover de WAN para um site, removendo todos os túneis WAN associados e suas configurações tanto da plataforma Altostrat quanto do roteador local. Esta ação é irreversível.
# Listar Sites com Serviço de Failover
Source: https://altostrat.io/docs/api/pt-br/serviço-de-failover/listar-sites-com-serviço-de-failover
api/pt-BR/wan-failover.yaml get /v1/failover/service-counts
Recupera uma lista de todos os sites associados ao usuário autenticado que têm o serviço de Failover de WAN atualmente ativado.
# Obter Status do Serviço de Failover
Source: https://altostrat.io/docs/api/pt-br/serviço-de-failover/obter-status-do-serviço-de-failover
api/pt-BR/wan-failover.yaml get /v1/failover/{site_id}
Verifica o status do serviço de Failover de WAN para um site específico, retornando o ID da assinatura se estiver ativo.
# Baixar um arquivo de documento
Source: https://altostrat.io/docs/api/pt-br/site-files/baixar-um-arquivo-de-documento
api/pt-BR/metadata.yaml get /sites/{siteId}/documents/{documentId}
Baixa um arquivo de documento específico associado a um site.
# Baixar um arquivo de mídia
Source: https://altostrat.io/docs/api/pt-br/site-files/baixar-um-arquivo-de-mídia
api/pt-BR/metadata.yaml get /sites/{siteId}/media/{mediaId}
Baixa um arquivo de mídia específico associado a um site.
# Criar uma nota de site
Source: https://altostrat.io/docs/api/pt-br/site-files/criar-uma-nota-de-site
api/pt-BR/metadata.yaml post /sites/{siteId}/notes
Cria uma nova nota em markdown e a anexa ao site especificado.
# Excluir um arquivo de documento
Source: https://altostrat.io/docs/api/pt-br/site-files/excluir-um-arquivo-de-documento
api/pt-BR/metadata.yaml delete /sites/{siteId}/documents/{documentId}
Exclui permanentemente um arquivo de documento de um site.
# Excluir um arquivo de mídia
Source: https://altostrat.io/docs/api/pt-br/site-files/excluir-um-arquivo-de-mídia
api/pt-BR/metadata.yaml delete /sites/{siteId}/media/{mediaId}
Exclui permanentemente um arquivo de mídia de um site.
# Excluir uma nota de site
Source: https://altostrat.io/docs/api/pt-br/site-files/excluir-uma-nota-de-site
api/pt-BR/metadata.yaml delete /sites/{siteId}/notes/{noteId}
Exclui permanentemente uma nota de um site.
# Listar notas do site
Source: https://altostrat.io/docs/api/pt-br/site-files/listar-notas-do-site
api/pt-BR/metadata.yaml get /sites/{siteId}/notes
Recupera uma lista de todas as notas em markdown associadas a um site específico.
# Obter conteúdo da nota do site
Source: https://altostrat.io/docs/api/pt-br/site-files/obter-conteúdo-da-nota-do-site
api/pt-BR/metadata.yaml get /sites/{siteId}/notes/{noteId}
Baixa o conteúdo bruto em Markdown de uma nota de site específica.
# Obter URL de upload de documento
Source: https://altostrat.io/docs/api/pt-br/site-files/obter-url-de-upload-de-documento
api/pt-BR/metadata.yaml post /sites/{siteId}/documents
Solicita uma URL pré-assinada que pode ser usada para enviar um arquivo de documento (ex: PDF, DOCX) diretamente para o armazenamento seguro. Você deve realizar uma requisição PUT para a `signed_url` retornada com o conteúdo do arquivo como corpo da requisição.
# Obter URL de upload de mídia
Source: https://altostrat.io/docs/api/pt-br/site-files/obter-url-de-upload-de-mídia
api/pt-BR/metadata.yaml post /sites/{siteId}/media
Solicita uma URL pré-assinada que pode ser usada para enviar um arquivo de mídia (ex: imagem, vídeo) diretamente para o armazenamento seguro. Você deve realizar uma requisição PUT para a `signed_url` retornada com o conteúdo do arquivo como corpo da requisição.
# Executar uma ação em um site
Source: https://altostrat.io/docs/api/pt-br/site-operations/executar-uma-ação-em-um-site
api/pt-BR/control-plane.yaml post /sites/{siteId}/action
Envia um comando para um site para executar uma ação específica e predefinida. Isso é usado para operações remotas como reiniciar ou limpar regras de firewall.
Ações disponíveis: - `site.upgrade`: Dispara uma atualização de software no dispositivo. - `site.clear_firewall`: Limpa as regras de firewall do dispositivo. - `site.reboot`: Reinicia o dispositivo. - `site.recreate_management_filter`: Reaplica as regras de firewall de gerenciamento da Altostrat. - `site.recreate_tunnel`: Derruba e reconstrói o túnel seguro para a plataforma. - `site.resend_api_user`: Envia novamente as credenciais atuais do usuário da API para o dispositivo.
# Obter credenciais de API para um site
Source: https://altostrat.io/docs/api/pt-br/site-operations/obter-credenciais-de-api-para-um-site
api/pt-BR/control-plane.yaml get /sites/{siteId}/credentials
Recupera as credenciais de API atuais para um site. Essas credenciais são usadas pela plataforma Altostrat para gerenciar o dispositivo.
# Obter servidor de gerenciamento para um site
Source: https://altostrat.io/docs/api/pt-br/site-operations/obter-servidor-de-gerenciamento-para-um-site
api/pt-BR/control-plane.yaml get /sites/{siteId}/management-server
Recupera o hostname do servidor de gerenciamento Altostrat atualmente responsável pelo túnel seguro do site. Isso é útil para diagnósticos.
# Rotacionar credenciais de API para um site
Source: https://altostrat.io/docs/api/pt-br/site-operations/rotacionar-credenciais-de-api-para-um-site
api/pt-BR/control-plane.yaml post /sites/{siteId}/credentials
Gera novas credenciais de API para o site especificado. As credenciais antigas serão invalidadas e substituídas no dispositivo.
# Anexar Política de BGP a um Site
Source: https://altostrat.io/docs/api/pt-br/site-security-configuration/anexar-política-de-bgp-a-um-site
api/pt-BR/utm-ips.yaml post /sites/{siteId}/bgp
Anexa uma política de Inteligência de Ameaças BGP a um site específico, ativando o bloqueio de reputação de IP para aquele site.
# Anexar Política de DNS a um Site
Source: https://altostrat.io/docs/api/pt-br/site-security-configuration/anexar-política-de-dns-a-um-site
api/pt-BR/utm-ips.yaml post /sites/{siteId}/dns
Anexa uma política de Filtragem de Conteúdo DNS a um site específico, ativando suas regras para todo o tráfego daquele site.
# Desanexar Política de BGP de um Site
Source: https://altostrat.io/docs/api/pt-br/site-security-configuration/desanexar-política-de-bgp-de-um-site
api/pt-BR/utm-ips.yaml delete /sites/{siteId}/bgp
Desanexa a política de Inteligência de Ameaças BGP atualmente ativa de um site específico, desativando o bloqueio de reputação de IP.
# Desanexar Política de DNS de um Site
Source: https://altostrat.io/docs/api/pt-br/site-security-configuration/desanexar-política-de-dns-de-um-site
api/pt-BR/utm-ips.yaml delete /sites/{siteId}/dns
Desanexa a política de Filtragem de Conteúdo DNS atualmente ativa de um site específico, desativando suas regras.
# Listar Todas as Configurações de Segurança de Sites
Source: https://altostrat.io/docs/api/pt-br/site-security-configuration/listar-todas-as-configurações-de-segurança-de-sites
api/pt-BR/utm-ips.yaml get /tunnel
Recupera uma lista de todos os sites (túneis) associados à sua conta e suas atuais anexações de políticas de segurança.
# Obter a Configuração de Segurança de um Site
Source: https://altostrat.io/docs/api/pt-br/site-security-configuration/obter-a-configuração-de-segurança-de-um-site
api/pt-BR/utm-ips.yaml get /tunnel/{siteId}
Recupera as atuais anexações de políticas de DNS e BGP para um site específico.
# Listar usuários de um site
Source: https://altostrat.io/docs/api/pt-br/site-users/listar-usuários-de-um-site
api/pt-BR/captive-portal.yaml get /sites/{siteId}/users
Recupera uma lista paginada de usuários que se conectaram através do portal cativo em um site específico.
# Atualizar um Site
Source: https://altostrat.io/docs/api/pt-br/sites/atualizar-um-site
api/pt-BR/mikrotik-api.yaml patch /sites/{siteId}
Atualiza as propriedades mutáveis de um site, como seu nome, localização ou fuso horário. Apenas os campos fornecidos no corpo da requisição serão atualizados.
# Excluir um Site
Source: https://altostrat.io/docs/api/pt-br/sites/excluir-um-site
api/pt-BR/mikrotik-api.yaml delete /sites/{siteId}
Agenda um site para exclusão. O dispositivo receberá um comando para remover seu agendador de bootstrap e, após um período de carência, o registro do site e todos os dados associados serão removidos permanentemente.
# Listar Sites
Source: https://altostrat.io/docs/api/pt-br/sites/listar-sites
api/pt-BR/mikrotik-api.yaml get /sites
Recupera uma lista paginada de todos os sites MikroTik associados ao espaço de trabalho do usuário autenticado.
# Listar Sites (Mínimo)
Source: https://altostrat.io/docs/api/pt-br/sites/listar-sites-mínimo
api/pt-BR/mikrotik-api.yaml get /site-minimal
Recupera uma lista condensada de sites MikroTik, adequada para elementos de UI como menus de navegação, onde apenas informações essenciais são necessárias.
# Listar Sites Recentes
Source: https://altostrat.io/docs/api/pt-br/sites/listar-sites-recentes
api/pt-BR/mikrotik-api.yaml get /sites/recent
Retorna uma lista dos 5 sites acessados mais recentemente pelo usuário autenticado, ordenados pelo acesso mais recente.
# Listar Todos os Sites
Source: https://altostrat.io/docs/api/pt-br/sites/listar-todos-os-sites
api/pt-BR/generative-ai.yaml get /sites
Recupera uma lista simplificada de todos os sites (roteadores MikroTik) gerenciados na organização. Este endpoint é otimizado para performance e é ideal para preencher interfaces de usuário ou obter IDs de sites para uso em outras chamadas de API.
# Obter Informações OEM do Site
Source: https://altostrat.io/docs/api/pt-br/sites/obter-informações-oem-do-site
api/pt-BR/generative-ai.yaml get /sites/{siteId}/oem
Recupera informações detalhadas do Fabricante de Equipamento Original (OEM) para um roteador MikroTik específico implantado. Isso inclui especificações de hardware, números de série, CPU, RAM e o nível da licença do RouterOS.
# Obter Metadados do Site
Source: https://altostrat.io/docs/api/pt-br/sites/obter-metadados-do-site
api/pt-BR/generative-ai.yaml get /sites/{siteId}/metadata
Recupera metadados de formato livre associados a um site específico. Isso pode incluir o nome atribuído ao roteador, fuso horário configurado, mensagens de banner personalizadas, notas ou outras tags definidas pelo usuário.
# Obter Métricas do Site
Source: https://altostrat.io/docs/api/pt-br/sites/obter-métricas-do-site
api/pt-BR/generative-ai.yaml get /sites/{siteId}/metrics
Recupera métricas de tempo de atividade (uptime) e inatividade (downtime) para um site específico nas últimas 24 horas, com base nos sinais de heartbeat recebidos pela plataforma Altostrat.
# Obter um Site
Source: https://altostrat.io/docs/api/pt-br/sites/obter-um-site
api/pt-BR/mikrotik-api.yaml get /sites/{siteId}
Recupera os detalhes completos de um site MikroTik específico pelo seu identificador único (UUID).
# Atualizar um Agendamento de Relatório
Source: https://altostrat.io/docs/api/pt-br/sla-report-schedules/atualizar-um-agendamento-de-relatório
api/pt-BR/reports.yaml put /sla/schedules/{scheduleId}
Atualiza a configuração de um agendamento de relatório de SLA existente.
# Criar Agendamento de Relatório de SLA
Source: https://altostrat.io/docs/api/pt-br/sla-report-schedules/criar-agendamento-de-relatório-de-sla
api/pt-BR/reports.yaml post /sla/schedules
Cria um novo agendamento de relatório de SLA. Este agendamento define um relatório recorrente, incluindo sua frequência, critérios de seleção de sites e metas de SLA. O `id` para o agendamento será gerado pelo servidor.
# Excluir um Agendamento de Relatório
Source: https://altostrat.io/docs/api/pt-br/sla-report-schedules/excluir-um-agendamento-de-relatório
api/pt-BR/reports.yaml delete /sla/schedules/{scheduleId}
Exclui permanentemente um agendamento de relatório de SLA. Esta ação não pode ser desfeita.
# Executar um Relatório Sob Demanda
Source: https://altostrat.io/docs/api/pt-br/sla-report-schedules/executar-um-relatório-sob-demanda
api/pt-BR/reports.yaml post /sla/schedules/{scheduleId}/run
Dispara uma geração imediata e sob demanda de um relatório para um intervalo de datas especificado. Isso não afeta o agendamento regular. A geração do relatório é assíncrona e o resultado aparecerá na lista de Relatórios Gerados quando concluído.
# Listar Agendamentos de Relatórios de SLA
Source: https://altostrat.io/docs/api/pt-br/sla-report-schedules/listar-agendamentos-de-relatórios-de-sla
api/pt-BR/reports.yaml get /sla/schedules
Recupera uma lista de todos os agendamentos de relatórios de SLA configurados para o workspace do cliente autenticado.
# Obter um Agendamento de Relatório
Source: https://altostrat.io/docs/api/pt-br/sla-report-schedules/obter-um-agendamento-de-relatório
api/pt-BR/reports.yaml get /sla/schedules/{scheduleId}
Recupera os detalhes de um único agendamento de relatório de SLA por seu ID exclusivo.
# Aplicar uma tag a um recurso
Source: https://altostrat.io/docs/api/pt-br/tag-values/aplicar-uma-tag-a-um-recurso
api/pt-BR/metadata.yaml post /tags/{tagId}/values
Aplica uma tag com um valor específico a um recurso, identificado por seu `correlation_id` e `correlation_type`. Se uma tag com o mesmo valor (sem diferenciar maiúsculas de minúsculas) já existir para esta definição de tag, o valor canônico existente será usado.
# Atualizar uma tag em um recurso
Source: https://altostrat.io/docs/api/pt-br/tag-values/atualizar-uma-tag-em-um-recurso
api/pt-BR/metadata.yaml put /tags/{tagId}/values/{correlationId}
Atualiza o valor de uma tag em um recurso específico. Isso é efetivamente o mesmo que criar um novo valor de tag, pois substituirá qualquer valor existente para essa tag no recurso.
# Encontrar recursos por valor de tag
Source: https://altostrat.io/docs/api/pt-br/tag-values/encontrar-recursos-por-valor-de-tag
api/pt-BR/metadata.yaml get /tags/{tagId}/resources
Recupera uma lista de todos os recursos que têm uma tag específica aplicada com um valor específico. Esta é uma consulta poderosa para filtrar recursos com base em suas classificações.
# Listar tags de um recurso
Source: https://altostrat.io/docs/api/pt-br/tag-values/listar-tags-de-um-recurso
api/pt-BR/metadata.yaml get /resources/{correlationId}/tags
Recupera todas as tags que foram aplicadas a um recurso específico.
# Listar valores únicos para uma tag
Source: https://altostrat.io/docs/api/pt-br/tag-values/listar-valores-únicos-para-uma-tag
api/pt-BR/metadata.yaml get /tags/{tagId}/values
Recupera uma lista de valores únicos que foram aplicados a recursos usando uma definição de tag específica. Isso é útil para preencher menus suspensos ou campos de autocompletar em uma interface de usuário.
# Remover uma tag de um recurso
Source: https://altostrat.io/docs/api/pt-br/tag-values/remover-uma-tag-de-um-recurso
api/pt-BR/metadata.yaml delete /tags/{tagId}/values/{correlationId}
Remove uma tag específica de um recurso. Isso não exclui a definição da tag em si.
# Atualizar uma definição de tag
Source: https://altostrat.io/docs/api/pt-br/tags/atualizar-uma-definição-de-tag
api/pt-BR/metadata.yaml put /tags/{tagId}
Atualiza as propriedades de uma definição de tag existente, como sua chave ou cor.
# Criar uma definição de tag
Source: https://altostrat.io/docs/api/pt-br/tags/criar-uma-definição-de-tag
api/pt-BR/metadata.yaml post /tags
Cria uma nova definição de tag. Uma definição de tag atua como um modelo ou categoria (ex: "Tipo de Site", "Prioridade") que pode então ser aplicada a vários recursos.
# Excluir uma definição de tag
Source: https://altostrat.io/docs/api/pt-br/tags/excluir-uma-definição-de-tag
api/pt-BR/metadata.yaml delete /tags/{tagId}
Exclui permanentemente uma definição de tag e todos os seus valores associados de todos os recursos. Esta ação não pode ser desfeita.
# Listar todas as definições de tag
Source: https://altostrat.io/docs/api/pt-br/tags/listar-todas-as-definições-de-tag
api/pt-BR/metadata.yaml get /tags
Recupera uma lista de todas as definições de tag para o seu workspace. Cada definição de tag inclui sua chave, cor e uma lista de todos os valores atualmente aplicados aos recursos. Isso é útil para entender os esquemas de classificação disponíveis em seu ambiente.
# Recuperar uma definição de tag
Source: https://altostrat.io/docs/api/pt-br/tags/recuperar-uma-definição-de-tag
api/pt-BR/metadata.yaml get /tags/{tagId}
Recupera os detalhes de uma definição de tag específica por seu ID único. Isso inclui todos os valores que foram aplicados a recursos usando esta tag.
# Gerar um token de acesso temporário
Source: https://altostrat.io/docs/api/pt-br/tokens-de-acesso/gerar-um-token-de-acesso-temporário
api/pt-BR/faults.yaml post /token
Gera um JSON Web Token (JWT) de curta duração que pode ser usado para fornecer acesso temporário e somente leitura a dados de falhas específicos, normalmente para incorporação em dashboards externos.
# Listar Tópicos Disponíveis
Source: https://altostrat.io/docs/api/pt-br/topics/listar-tópicos-disponíveis
api/pt-BR/notifications.yaml get /notifications/topics
Recupera uma lista de todos os tópicos de notificação disponíveis. Estas são as categorias de eventos que os grupos de notificação podem assinar.
# Criar uma sessão de acesso transitório
Source: https://altostrat.io/docs/api/pt-br/transient-access/criar-uma-sessão-de-acesso-transitório
api/pt-BR/control-plane.yaml post /sites/{siteId}/transient-accesses
Cria uma sessão temporária e segura para acessar um site via Winbox ou SSH. A sessão é revogada automaticamente após a duração especificada.
# Listar acessos transitórios para um site
Source: https://altostrat.io/docs/api/pt-br/transient-access/listar-acessos-transitórios-para-um-site
api/pt-BR/control-plane.yaml get /sites/{siteId}/transient-accesses
Recupera uma lista de todas as sessões de acesso transitório ativas e expiradas para um site específico.
# Obter uma sessão de acesso transitório
Source: https://altostrat.io/docs/api/pt-br/transient-access/obter-uma-sessão-de-acesso-transitório
api/pt-BR/control-plane.yaml get /sites/{siteId}/transient-accesses/{accessId}
Recupera os detalhes de uma única sessão de acesso transitório.
# Revogar uma sessão de acesso transitório
Source: https://altostrat.io/docs/api/pt-br/transient-access/revogar-uma-sessão-de-acesso-transitório
api/pt-BR/control-plane.yaml delete /sites/{siteId}/transient-accesses/{accessId}
Revoga imediatamente uma sessão de acesso transitório ativa, terminando a conexão e impedindo o acesso futuro.
# Criar um redirecionamento de porta transitório
Source: https://altostrat.io/docs/api/pt-br/transient-port-forwarding/criar-um-redirecionamento-de-porta-transitório
api/pt-BR/control-plane.yaml post /sites/{siteId}/transient-forward
Cria uma regra de redirecionamento de porta temporária e segura. Isso permite que você acesse um dispositivo (por exemplo, um servidor ou câmera) na LAN por trás do seu site MikroTik a partir de um endereço IP público específico.
# Listar redirecionamentos de porta transitórios para um site
Source: https://altostrat.io/docs/api/pt-br/transient-port-forwarding/listar-redirecionamentos-de-porta-transitórios-para-um-site
api/pt-BR/control-plane.yaml get /sites/{siteId}/transient-forward
Recupera uma lista de todas as regras de redirecionamento de porta transitórias ativas e expiradas para um site específico.
# Obter um redirecionamento de porta transitório
Source: https://altostrat.io/docs/api/pt-br/transient-port-forwarding/obter-um-redirecionamento-de-porta-transitório
api/pt-BR/control-plane.yaml get /sites/{siteId}/transient-forward/{forwardId}
Recupera os detalhes de uma única regra de redirecionamento de porta transitória.
# Revogar um redirecionamento de porta transitório
Source: https://altostrat.io/docs/api/pt-br/transient-port-forwarding/revogar-um-redirecionamento-de-porta-transitório
api/pt-BR/control-plane.yaml delete /sites/{siteId}/transient-forward/{forwardId}
Revoga imediatamente uma regra de redirecionamento de porta ativa, fechando a conexão.
# Listar Túneis WAN do Site
Source: https://altostrat.io/docs/api/pt-br/túneis-wan-e-desempenho/listar-túneis-wan-do-site
api/pt-BR/monitoring-metrics.yaml get /v1/monitoring/wan-tunnels/{siteId}
Recupera uma lista de todos os túneis SD-WAN configurados para um site específico.
# Obter Estatísticas de Ping Agregadas
Source: https://altostrat.io/docs/api/pt-br/túneis-wan-e-desempenho/obter-estatísticas-de-ping-agregadas
api/pt-BR/monitoring-metrics.yaml post /v1/monitoring/wan/ping-stats
Busca dados de séries temporais agregados para latência, jitter (mdev) e perda de pacotes para um ou mais túneis WAN durante um período de tempo especificado. Se nenhum túnel for especificado, retorna uma média agregada de todos os túneis. Este endpoint é otimizado para criar gráficos de desempenho com um número especificado de pontos de dados.
# Adicionar um novo Túnel WAN
Source: https://altostrat.io/docs/api/pt-br/túneis-wan/adicionar-um-novo-túnel-wan
api/pt-BR/wan-failover.yaml post /v1/failover/{site_id}/tunnels
Cria um novo túnel WAN não configurado para o site, até o máximo permitido pela assinatura. Após a criação, você deve usar uma requisição `PUT` para `/v1/failover/{site_id}/tunnels/{tunnel_id}` para configurar suas propriedades, como interface e gateway.
# Atualizar Prioridades dos Túneis
Source: https://altostrat.io/docs/api/pt-br/túneis-wan/atualizar-prioridades-dos-túneis
api/pt-BR/wan-failover.yaml post /v1/failover/{site_id}/priorities
Reordena a prioridade de failover para todos os túneis associados a um site. Esta é uma operação atômica; você deve fornecer uma lista completa de todos os túneis e suas novas prioridades desejadas. O número mais baixo representa a prioridade mais alta.
# Configurar um Túnel WAN
Source: https://altostrat.io/docs/api/pt-br/túneis-wan/configurar-um-túnel-wan
api/pt-BR/wan-failover.yaml put /v1/failover/{site_id}/tunnels/{tunnel_id}
Atualiza a configuração de um túnel WAN específico. Este é o endpoint principal para definir como uma conexão WAN opera, incluindo sua interface de roteador, gateway e tipo de conexão.
# Excluir um Túnel WAN
Source: https://altostrat.io/docs/api/pt-br/túneis-wan/excluir-um-túnel-wan
api/pt-BR/wan-failover.yaml delete /v1/failover/{site_id}/tunnels/{tunnel_id}
Exclui permanentemente um túnel WAN da configuração de failover. O sistema irá automaticamente repriorizar os túneis restantes.
# Listar Túneis de um Site
Source: https://altostrat.io/docs/api/pt-br/túneis-wan/listar-túneis-de-um-site
api/pt-BR/wan-failover.yaml get /v1/failover/{site_id}/tunnels
Recupera uma lista detalhada de todos os túneis WAN configurados para um site específico.
# Obter um Túnel Específico
Source: https://altostrat.io/docs/api/pt-br/túneis-wan/obter-um-túnel-específico
api/pt-BR/wan-failover.yaml get /v1/failover/{site_id}/tunnels/{tunnel_id}
Recupera a configuração detalhada e o status de um único túnel WAN.
# Listar regiões de servidor disponíveis
Source: https://altostrat.io/docs/api/pt-br/utilities/listar-regiões-de-servidor-disponíveis
api/pt-BR/managed-vpn.yaml get /servers/regions
Recupera uma lista estruturada de todas as regiões geográficas disponíveis onde uma instância de VPN pode ser implantada.
# Listar sub-redes de um site
Source: https://altostrat.io/docs/api/pt-br/utilities/listar-sub-redes-de-um-site
api/pt-BR/managed-vpn.yaml get /site/{siteId}/subnets
Recupera uma lista de sub-redes disponíveis para um site específico, o que é útil ao configurar peers site-to-site.
# Listar tipos de nós disponíveis
Source: https://altostrat.io/docs/api/pt-br/utilities/listar-tipos-de-nós-disponíveis
api/pt-BR/workflows.yaml get /workflows/node-types
Recupera uma lista de todos os tipos de nós disponíveis (gatilhos, ações e condições) que podem ser usados para construir workflows, juntamente com seus schemas de configuração.
# Testar um único nó
Source: https://altostrat.io/docs/api/pt-br/utilities/testar-um-único-nó
api/pt-BR/workflows.yaml post /workflows/test-node
Executa um único nó de workflow isoladamente com um contexto fornecido. Esta é uma poderosa ferramenta de depuração para testar a lógica de um nó sem executar um workflow inteiro.
# Atualizar um item do cofre (vault)
Source: https://altostrat.io/docs/api/pt-br/vault/atualizar-um-item-do-cofre-vault
api/pt-BR/workflows.yaml put /vault/{vaultId}
Atualiza um item do cofre existente, como seu nome, valor secreto ou data de expiração.
# Criar um item no cofre (vault)
Source: https://altostrat.io/docs/api/pt-br/vault/criar-um-item-no-cofre-vault
api/pt-BR/workflows.yaml post /vault
Cria um novo item no cofre para armazenar informações sensíveis como chaves de API ou senhas. O valor secreto é criptografado em repouso e só pode ser usado por workflows.
# Excluir um item do cofre (vault)
Source: https://altostrat.io/docs/api/pt-br/vault/excluir-um-item-do-cofre-vault
api/pt-BR/workflows.yaml delete /vault/{vaultId}
Exclui permanentemente um item do cofre. Esta ação não pode ser desfeita. Quaisquer workflows que usem este item falharão.
# Listar itens do cofre (vault)
Source: https://altostrat.io/docs/api/pt-br/vault/listar-itens-do-cofre-vault
api/pt-BR/workflows.yaml get /vault
Recupera uma lista de todos os itens secretos armazenados no cofre da sua organização. Os valores secretos em si nunca são retornados.
# Obter um item do cofre (vault)
Source: https://altostrat.io/docs/api/pt-br/vault/obter-um-item-do-cofre-vault
api/pt-BR/workflows.yaml get /vault/{vaultId}
Recupera os detalhes de um único item do cofre pelo seu ID prefixado. O valor secreto nunca é retornado.
# Listar Todos os Endereços MAC Verificados
Source: https://altostrat.io/docs/api/pt-br/vulnerability-intelligence/listar-todos-os-endereços-mac-verificados
api/pt-BR/cve-scans.yaml get /scans/cve/mac-address/cve/list
Recupera uma lista de todos os endereços MAC únicos que foram descobertos em todas as varreduras para sua conta. Isso pode ser usado para preencher um inventário de dispositivos ou para descobrir quais dispositivos consultar para CVEs.
# Obter CVEs por Endereço MAC
Source: https://altostrat.io/docs/api/pt-br/vulnerability-intelligence/obter-cves-por-endereço-mac
api/pt-BR/cve-scans.yaml post /scans/cve/mac-address/cves
Recupera todas as vulnerabilidades descobertas (CVEs) associadas a uma lista específica de endereços MAC em todas as varreduras históricas. Este é o endpoint principal para rastrear o histórico de vulnerabilidades de um dispositivo.
Nota: Este endpoint usa POST para permitir a consulta de múltiplos endereços MAC no corpo da requisição, o que é mais robusto e seguro do que uma longa URL GET.
# Obter Passos de Mitigação
Source: https://altostrat.io/docs/api/pt-br/vulnerability-intelligence/obter-passos-de-mitigação
api/pt-BR/cve-scans.yaml get /scans/cve/mitigation/{cve_id}
Fornece passos de mitigação acionáveis e gerados por IA para um identificador de CVE específico. A resposta é formatada em Markdown para fácil renderização.
# Atualizar Status de CVE
Source: https://altostrat.io/docs/api/pt-br/vulnerability-management/atualizar-status-de-cve
api/pt-BR/cve-scans.yaml post /scans/cve/mac-address/cve/status
Atualiza o status de um CVE específico para um determinado endereço MAC. Use isso para marcar uma vulnerabilidade como 'aceita' (ex um falso positivo ou risco aceitável) ou 'mitigada' (ex um patch foi aplicado ou uma solução de contorno está em vigor). Cada atualização cria um novo registro histórico.
# Listar Status de CVEs
Source: https://altostrat.io/docs/api/pt-br/vulnerability-management/listar-status-de-cves
api/pt-BR/cve-scans.yaml get /scans/cve/mac-address/cve/status
Recupera uma lista de todos os status de CVE gerenciados. Você pode filtrar os resultados por endereço MAC, ID do CVE ou status para encontrar registros específicos.
# Atualizar uma entrada do walled garden
Source: https://altostrat.io/docs/api/pt-br/walled-garden/atualizar-uma-entrada-do-walled-garden
api/pt-BR/captive-portal.yaml put /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Atualiza os detalhes de uma entrada do walled garden, como seu nome. O endereço IP não pode ser alterado.
# Criar uma entrada no walled garden
Source: https://altostrat.io/docs/api/pt-br/walled-garden/criar-uma-entrada-no-walled-garden
api/pt-BR/captive-portal.yaml post /sites/{siteId}/walled-garden-entries
Adiciona um novo endereço IP ou sub-rede ao walled garden para um site específico, permitindo que os usuários o acessem antes de se autenticar.
# Excluir uma entrada do walled garden
Source: https://altostrat.io/docs/api/pt-br/walled-garden/excluir-uma-entrada-do-walled-garden
api/pt-BR/captive-portal.yaml delete /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Remove uma entrada do walled garden, bloqueando o acesso pré-autenticação ao endereço IP ou sub-rede especificado.
# Listar entradas do walled garden para um site
Source: https://altostrat.io/docs/api/pt-br/walled-garden/listar-entradas-do-walled-garden-para-um-site
api/pt-BR/captive-portal.yaml get /sites/{siteId}/walled-garden-entries
Recupera uma lista de todas as entradas do walled garden (destinos permitidos pré-autenticação) para um site específico.
# Obter uma entrada do walled garden
Source: https://altostrat.io/docs/api/pt-br/walled-garden/obter-uma-entrada-do-walled-garden
api/pt-BR/captive-portal.yaml get /sites/{siteId}/walled-garden-entries/{walledGardenEntryId}
Recupera os detalhes de uma entrada específica do walled garden.
# Disparar um workflow via webhook
Source: https://altostrat.io/docs/api/pt-br/webhooks/disparar-um-workflow-via-webhook
api/pt-BR/workflows.yaml post /workflows/webhooks/{webhookToken}
Um endpoint público para disparar um workflow que possui um `webhook_trigger`. A autenticação é tratada pelo token secreto e único no caminho da URL. O corpo inteiro da requisição estará disponível no contexto do workflow.
# Executar um workflow
Source: https://altostrat.io/docs/api/pt-br/workflow-runs/executar-um-workflow
api/pt-BR/workflows.yaml post /workflows/{workflowId}/execute
Dispara manualmente a execução de um workflow. O workflow será executado de forma assíncrona em segundo plano. A resposta confirma que a execução foi aceita e fornece o ID da nova execução do workflow.
# Listar execuções de workflow
Source: https://altostrat.io/docs/api/pt-br/workflow-runs/listar-execuções-de-workflow
api/pt-BR/workflows.yaml get /workflows/{workflowId}/executions
Recupera uma lista paginada de todas as execuções (runs) passadas e atuais de um workflow específico, ordenadas pela mais recente.
# Obter uma execução de workflow
Source: https://altostrat.io/docs/api/pt-br/workflow-runs/obter-uma-execução-de-workflow
api/pt-BR/workflows.yaml get /workflows/runs/{runId}
Recupera os detalhes de uma única execução de workflow, incluindo seu status, payload do gatilho, mensagem de erro (se houver) e um log completo e ordenado de cada etapa executada.
# Re-executar um workflow
Source: https://altostrat.io/docs/api/pt-br/workflow-runs/re-executar-um-workflow
api/pt-BR/workflows.yaml post /workflows/runs/{runId}/rerun
Cria uma nova execução de workflow usando o mesmo payload de gatilho inicial de uma execução anterior. Isso é útil para tentar novamente uma execução falha ou concluída com os dados de entrada originais.
# Retomar um workflow com falha
Source: https://altostrat.io/docs/api/pt-br/workflow-runs/retomar-um-workflow-com-falha
api/pt-BR/workflows.yaml post /workflows/runs/{runId}/resume-from/{nodeId}
Retoma uma execução de workflow com falha a partir de um nó específico concluído com sucesso. Uma nova execução de workflow é criada, herdando o contexto da execução original até o nó especificado, e a execução continua a partir daí.
# Atualizar um workflow
Source: https://altostrat.io/docs/api/pt-br/workflows/atualizar-um-workflow
api/pt-BR/workflows.yaml put /workflows/{workflowId}
Atualiza um workflow existente. Você pode atualizar qualquer propriedade, incluindo o nome, descrição, status de ativo, agendamento ou o grafo inteiro de nós e arestas.
# Criar um novo workflow
Source: https://altostrat.io/docs/api/pt-br/workflows/criar-um-novo-workflow
api/pt-BR/workflows.yaml post /workflows
Cria uma nova definição de workflow, incluindo seus nós e arestas que definem o grafo de automação. Um workflow válido deve ter exatamente um nó de gatilho.
# Excluir um workflow
Source: https://altostrat.io/docs/api/pt-br/workflows/excluir-um-workflow
api/pt-BR/workflows.yaml delete /workflows/{workflowId}
Exclui permanentemente um workflow e todas as suas execuções e logs associados. Esta ação não pode ser desfeita. Um workflow não pode ser excluído se estiver sendo chamado por outro workflow.
# Executar um workflow síncrono
Source: https://altostrat.io/docs/api/pt-br/workflows/executar-um-workflow-síncrono
api/pt-BR/workflows.yaml post /workflows/sync/{workflowId}
Executa um workflow que contém um `sync_request_trigger` e retorna o resultado imediatamente. O workflow deve ser projetado para execução síncrona, o que significa que não pode conter tarefas de longa duração, como atrasos ou iteradores. O nó final deve ser um nó `text_transform` configurado como a resposta.
# Listar todos os workflows
Source: https://altostrat.io/docs/api/pt-br/workflows/listar-todos-os-workflows
api/pt-BR/workflows.yaml get /workflows
Recupera uma lista de todos os workflows pertencentes à sua organização. Este endpoint é útil para exibições em dashboards ou para selecionar um workflow para executar ou editar.
# Obter um workflow
Source: https://altostrat.io/docs/api/pt-br/workflows/obter-um-workflow
api/pt-BR/workflows.yaml get /workflows/{workflowId}
Recupera os detalhes completos de um único workflow pelo seu ID prefixado, incluindo sua configuração completa de nós и arestas.
# Arquivar um workspace
Source: https://altostrat.io/docs/api/pt-br/workspaces/arquivar-um-workspace
api/pt-BR/workspaces.yaml delete /workspaces/{workspaceId}
Arquiva um workspace, impedindo quaisquer modificações futuras. Um workspace não pode ser arquivado se contiver organizações com uso ativo de recursos ou contas de faturamento com assinaturas ativas. Esta é uma operação de exclusão lógica (soft-delete). Apenas proprietários do workspace podem realizar esta ação.
# Atualizar um workspace
Source: https://altostrat.io/docs/api/pt-br/workspaces/atualizar-um-workspace
api/pt-BR/workspaces.yaml patch /workspaces/{workspaceId}
Atualiza o workspace especificado, definindo os valores dos parâmetros passados. Quaisquer parâmetros não fornecidos permanecerão inalterados. Apenas proprietários e administradores do workspace podem realizar esta ação.
# Criar um workspace
Source: https://altostrat.io/docs/api/pt-br/workspaces/criar-um-workspace
api/pt-BR/workspaces.yaml post /workspaces
Cria um novo workspace, que atua como um contêiner de nível superior para seus recursos, usuários e configurações de faturamento. O usuário que cria o workspace recebe automaticamente a função de 'proprietário' (owner).
# Listar workspaces
Source: https://altostrat.io/docs/api/pt-br/workspaces/listar-workspaces
api/pt-BR/workspaces.yaml get /workspaces
Retorna uma lista de workspaces dos quais o usuário autenticado é membro.
# Obter um workspace
Source: https://altostrat.io/docs/api/pt-br/workspaces/obter-um-workspace
api/pt-BR/workspaces.yaml get /workspaces/{workspaceId}
Obtém os detalhes de um workspace existente. Você deve ser um membro do workspace para obtê-lo.
# Accounts
Source: https://altostrat.io/docs/radius/core-concepts/accounts
...
# Containers
Source: https://altostrat.io/docs/radius/core-concepts/containers
...
# Groups
Source: https://altostrat.io/docs/radius/core-concepts/groups
...
# NAS Devices
Source: https://altostrat.io/docs/radius/core-concepts/nas-devices
...
# RADIUS Attributes
Source: https://altostrat.io/docs/radius/core-concepts/radius-attributes
...
# Realms
Source: https://altostrat.io/docs/radius/core-concepts/realms
...
# Tags
Source: https://altostrat.io/docs/radius/core-concepts/tags
...
# Configuring RadSec for Secure Communication
Source: https://altostrat.io/docs/radius/guide-and-tutorials/managing-your-network/configuring-radsec-for-secure-communication
Set up RadSec to enable encrypted RADIUS communication using TLS
# Configuring RadSec for Secure Communication
Content coming soon.
# Locking a NAS to a Specific Realm
Source: https://altostrat.io/docs/radius/guide-and-tutorials/managing-your-network/locking-a-nas-to-a-specific-realm
Configure NAS devices to authenticate users only from specific realms
# Locking a NAS to a Specific Realm
Content coming soon.
# Organizing Devices with Containers
Source: https://altostrat.io/docs/radius/guide-and-tutorials/managing-your-network/organizing-devices-with-containers
Use containers to organize and manage your NAS devices efficiently
# Organizing Devices with Containers
Content coming soon.
# Registering a New NAS Device
Source: https://altostrat.io/docs/radius/guide-and-tutorials/managing-your-network/registering-a-new-nas-device
Learn how to register a new Network Access Server (NAS) device in your RADIUS infrastructure
# Registering a New NAS Device
Content coming soon.
# Introduction to the Migration Toolkit
Source: https://altostrat.io/docs/radius/guide-and-tutorials/migrating-to-the-service/introduction-to-migration-toolkit
Overview of the migration toolkit and its capabilities
# Introduction to the Migration Toolkit
Content coming soon.
# Performing a Dry Run
Source: https://altostrat.io/docs/radius/guide-and-tutorials/migrating-to-the-service/performing-a-dry-run
Test your migration before committing changes
# Performing a Dry Run
Content coming soon.
# Preparing Your CSV File
Source: https://altostrat.io/docs/radius/guide-and-tutorials/migrating-to-the-service/preparing-your-csv-file
Learn how to format your CSV file for migration with downloadable examples
# Preparing Your CSV File
Content coming soon.
# Running the Import and Reviewing Results
Source: https://altostrat.io/docs/radius/guide-and-tutorials/migrating-to-the-service/running-the-import-and-reviewing-results
Execute the migration and verify the results
# Running the Import and Reviewing Results
Content coming soon.
# Diagnosing Connection Issues with Logs
Source: https://altostrat.io/docs/radius/guide-and-tutorials/monitoring-and-troubleshooting/diagnosing-connection-issues-with-logs
Use logs to troubleshoot and diagnose authentication and connection problems
# Diagnosing Connection Issues with Logs
Content coming soon.
# Graphing Historical Trends
Source: https://altostrat.io/docs/radius/guide-and-tutorials/monitoring-and-troubleshooting/graphing-historical-trends
Visualize and analyze historical data trends
# Graphing Historical Trends
Content coming soon.
# Troubleshooting with the AI Assistant
Source: https://altostrat.io/docs/radius/guide-and-tutorials/monitoring-and-troubleshooting/troubleshooting-with-ai-assistant
Leverage AI-powered assistance to resolve issues quickly
# Troubleshooting with the AI Assistant
Content coming soon.
# Using the NOC Dashboard
Source: https://altostrat.io/docs/radius/guide-and-tutorials/monitoring-and-troubleshooting/using-the-noc-dashboard
Understand the key statistics and metrics on the NOC Dashboard
# Using the NOC Dashboard
Content coming soon.
# Assigning Users to a Dynamic VLAN
Source: https://altostrat.io/docs/radius/guide-and-tutorials/user-and-policy-management/assigning-users-to-dynamic-vlan
Configure dynamic VLAN assignment based on user authentication
# Assigning Users to a Dynamic VLAN
Content coming soon.
# Assigning Users to Groups
Source: https://altostrat.io/docs/radius/guide-and-tutorials/user-and-policy-management/assigning-users-to-groups
Organize users by assigning them to groups for easier policy application
# Assigning Users to Groups
Content coming soon.
# Creating and Managing User Accounts
Source: https://altostrat.io/docs/radius/guide-and-tutorials/user-and-policy-management/creating-and-managing-user-accounts
Learn how to create, edit, and manage user accounts in your RADIUS service
# Creating and Managing User Accounts
Content coming soon.
# Creating Powerful Attribute Groups
Source: https://altostrat.io/docs/radius/guide-and-tutorials/user-and-policy-management/creating-powerful-attribute-groups
Build reusable attribute groups to streamline policy management
# Creating Powerful Attribute Groups
Content coming soon.
# Implementing a 'One Session Per User' Policy
Source: https://altostrat.io/docs/radius/guide-and-tutorials/user-and-policy-management/implementing-one-session-per-user-policy
Restrict users to a single active session at a time
# Implementing a "One Session Per User" Policy
Content coming soon.
# Setting Up Bandwidth Shaping (Rate-Limiting)
Source: https://altostrat.io/docs/radius/guide-and-tutorials/user-and-policy-management/setting-up-bandwidth-shaping
Configure bandwidth limits and rate-limiting policies for users
# Setting Up Bandwidth Shaping (Rate-Limiting)
Content coming soon.
# Architectural Overview
Source: https://altostrat.io/docs/radius/introduction/architectural-overview
A deep dive into the cloud-native AWS architecture that powers Altostrat Arc, delivering five-nines reliability, global low latency, and limitless scale.
Altostrat Arc was engineered to solve the fundamental limitations of traditional RADIUS infrastructure: scalability, reliability, and security. We achieved this by embracing a fully distributed, cloud-native architecture built on Amazon Web Services (AWS).
This is not simply RADIUS running on a virtual machine in the cloud. It's a purpose-built, serverless, and containerized system designed from the ground up to handle authentication, authorization, and accounting at a global scale for millions of users.
Our deep expertise in distributed systems allows us to provide a level of performance and resilience that is virtually impossible for a self-hosted solution to achieve.
**Built on a Foundation of Trust:** By leveraging best-in-class AWS services, Arc inherits a security and compliance posture that meets the stringent requirements of global enterprises, including certifications like SOC 2, ISO 27001, and PCI DSS.
## High-Level System Design
The Arc platform is logically separated into three distinct planes, each optimized for its specific task: the **Data Plane** for handling real-time RADIUS traffic, the **Control Plane** for management and configuration, and the **Analytics Plane** for processing accounting data.
```mermaid theme={null}
flowchart TB
subgraph clients["Clients"]
admin[Altostrat Portal &
Management APIs]
nas[Network Access Server
Wi-Fi AP, VPN, Switch]
end
subgraph edge["Internet Edge"]
api_domain[api.altostrat.io]
radius_domain[aaa.altostrat.io]
end
subgraph global["AWS Global Services"]
apigw[API Gateway]
ga[Global Accelerator]
end
subgraph region_us["AWS Region: us-east-1 (Ashburn)"]
subgraph vpc_mgmt_us["Management VPC"]
lambda_mgmt_us[Lambda
Management API]
ddb_us[(DynamoDB
Global Table)]
end
end
subgraph region_ap["AWS Region: ap-southeast-2 (Sydney)"]
subgraph vpc_radius_ap["RADIUS Core VPC"]
nlb_ap[Network Load
Balancer]
subgraph ecs_ap["ECS Cluster"]
proxy_ap[RadSec
Go Proxy]
radius_ap[RADIUS
Server Task]
end
lambda_internal_ap[Lambda
Internal API]
ddb_ap[(DynamoDB
Global Table)]
end
end
subgraph analytics["Analytics Plane"]
kinesis[Kinesis
Data Streams]
timestream[(Timestream
Database)]
end
%% Control Plane Flow
admin -->|HTTPS| api_domain
api_domain --> apigw
apigw --> lambda_mgmt_us
lambda_mgmt_us <-->|PrivateLink| ddb_us
%% Data Plane Flow
nas -->|RadSec/TLS| radius_domain
radius_domain --> ga
ga -->|Low-latency
routing| nlb_ap
nlb_ap -->|TCP| proxy_ap
proxy_ap -->|Access-Request| radius_ap
radius_ap -->|HTTPS| lambda_internal_ap
lambda_internal_ap <-->|PrivateLink| ddb_ap
%% Analytics Flow
proxy_ap -.->|Accounting
Post-auth| kinesis
kinesis --> timestream
%% Database Replication
ddb_us <-.->|Near real-time
replication| ddb_ap
classDef aws fill:#FF9900,stroke:#232F3E,stroke-width:2px,color:#232F3E
classDef client fill:#3B48CC,stroke:#232F3E,stroke-width:2px,color:#fff
classDef edge fill:#879596,stroke:#232F3E,stroke-width:2px,color:#fff
classDef analytics fill:#8C4FFF,stroke:#232F3E,stroke-width:2px,color:#fff
class apigw,ga,nlb_ap,proxy_ap,radius_ap,lambda_mgmt_us,lambda_internal_ap,ddb_us,ddb_ap aws
class admin,nas client
class api_domain,radius_domain edge
class kinesis,timestream analytics
```
## The Data Plane: A RADIUS Request's Journey
The Data Plane is the heart of Arc, processing millions of authentication and accounting requests with double-digit millisecond latency. Here is the step-by-step journey of a single RADIUS packet.
A Network Access Server (NAS) initiates a **RadSec (RADIUS over TLS)** connection to our global anycast endpoint. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) instantly directs this traffic over the AWS backbone to the nearest, healthiest Arc regional deployment (e.g., a NAS in Melbourne is routed to our Sydney region, not Ashburn).
This is superior to GeoDNS, as it eliminates DNS propagation delays and automatically fails over between regions in seconds, not minutes.
The TLS-encrypted traffic arrives at a regional [Network Load Balancer (NLB)](https://aws.amazon.com/elasticloadbalancing/network-load-balancer/), which operates at Layer 4 for extreme performance. The NLB forwards the raw TCP connection to our custom, high-performance **Go proxy** running in an [AWS ECS](https://aws.amazon.com/ecs/) container. This proxy is responsible for:
* **TLS Offloading:** Terminating the RadSec connection securely and efficiently.
* **Request Branching:** Forwarding `Access-Request` packets to the RADIUS server tasks and asynchronously streaming `Accounting-Request` and `post-auth` data directly to the Analytics Plane via Kinesis.
The RADIUS Server Task, also running on ECS, receives the request. This lightweight task's sole job is to translate the RADIUS request into a secure REST API call to our internal, region-local API endpoint. The ECS cluster automatically scales the number of these tasks based on real-time traffic, ensuring limitless capacity.
The internal API call is handled by [AWS Lambda](https://aws.amazon.com/lambda/) within a private VPC. All communication to the database occurs over [AWS PrivateLink](https://aws.amazon.com/privatelink/), meaning **no data ever traverses the public internet**.
User profiles, group policies, and NAS secrets are stored in [Amazon DynamoDB Global Tables](https://aws.amazon.com/dynamodb/global-tables/). This provides an **active-active, multi-region database** with near real-time replication. If our entire Ashburn region were to fail, the Sydney region would seamlessly take over using its own local, fully-replicated copy of the data.
## The Control & Analytics Planes
While the Data Plane is built for raw speed, the Control and Analytics planes are designed for flexibility, security, and insight.
Your team and applications interact with Arc through our Management API. This standard REST API is built on a serverless stack using **API Gateway** and **Lambda**. This architecture provides:
* **Fine-grained Security:** Robust authentication and authorization for all configuration changes.
* **Effortless Scalability:** The serverless design scales automatically, whether you're managing 10 users or 10 million.
* **Rich Integrations:** Easily connect your existing provisioning, billing, or identity management systems to Arc.
All accounting and post-authentication events are streamed into **Amazon Kinesis**, a high-throughput data streaming service. From there, data is ingested into **Amazon Timestream**, a serverless time-series database. This architecture provides significant advantages over traditional logging:
* **Decoupled Processing:** The RADIUS core's only job is to authenticate. It fires off accounting data and immediately moves on, ensuring accounting load never impacts authentication performance.
* **Massively Parallel Ingestion:** Kinesis can handle millions of records per second, ensuring no accounting data is ever dropped, even during peak load.
* **Powerful, Fast Queries:** Timestream is purpose-built for analyzing time-series data, enabling complex queries over billions of events to return in seconds, powering our Insights API and your dashboards.
## The Pillars of Altostrat Arc
Our architectural choices directly translate into the core benefits that make Arc the most reliable and performant RADIUS platform available.
* **Multi-AZ & Multi-Region Deployments** for automated failover.
* **DynamoDB Global Tables** for active-active database replication.
* **Self-Healing Services** like ECS and Lambda automatically replace unhealthy components.
* **Global Accelerator** for routing traffic to the lowest-latency endpoint.
* **Serverless & Containerized** components that scale horizontally on demand.
* **Decoupled Analytics Pipeline** ensures accounting never impacts authentication speed.
* **RadSec (TLS) everywhere** for end-to-end encryption.
* **Isolated VPCs and PrivateLink** ensure your data never touches the public internet.
* **AWS IAM Roles & Policies** enforce the principle of least privilege for all internal services.
> **Why Altostrat Arc?**
>
> Building, securing, and maintaining a globally distributed, highly available system like this is an immense undertaking requiring deep, specialized expertise in cloud architecture. Altostrat Arc isn't just RADIUS in the cloud; it's a fully-managed, battle-tested system that encapsulates years of engineering effort. We handle the complexity of global infrastructure so you can focus on what matters: serving your users.
### Next Steps
Learn how to connect your network hardware to the Arc platform.
Understand the key entities like Accounts, Groups, and Realms that you'll use to build policies.
```
```
# Quick Start Guide
Source: https://altostrat.io/docs/radius/introduction/quick-start-guide
Altostrat SDX is designed for both small networks and large-scale deployments, providing robust tools to simplify management, bolster security, and maximize uptime-using your existing, compatible hardware.
# What is Altostrat Arc?
Source: https://altostrat.io/docs/radius/introduction/what-is-radius-as-a-service
Understand the core value of Arc: a globally distributed, high-performance RADIUS engine designed for limitless scale and developer-friendly integration.
Altostrat Arc is not just another RADIUS server; it's a globally distributed RADIUS engine built for the demands of modern networks. Designed for ISPs, MSPs, and large enterprises, Arc provides a highly available, secure, and developer-friendly platform to power any service that relies on RADIUS for authentication, authorization, and accounting (AAA).
Arc is built on a single, powerful promise: **RADIUS that scales infinitely, performs globally at double-digit millisecond speeds, and never goes down.** It's the engine that powers your network, allowing you to focus on your business, not on managing infrastructure.
## The Challenge of Traditional RADIUS
Traditional, on-premise RADIUS deployments have long been a source of complexity and frustration for network operators. They often suffer from a common set of problems that create risk and limit growth:
* **Scalability Bottlenecks:** A single server can only handle a finite number of requests before performance degrades, creating a ceiling for user growth.
* **High Availability Risks:** A hardware failure or software crash on a monolithic RADIUS server can bring your entire network's authentication to a halt, creating a critical single point of failure.
* **Geographic Latency:** A centralized server in one region means users in other parts of the world experience slow, frustrating login times.
* **Intense Maintenance Overhead:** Teams spend valuable time patching servers, managing hardware, and manually configuring redundancy, diverting resources from innovation.
* **Lack of Modern Tooling:** Most legacy RADIUS systems lack robust, developer-friendly APIs, making integration with modern billing, provisioning, and management systems difficult and brittle.
## Altostrat Arc: RADIUS Reimagined
Altostrat Arc was built from the ground up on a cloud-native, serverless architecture to solve these challenges. We handle the infrastructure so you can focus on building and managing your network policies.
Arc's serverless architecture automatically scales to handle millions of users and thousands of requests per second without any performance degradation. Add unlimited accounts with confidence.
With deployments in multiple geographic regions connected by AWS Global Accelerator, user authentication is always routed to the nearest, fastest endpoint, ensuring a consistent double-digit millisecond response time.
Our multi-region, multi-AZ architecture eliminates single points of failure. Arc is designed for resilience and backed by a **five-nines (99.999%) SLA**, providing you with enterprise-grade uptime.
Integrate, automate, and manage every aspect of your RADIUS service with our comprehensive and intuitive northbound REST API. Build custom workflows, connect to billing systems, and manage users programmatically.
## Who is Arc For?
Arc is designed to be the foundational AAA engine for any organization that relies on RADIUS at scale.
Manage millions of broadband subscribers, enforce bandwidth and data policies, and ensure reliable network access with an engine that scales with your growth.
Deliver secure, reliable network access for all your clients from a single, multi-tenant platform. Use our API to integrate with your existing management and billing portals.
Secure your corporate Wi-Fi (802.1X), VPNs, and wired networks with a RADIUS service that's always on. Enforce granular access policies for employees, guests, and devices.
## Where to Go Next
For a technical look at how Arc delivers on its promise of scale and reliability.
Ready to connect your first device? Our quick start guide will get you authenticating in minutes.
# null
Source: https://altostrat.io/docs/scripts/api-base-instructions
# **LLM Prompt: A Blueprint for Stripe-Quality OpenAPI Specifications**
## **Your Mission: To Craft a World-Class Developer Experience**
You are an AI Architect specializing in creating world-class, Stripe-quality API documentation. Your mission is not merely to list endpoints, but to craft a developer experience that is clear, intuitive, and empowering. Every description, parameter, and example you write must be guided by the principle of reducing developer friction and accelerating their time-to-first-successful-call.
## **Core Philosophy: The Stripe Standard**
Before you write a single line of YAML, internalize these guiding principles derived from the industry's best:
* **Developer-Centricity:** Structure everything from the developer's point of view. Anticipate their questions, understand their goals, and provide clear, unambiguous answers.
* **Problem-First Approach:** The `info` description must frame the API as a solution to a specific set of problems. A developer should immediately understand *why* they need this service.
* **Meticulous Detail:** Every parameter, field, and schema must be documented with absolute clarity. There is no room for ambiguity. Provide helpful context and examples wherever possible.
* **Errors as a Feature:** Treat error responses as a core, solvable part of the API. They must be predictable, well-documented, and guide the user toward a solution.
## **Your Core Task & Critical Output Requirement**
Your task is to generate a complete and accurate OpenAPI 3.0.3 specification in **YAML format** for a specific Altostrat microservice. I will provide you with the name of the microservice and details about its endpoints.
**CRITICAL: Your entire response MUST be a single YAML code block.** Do **NOT** include any introductory text, explanations, or concluding remarks. Your output must begin with `openapi: 3.0.3` and end with the last line of the specification.
## **Global Context & Rules**
1. **Base URL:** All API endpoints must use the base URL `https://api.altostrat.io`.
2. **Product Context:** Altostrat SDX is a platform delivering SD-WAN, network automation, and agentic AI for MikroTik networks, built on a microservices architecture.
3. **Microservice Focus (IMPORTANT):** Your documentation must be laser-focused on the **single microservice provided**. While you will reference its role within the broader Altostrat SDX platform for context, the description and endpoints must exclusively detail the problems this service solves and the resources it manages.
***
## **Blueprint for the `info:` Block**
This section is your opening statement. It must be elegant and informative, following this precise four-part formula:
* `title:` Must follow the format: `Altostrat [Microservice Name] API`.
* `version:` Use `1.0.0`.
* `description:` Use a multi-line string (`|-`) structured as follows:
1. **Service Definition:** A single, clear sentence defining the microservice's primary responsibility.
* *Example:* "The Altostrat Workspaces API is the microservice responsible for tenancy, billing, and user identity management."
2. **Strategic Context:** Explain its specific role and contribution to the overall Altostrat SDX platform.
* *Example:* "It serves as the foundational layer for all multi-tenancy and subscription logic, enabling the secure separation of customer data and resources."
3. **Core Resources (Bulleted List):** A bulleted list of the 2-4 key resources or concepts this **specific API** manages, each with a concise explanation.
* *Example:*
```
This API allows you to programmatically manage:
- **Workspaces:** The top-level containers for all tenant resources, users, and billing configurations.
- **User Access:** The members and their specific roles (Owner, Admin) within a workspace.
```
4. **Developer's Goal:** A concluding sentence that frames the API's purpose from the developer's perspective.
* *Example:* "Developers use this API to build the structural foundation upon which all other Altostrat SDX automation and AI features operate."
***
## **Blueprint for Endpoints, Parameters, and Schemas**
* **RESTful Principles:** Endpoints must use plural nouns for resources and a clear hierarchy (e.g., `/workspaces/{workspaceId}/members`).
* **Clarity in Summaries:** Each endpoint (`summary`) and parameter (`description`) must have a concise, human-readable explanation.
* **Meticulous Schemas:** For every parameter and response field, provide a `description` and a realistic `example`. The description should explain the *purpose* of the field, not just what it is.
* **Rich Descriptions:** The endpoint's main `description` field should explain not just *what* it does, but *why* a developer would use it and any important nuances or side effects.
***
## **Blueprint for Error Handling**
Every endpoint that can modify state (POST, PUT, PATCH, DELETE) **must** include a documented `4xx` client error and `5xx` server error in its `responses` section. The error schema should be consistent, pointing to a reusable component.
* **Example Error Response (`400`):**
```yaml theme={null}
responses:
"400":
description: Bad Request - The request was malformed or invalid.
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
```
* **Error Schema Component:**
```yaml theme={null}
components:
schemas:
ErrorResponse:
type: object
properties:
type:
type: string
description: A broad category for the error (e.g., 'invalid_request_error').
example: "invalid_request_error"
code:
type: string
description: A short, unique string identifying the specific error.
example: "parameter_missing"
message:
type: string
description: A human-readable description of what went wrong.
example: "The 'name' parameter is required for this request."
doc_url:
type: string
description: A direct link to the documentation page for this specific error code.
example: "https://docs.altostrat.io/errors/parameter_missing"
```
# Content Filtering
Source: https://altostrat.io/docs/sdx/core-concepts/content-filtering
Manage and restrict access to undesirable or harmful web content across your network using DNS-based policies.
Altostrat's **Content Filtering** service helps you enforce network usage standards by allowing you to **block or restrict** access to websites and online services based on predefined categories (like adult content, streaming media, or social networking). This ensures network usage aligns with your organization's **Acceptable Use Policies**.
The filtering is primarily achieved through DNS manipulation; when a site is assigned a Content Filtering policy, its DNS requests are typically routed through Altostrat's filtering nameservers, which block queries to prohibited domains based on the policy rules.
## Key Features
* **Category-Based Blocking**: Efficiently block large groups of websites based on content categories (e.g., Gambling, Malware, Phishing).
* **SafeSearch & Restricted Mode**: Enforce SafeSearch for Google and Bing, and activate YouTube's Restricted Mode to filter explicit search results and videos.
* **Filtering Avoidance Prevention**: Block access to known DNS proxies, anonymizers, and VPN services commonly used to circumvent filters.
* **Custom Allow/Block Lists**: Define specific domains to always allow (whitelist) or always block (blacklist), overriding category rules.
* **Detailed Traffic Analytics**: Review logs and statistics to understand DNS query patterns and identify blocked or allowed domains/categories.
***
## Creating a Content Filter Policy
Follow these steps to set up a new policy:
From your Altostrat **Dashboard**, go to **Policies → Content Filtering**. Click **Add** or **+ New** to initiate the creation process.
Click **Add** or **+ New** again on the policy list page.
Provide a clear **Policy Name** (e.g., "Standard Employee Policy", "Guest Network Restrictions").
* **Choose Categories**: Select the content categories you wish to block. You can expand groups to select specific sub-categories. ([View available categories via API](/api-reference/spa/bgp-dns-filter/categories-&-applications/list-categories-and-top-applications)).
* **SafeSearch Settings**: Enable SafeSearch enforcement for major search engines and set YouTube's Restricted Mode as needed. ([View SafeSearch options via API](/api-reference/spa/bgp-dns-filter/categories-&-applications/list-safe-search-options)).
* **Custom Domains**: Add specific domains to your **Allow List** or **Block List**.
Click **Save** or **Add** to create the policy. To apply it to one or more sites:
* Navigate to your **Sites** list.
* Select a target site.
* In the site's configuration settings, locate the **Content Filter Policy** section and choose your newly created policy from the dropdown. ([Assign policy to site via API](/api-reference/spa/bgp-dns-filter/dns-policy/assign-dns-policy-to-site)).
Allow a few moments for the policy changes to propagate to the router's configuration. If the router is behind NAT, ensure the [Management VPN](/management/management-vpn) is active and correctly configured for Altostrat to push the update.
***
## Editing a Content Filtering Policy
To modify an existing policy:
Go to **Policies → Content Filtering** in the Altostrat portal.
Click on the name of the policy you wish to update. This will open its configuration settings.
Modify the policy as needed: toggle categories, adjust SafeSearch settings, or manage custom domain lists.
Click **Save** or **Update**. The changes will automatically propagate to all sites currently assigned this policy. ([Update policy via API](/api-reference/spa/bgp-dns-filter/dns-policy/update-dns-policy)).
***
## Removing a Content Filtering Policy
Deleting a policy also removes its configuration from any sites currently using it. These sites will revert to default DNS settings (no filtering) or fall back to another assigned policy if applicable. Ensure this is the intended outcome before proceeding.
Go to **Policies → Content Filtering**. Locate the policy you intend to remove.
Select the policy, then click the **Trash** or **Remove** icon associated with it. Confirm your decision when prompted. ([Delete policy via API](/api-reference/spa/bgp-dns-filter/dns-policy/delete-dns-policy)).
To **completely disable** Content Filtering for specific sites without deleting the policy itself, navigate to the site's configuration and either assign a different policy (or no policy) or remove the site's association with the current policy. ([Remove policy from site via API](/api-reference/spa/bgp-dns-filter/dns-policy/remove-dns-policy-from-site)).
***
## Programmatic Management (API)
Content Filtering policies and their assignments can also be managed programmatically using the Altostrat API. Key endpoints include:
* **Create Policy**: `POST /policy` ([API Docs](/api-reference/spa/bgp-dns-filter/dns-policy/create-dns-policy))
* **List Policies**: `GET /policy` ([API Docs](/api-reference/spa/bgp-dns-filter/dns-policy/list-dns-policies))
* **Get Policy Details**: `GET /policy/{policy}` ([API Docs](/api-reference/spa/bgp-dns-filter/dns-policy/get-dns-policy-details))
* **Update Policy**: `PUT /policy/{policy}` ([API Docs](/api-reference/spa/bgp-dns-filter/dns-policy/update-dns-policy))
* **Delete Policy**: `DELETE /policy/{policy}` ([API Docs](/api-reference/spa/bgp-dns-filter/dns-policy/delete-dns-policy))
* **Assign Policy to Site**: `POST /{site_id}` ([API Docs](/api-reference/spa/bgp-dns-filter/dns-policy/assign-dns-policy-to-site))
* **Remove Policy from Site**: `DELETE /{site_id}` ([API Docs](/api-reference/spa/bgp-dns-filter/dns-policy/remove-dns-policy-from-site))
Refer to the specific API documentation for request/response details and required permissions.
***
## Best Practices
* **Start Conservatively, Refine Gradually**: Begin by blocking only the most critical or universally unacceptable content categories. Monitor logs and user feedback, then refine the policy by adding more categories or creating specific domain exceptions (allow/block lists) as needed.
* **Test Policies**: Before applying a new or modified policy broadly, test it on a non-critical site or segment to ensure it behaves as expected and doesn't unintentionally block necessary resources.
* **Regularly Review Logs**: Periodically examine DNS query logs and filtering statistics to understand traffic patterns, identify frequently blocked sites (which might indicate policy gaps or user needs), and ensure the policy remains effective.
* **Combine with Other Security Layers**: Content Filtering is one part of a layered security strategy. Complement it by enabling features like [Security Essentials](/core-concepts/security-essentials) for threat intelligence feeds and firewall rules.
* **Communicate Policies to Users**: Ensure employees, guests, or other network users are aware of the Acceptable Use Policy and understand *why* certain content might be restricted. This minimizes confusion and support requests.
# Control Plane
Source: https://altostrat.io/docs/sdx/core-concepts/control-plane
Configure inbound management services (WinBox, SSH, API) and firewall rules at scale in Altostrat.
Altostrat's **Control Plane Policies** define how MikroTik devices handle inbound connections for critical management services such as **WinBox**, **SSH**, and **API**. By centralizing firewall rules and trusted networks, you ensure consistent security across all routers under a given policy.
## Default Policy
When you sign up, Altostrat automatically creates a **Default Control Plane Policy** for basic protection. This policy includes:
* **Trusted Networks** (e.g., private IP ranges like 10.x, 192.168.x)
* **WinBox**, **API**, and **SSH** enabled on default ports
* **Custom Input Rules** toggled on or off
The IP address `154.66.115.255/32` may be added by default as a trusted address for Altostrat's Management API.
## Creating a Control Plane Policy
Under Policies, select Control Plane. You'll see a list of existing policies, including the default one.
Click + Add Policy. Give your policy a descriptive name (e.g., "Strict Admin Access").
Add or remove IP addresses or CIDR ranges that you consider trusted. For example: 192.168.0.0/16.
Decide whether your MikroTik firewall input rules should take precedence. If set to ON, your custom rules will be applied first.
Under IP Services, specify ports for WinBox, SSH, and API. These services must remain enabled if you plan to manage devices via Altostrat's API.
Assign the policy to specific sites if desired. You can also assign it later. Click Add to finalize.
## Editing a Control Plane Policy
Navigate to Policies → Control Plane. Click on the policy to open its settings.
Add or remove CIDRs, toggle whether Custom Input Rules override Altostrat's default drop rules, and modify ports for WinBox, API, and SSH.
Changes will propagate automatically to any sites using this policy. Allow a short period for routers to update.
## Removing a Control Plane Policy
Deleting a policy from an active site may disrupt management access if no other policy is assigned.
In Policies → Control Plane, locate the policy you wish to remove.
Click the Trash icon and confirm the action. If any routers depend on this policy for inbound admin services, assign them another policy first.
## Best Practices
* **Maintain Essential Services**: Keep WinBox, SSH, and API enabled if you plan to manage devices through Altostrat.
* **Limit Trusted Networks**: Restrict access to reduce exposure.
* **Regular Review**: Review and update policies as your network changes.
* **Security Layering**: Combine with [Security Essentials](/core-concepts/security-essentials) for a comprehensive security approach.
# Notification Groups
Source: https://altostrat.io/docs/sdx/core-concepts/notification-groups
Define groups of users, schedules, and alert types for more targeted notifications.
A **Notification Group** is a way to organize who receives alerts, **when** they receive them, and for **which events**. This helps ensure relevant teams get the notifications they need while avoiding unnecessary notifications for others.
## Setting Up a Notification Group
Go to Notifications → Notification Groups in the Altostrat Portal.
Click Add or + New to create a new Notification Group. Provide a Group Name.
Choose who should receive alerts—either individual users or an entire role (e.g., "NOC Team"). Only selected users will receive notifications tied to this group.
If desired, link a policy specifying time windows for sending alerts (to reduce off-hours messages).
Select which types of notifications are relevant (e.g., Heartbeat Failures, Security Alerts, WAN Failover).
If alerts should only apply to specific sites, limit them here. Otherwise, the group will cover all sites by default.
Confirm your settings. The new group will now be active.
***
## Editing a Notification Group
Under Notifications → Notification Groups, locate the group you want to modify.
Adjust the group's name, add or remove users, modify the Business Hours Policy, or expand/restrict topics.
Most changes save automatically. Users may need to log out and log back in to see updates in some cases.
***
## Removing a Notification Group
Deleting a group means its members will no longer receive those alerts. Ensure critical notifications are covered by another group if needed.
In Notifications → Notification Groups, select the group to remove.
Click the Trash icon. Confirm your choice in the dialog.
If the group was tied to certain **Business Hours Policies** or **Alert Topics**, you might need to reassign them to another group to maintain coverage.
***
## Tips & Best Practices
* **Segment Based on Function**: Create separate groups for Security Teams, NOC Teams, Management, etc.
* **Use Business Hours Policies**: Reduce alert fatigue by only notifying off-hours for critical events.
* **Review Groups Regularly**: Ensure each group's membership and topics remain relevant.
* **Combine with Integrations**: Forward alerts to Slack or Microsoft Teams if needed—see [Integrations](/integrations/integrations-overview).
# Notifications
Source: https://altostrat.io/docs/sdx/core-concepts/notifications
Define, manage, and route alerts for important network events in Altostrat.
Altostrat **Notifications** keep you informed about key events—like **Network Outages**, **SLA Breaches**, and **Security Issues**—so you can react quickly. Customize notifications to ensure the right teams or individuals get the right alerts at the right time.
## Why Notifications Matter
* **Proactive Issue Management:**
Address potential problems before they escalate into major outages.
* **Improved Network Uptime:**
Quick response to alerts shortens downtime.
* **Enhanced Security:**
Security-related notifications highlight suspicious activity, enabling quick risk mitigation.
* **Customizable:**
Assign notifications to specific users or groups based on their roles.
## Notification Types
Here are common notifications sent by Altostrat:
| **Type** | **Description** |
| ----------------------- | ---------------------------------------------------------------------------------- |
| **SLA Reports** | Alerts you when agreed Service Level Agreements (uptime, latency) aren't met |
| **Heartbeat Failures** | Informs administrators when a device stops sending health signals |
| **WAN Failover Events** | Indicates connectivity issues or automatic failover events that affect the network |
| **Security Alerts** | Notifies you about malicious IP blocks, intrusion attempts, or suspicious traffic |
***
## Setting Up Notifications
You can follow this guide in order to set up your notifications.
[Setting Up Notitications](/core-concepts/notification-groups)
## Customizing Alerts
* **Business Hour Policies:** Receive notifications only during specified times
* **Targeted Alerts:** Direct SLA or Security notifications to relevant teams
* **Limit Redundancy:** Prevent notification fatigue by avoiding duplicate messages
***
## Best Practices
* **Review Regularly:** Ensure your notification settings align with current organizational needs
* **Use Notification Groups:** Organize recipients by function (e.g., NOC Team, Security Team)
* **Integrate with Other Tools:** Connect notifications with external services (e.g., Slack, Microsoft Teams) for streamlined workflows
If you experience issues or need to configure advanced behavior, consult the [Notification Groups](/core-concepts/notification-groups) page or review the [Orchestration Log](/management/orchestration-log) for troubleshooting assistance.
# Policies
Source: https://altostrat.io/docs/sdx/core-concepts/policies
Manage essential policies for Security, Content Filtering, and Control Plane settings in Altostrat.
In Altostrat, **Policies** let you **centralize** and **automate** configurations that apply across multiple sites or devices. By defining a policy, you ensure consistent rules for **Security**, **Content Management**, and **Control Plane** access.
## Introduction
Altostrat supports various policy types:
* **Security Essentials**: Block malicious IPs, intrusions, or suspicious traffic
* **Content Filtering**: Restrict websites and categories (e.g., adult content, streaming)
* **Control Plane**: Manage inbound access (WinBox, SSH, API) and Firewall input rules at scale
* **Notification Policies**: Decide who receives alerts and under which conditions
Policies are created and edited under the **Policies** section in the Altostrat Portal. You can **assign** them to specific sites to enforce the same configuration across your organization.
## Creating a New Policy
Navigate to Policies from your Altostrat Dashboard. You'll see different types (e.g., Security Essentials, Content Filtering, Control Plane).
Choose the category (e.g., Security Essentials) or click Add if you're creating a new policy instance for that category.
Depending on the policy type:
* Security Essentials: Enable specific block lists
* Content Filtering: Configure site categories and SafeSearch toggles
* Control Plane: Define input Firewall rules, IP services, and trusted IPs
After naming and configuring your policy, click Save. Then navigate to the relevant Site page to assign the policy if needed.
## Editing an Existing Policy
Under Policies, click on the relevant category (e.g., Content Filtering).
Toggle categories, add or remove block lists, or update inbound Firewall rules, depending on the policy type.
All changes will automatically propagate to assigned sites after a brief delay.
## Removing a Policy
Deleting a policy removes its configuration from any site currently using it. Those sites will revert to having no policy or a default policy if one is set.
Under Policies, find the policy you want to remove.
Click the Trash or Remove icon and confirm the action. If the policy is critical, consider assigning a different one to your sites first.
## Best Practices
* **Minimal Overlap**: Avoid assigning multiple policies with conflicting rules to the same site
* **Versioning**: If you need major changes, consider creating a new policy rather than drastically editing an existing one
* **Audit Regularly**: Check which policies are active and ensure they still match business requirements
* **Combine**: Use [Security Essentials](/core-concepts/security-essentials) plus [Content Filtering](/core-concepts/content-filtering) or [Control Plane](/core-concepts/control-plane) for layered defense
# Roles & Permissions
Source: https://altostrat.io/docs/sdx/core-concepts/roles-and-permissions
Control user access levels in Altostrat SDX using roles, which group granular permission scopes for accessing resources and performing actions via the UI and API.
# Roles & Permissions in Altostrat SDX
Altostrat SDX uses a flexible Role-Based Access Control (RBAC) system to manage user capabilities. **Permissions** (also referred to as **Scopes**) define the ability to perform specific actions (like viewing billing info or deleting a site), while **Roles** group these permissions together. Roles are then assigned to users **within the context of a specific Team**, determining what each user can do within that team's resources.
## Key Concepts
* **Permissions (Scopes):** Fine-grained strings representing specific actions, typically in the format `resource:action` (e.g., `site:view`, `billing:update`, `api:create`). These scopes directly control access to API endpoints and influence what is visible or actionable in the user interface.
* **Roles:** Collections of permissions. Assigning a role to a user grants them all the permissions contained within that role for the team they are assigned to.
* **System Roles:** Predefined roles with common permission sets provided by Altostrat SDX (e.g., Owner, Administrator, potentially a read-only or member role). System roles usually cannot be deleted or fundamentally altered.
* **Custom Roles:** Roles you create and manage within your team, allowing you to tailor access precisely by selecting specific permissions.
* **Team Context:** Role assignments are specific to a Team. A user might be an Administrator in one team but only have view permissions in another.
## Permission Scope Reference
Permissions grant access to specific functionalities. Here is a breakdown of common permission scopes grouped by area, based on available API actions:
| **Scope** | **Explanation** |
| ----------------- | -------------------------------------------------------------- |
| `user:view` | View user details within the team. |
| `user:create` | Create new users and add them to the team. |
| `user:update` | Update user profile details and role assignments. |
| `user:delete` | Remove users from the team/system (restrictions apply). |
| *(Implied/OAuth)* | Manage own 2FA settings (enable, disable, confirm, get codes). |
| *(Implied/OAuth)* | View own user info. |
| **Scope** | **Explanation** |
| ---------------------- | ------------------------------------------------- |
| `team:create` | Create new teams within the organization. |
| `team:update` | Update team details (name, site limit). |
| `team:delete` | Delete teams (restrictions apply). |
| `teams:invite-users` | Invite users to join a team; cancel invitations. |
| `teams:remove-users` | Remove members from a team (cannot remove owner). |
| *(Implied/Membership)* | List teams, view team details, members, invites. |
| *(Implied/Membership)* | Switch active team context. |
| **Scope** | **Explanation** |
| ---------------- | ----------------------------------------------------------- |
| `role:view` | View available roles (system & custom) and assigned scopes. |
| `role:create` | Create new custom roles for the team. |
| `role:update` | Update custom team roles (name, assigned scopes). |
| `role:delete` | Delete custom team roles (if unassigned). |
| `api:view` | View team API credentials (names, IDs, usage). |
| `api:create` | Create new API credentials for the team. |
| `api:update` | Update API credential details (name, expiry). |
| `api:delete` | Delete/revoke API credentials for the team. |
| *(Implied/Auth)* | List all available permission scopes. |
| **Scope** | **Explanation** |
| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `billing:view` | View billing account details, payment methods, tax IDs, invoices, subscription overview, |
| pricing, upcoming invoice, supported Tax ID types. | |
| `billing:update` | Update billing account, manage payment methods (add, set default, delete), manage tax IDs |
| (add, delete), manage subscriptions (create, update quantity/interval, cancel). | |
| **Scope** | **Explanation** |
| ------------------ | -------------------------------------------------------------------- |
| `site:view` | View site details, list sites, view uptime, versions, recent sites. |
| `site:create` | *(Primarily internal/adoption flow)* Create site records. |
| `site:update` | Update site details (name, address, timezone etc). |
| `site:delete` | Mark a site for deletion. |
| `site:action` | Perform specific actions on a site (e.g., reboot). |
| `job:view` | View job history and details for a site. |
| `job:create` | Create asynchronous jobs (scripts/commands) for a site. |
| `job:delete` | Delete *pending* jobs for a site. |
| `backup:view` | List backups, view backup content, view diffs, view subnets. |
| `backup:create` | Request a new backup to be taken for a site. |
| `inventory:view` | View network inventory like ARP tables, syslog, possibly interfaces. |
| `inventory:update` | Update metadata associated with inventory items (e.g., ARP alias). |
| `logs:view` | View system log events from CloudWatch. |
| `script:create` | Create scheduled scripts, generate scripts via AI. |
| `script:view` | View scheduled scripts and execution progress. |
| `script:update` | Update scheduled scripts, request authorization. |
| `script:delete` | Delete or cancel scheduled scripts. |
| `script:run` | Immediately run or test a scheduled script. |
| `script:authorize` | Authorize a scheduled script for execution. |
| *(Implied/UI)* | List community scripts and view their details. |
| **Scope** | **Explanation** |
| ------------------------- | ---------------------------------------------- |
| `vpn:view` | View VPN instances and peers. |
| `vpn:create` | Create VPN instances and peers. |
| `vpn:update` | Update VPN instances and peers. |
| `vpn:delete` | Delete VPN instances and peers. |
| `wan:view` | View WAN failover configurations and tunnels. |
| `wan:create` | Create WAN failover services and tunnels. |
| `wan:update` | Update WAN failover tunnels and priorities. |
| `wan:delete` | Delete WAN failover services and tunnels. |
| `elasticip:view` | List assigned Elastic IPs and managed subnets. |
| `elasticip:create` | Assign new Elastic IPs. |
| `elasticip:update` | Reset RADIUS password, update PTR records. |
| `elasticip:delete` | Release assigned Elastic IPs. |
| `cpf:view` | List Control Plane policies. |
| `cpf:create` | Create Control Plane policies. |
| `cpf:update` | Update Control Plane policies, assign sites. |
| `cpf:delete` | Delete Control Plane policies. |
| `apicredentials:view` | View site API credentials (CPF). |
| `apicredentials:create` | Rotate/create site API credentials (CPF). |
| `transientaccess:view` | View transient access sessions. |
| `transientaccess:create` | Create transient access sessions (Winbox/SSH). |
| `transientaccess:delete` | Revoke transient access sessions. |
| `transientforward:view` | View transient port forwards. |
| `transientforward:create` | Create transient port forwards. |
| `transientforward:delete` | Revoke transient port forwards. |
| **Scope** | **Explanation** |
| ---------------------- | ---------------------------------------------------------------------- |
| `contentfilter:view` | View DNS & BGP/DNR policies, categories, apps, assigned sites/tunnels. |
| `contentfilter:create` | Create DNS & BGP/DNR policies. |
| `contentfilter:update` | Update DNS & BGP/DNR policies, assign/unassign from sites/tunnels. |
| `contentfilter:delete` | Delete DNS & BGP/DNR policies (if unassigned). |
| `cve:view` | View CVE scan schedules and scan results. |
| `cve:create` | Create new CVE scan schedules. |
| `cve:update` | Update CVE scan schedules, start/stop scans manually. |
| `cve:delete` | Delete CVE scan schedules. |
| **Scope** | **Explanation** |
| --------------------- | -------------------------------------------------------------------------- |
| `sla:view` | View SLA report schedules. |
| `sla:create` | Create new SLA report schedules. |
| `sla:update` | Update SLA report schedules. |
| `sla:delete` | Delete SLA report schedules. |
| `sla:run` | Manually run SLA reports, view/delete generated reports. |
| `notification:view` | View notification groups. |
| `notification:create` | Create notification groups. |
| `notification:update` | Update notification groups. |
| `notification:delete` | Delete notification groups. |
| `webhook:test` | Test webhook integrations (Slack, Teams). |
| `fault:view` | View fault history and details. |
| `fault:create` | *(Implied)* Generate fault tokens (might require view or specific create). |
*Note: For a definitive list of all available permission scopes, refer to the [List Available Scopes API endpoint](/api-reference/spa/authentication/roles-&-permissions/list-available-scopes). Specific scope requirements are also detailed in the documentation for each API endpoint.*
## Creating a Role
Follow these steps to create a custom role within your currently active team:
In the Altostrat SDX Dashboard, go to **Settings → Roles & Permissions**. You will see a list of existing system
and custom roles for your current team.
Click the **+ Add** button. A form will appear to define the new role. Enter a descriptive name (e.g., "NOC
Level 1", "Billing Manager") that clearly indicates the role's purpose.
Scroll through the list of available permissions, grouped by category. Select the checkboxes corresponding to
the **scopes** (e.g., `site:view`, `billing:update`) you want to grant to this role.
{/* Re-use edit image if applicable */}
{/* Re-use edit image if applicable */}
Once you have selected all the desired permissions, click the **Save** button. The new custom role will be
created and appear in the list, ready to be assigned to users within the team. (This typically corresponds to a
`POST` [/team\_roles](/api-reference/spa/authentication/roles-&-permissions/create-team-role) API call).
## Editing a Role
You can modify the name and assigned permissions of custom roles. System roles typically cannot be edited.
Navigate to **Settings → Roles & Permissions**. Find the custom role you wish to modify in the list and click on
its name or an associated 'Edit' icon.
In the role editing form, you can change the role's name and adjust the assigned permissions (**scopes**) by
selecting or deselecting the checkboxes.
Click the **Update** or **Save** button to apply your modifications. All users currently assigned this role
within the team will inherit the updated set of permissions. (This corresponds to a `PUT` [/team\_roles/{role}](/api-reference/spa/authentication/roles-&-permissions/update-team-role)
API call). Users might need to refresh their session (e.g., log out and back in) for changes to take full
effect.
## Deleting a Role
You can only delete *custom* roles. Deleting a role cannot be undone.
Deleting a custom role will immediately revoke all its associated permissions from any users currently assigned that
role within the team. Ensure users have alternative roles if continued access is needed. You generally **cannot**
delete a role if it is currently assigned to any users within the team.
Go to **Settings → Roles & Permissions**. Find the custom role you want to remove from the list. System roles
will typically not have a delete option.
Click the delete icon (e.g., trash can or via a menu) associated with the role. A confirmation prompt will
appear. Carefully review the impact and confirm the deletion. (This corresponds to a `DELETE`
[/team\_roles/{role}](/api-reference/spa/authentication/roles-&-permissions/delete-team-role) API call).
The delete option might be hidden off-screen on smaller displays or if the role has many permissions listed
horizontally. You may need to scroll horizontally to find it.
## Assigning Roles to Users
Roles are assigned to users within the **Team Members** management section.
1. Navigate to **Team Settings** -> **Members**.
2. Select the user whose roles you want to manage within the current team.
3. Assign one or more available roles (system or custom) to the user.
4. Save the changes.
(See [User Management](/core-concepts/users) for details on assigning roles to team members).
## Best Practices
* **Use System Roles First**: Leverage predefined roles like Administrator or Member for common access patterns before creating custom ones.
* **Principle of Least Privilege**: Grant only the necessary permissions (scopes) required for a user to perform their job function within a team. Avoid overly broad roles.
* **Create Task-Specific Custom Roles**: Define roles based on responsibilities (e.g., "Billing Viewer," "Site Operator," "Security Auditor") rather than individual users.
* **Regular Audits**: Periodically review role definitions and user assignments to ensure they are still appropriate and align with current responsibilities and security policies.
* **Document Custom Roles**: Clearly document the purpose and intended permissions of each custom role you create for your team's reference.
# Threat Feeds
Source: https://altostrat.io/docs/sdx/core-concepts/security-essentials
Leverage BGP-delivered threat intelligence feeds to automatically block malicious traffic at your network edge.
Altostrat's **Threat Feeds** feature enhances network security by integrating curated threat intelligence lists directly into your MikroTik router's routing table or firewall, often using **BGP** mechanisms. This allows you to automatically block traffic to and from known malicious IP addresses associated with threats like botnets, scanners, and compromised servers by null-routing or filtering traffic based on these feeds.
This feature complements DNS-based [Content Filtering](/core-concepts/content-filtering), providing protection at the IP/routing layer. Both features are often managed under the same policy framework within Altostrat.
## Key Features
* **BGP-Delivered Threat Intelligence**: Utilize automatically updated lists of malicious IP addresses sourced from reputable providers (e.g., Team Cymru, FireHOL, Emerging Threats), often distributed via BGP.
* **Automated Routing/Firewall Integration**: Selected threat feeds dynamically update the router's configuration, typically by adding routes pointing to a null interface (blackhole) or populating firewall address lists for blocking rules.
* **Malicious Traffic Blocking**: Prevent inbound and outbound connections associated with known threats based on the subscribed feeds at the network layer.
* **Logging and Monitoring**: Track policy update statuses via the [Orchestration Log](/management/orchestration-log) and monitor related routing or firewall events on the MikroTik device.
***
## Default Threat Feed Policy
When you first sign up, Altostrat may create a default **Threat Feed Policy** incorporating essential Threat Feeds. This policy often includes lists such as:
* **RFC 1918** Private IP Ranges (common bogon filtering)
* **Team Cymru FullBogons** (unallocated/unroutable IP addresses)
* **FireHOL Level 1** (basic list of known malicious IPs)
* **Emerging Threats Block IPs** (compromised IPs, C\&C servers)
You can customize this default policy or create new ones tailored to your security posture.
***
## Creating a Threat Feed Policy
Go to **Policies → Threat Feeds** in the Altostrat portal.
Click **Add** or **+ New**. Enter a descriptive policy name (e.g., "Block Known Attackers", "Critical Infrastructure Feeds").
Choose the specific threat intelligence feeds (BGP/DNR Lists) you want to enable within this policy. The available feeds can be viewed ([View available BGP/DNR lists via API](/api-reference/spa/bgp-dns-filter/bgp-policy/list-bgpdnr-lists)). Select feeds based on desired protection level and potential operational impact.
Click **Save** or **Add** to finalize the policy definition ([Create BGP policy via API](/api-reference/spa/bgp-dns-filter/bgp-policy/create-bgp-policy)). To apply it to a site:
* Navigate to the desired **Site** overview page.
* Assign this newly created policy under the site's **Threat Feed Policy** setting. ([Assign BGP policy to site via API](/api-reference/spa/bgp-dns-filter/bgp-policy/assign-bgp-policy-to-site)).
* The router will then be configured (via the [Management VPN](/management/management-vpn)) to utilize the selected BGP feeds, updating its routing table or firewall rules. Allow time for synchronization.
***
## Editing a Threat Feed Policy
Access the Altostrat portal and navigate to **Policies → Threat Feeds**.
Click on the name of the policy you wish to modify. Toggle the desired threat feeds (BGP/DNR Lists) on or off as needed within the policy configuration.
Click **Save** or **Update**. Changes automatically propagate to all sites using this policy, updating their routing/firewall configurations. ([Update BGP policy via API](/api-reference/spa/bgp-dns-filter/bgp-policy/update-bgp-policy)).
***
## Removing a Threat Feed Policy
Deleting a Threat Feed Policy also removes its configuration from any sites using it. This disables the associated routing or firewall rules derived from its feeds, potentially increasing the site's exposure to threats if no alternative protection is active.
Go to **Policies → Threat Feeds** and identify the policy you want to delete.
Click the **Remove** or **Trash** icon next to the policy and confirm your choice. This deletes the policy definition itself. Sites previously using it will have the corresponding configurations removed. ([Delete BGP policy via API](/api-reference/spa/bgp-dns-filter/bgp-policy/delete-bgp-policy)).
To stop applying a policy to a specific site **without deleting the policy definition**, navigate to the site's configuration and assign a different Threat Feed policy or remove the current assignment ([Remove BGP policy from site via API](/api-reference/spa/bgp-dns-filter/bgp-policy/remove-bgp-policy-from-site)).
***
## Programmatic Management (Threat Feed Policy API)
Threat Feed policies using BGP/DNR can be managed programmatically via the Altostrat API. Key endpoints include:
* **Create BGP Policy**: `POST /bgp/policy` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/create-bgp-policy))
* **List BGP Policies**: `GET /bgp/policy` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/list-bgp-policies))
* **Get BGP Policy Details**: `GET /bgp/policy/{policy}` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/get-bgp-policy-details))
* **Update BGP Policy**: `PUT /bgp/policy/{policy}` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/update-bgp-policy))
* **Delete BGP Policy**: `DELETE /bgp/policy/{policy}` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/delete-bgp-policy))
* **Assign BGP Policy to Site**: `POST /bgp/{site_id}` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/assign-bgp-policy-to-site))
* **Remove BGP Policy from Site**: `DELETE /bgp/{site_id}` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/remove-bgp-policy-from-site))
* **List Available BGP/DNR Feeds**: `GET /bgp/category` ([API Docs](/api-reference/spa/bgp-dns-filter/bgp-policy/list-bgpdnr-lists))
Refer to the specific API documentation for request/response details.
***
## Best Practices
* **Understand Feed Sources**: Know the origin and nature of each BGP/DNR feed (e.g., bogons, active threats) to assess potential impact and false positive risks.
* **Monitor Routing/Firewall Impact**: Check the router's routing table (for blackholes) and firewall logs/rules to see how the feeds are being implemented and what traffic is being blocked.
* **Start Selectively**: Implement conservative feeds first (like bogon lists) before adding more aggressive threat feeds. Monitor network reachability closely after adding new feeds.
* **Layered Security**: Use Threat Feeds (IP/BGP layer) in conjunction with [Content Filtering](/core-concepts/content-filtering) (DNS layer) for comprehensive protection.
* **Regular Audits**: Periodically review feed selections and policy assignments to align with current security needs and threat landscape.
# Teams
Source: https://altostrat.io/docs/sdx/core-concepts/teams
Organize users into teams for resource ownership, collaboration, and scoped access control in Altostrat SDX.
## Introduction
In Altostrat SDX, a **Team** is the primary way to group users and manage access to shared resources. Think of a team as a workspace or a container for collaboration. Every resource you manage within Altostrat SDX (like Sites, Policies, VPNs, Scripts, etc.) belongs to a specific team.
Access control is layered:
1. A user must be a **member** of a team to potentially access its resources.
2. The user's assigned **Role(s)** *within that specific team* determine *what* actions they can perform on the team's resources, based on the [Permissions (Scopes)](/core-concepts/roles-and-permissions) granted by those roles.
## Key Concepts
* **Resource Ownership:** All manageable resources are owned by a Team, not individual users. This ensures clear ownership and facilitates handover if team members change.
* **Collaboration:** Teams allow groups of users working on common infrastructure or projects (e.g., a Network Operations team, a regional support group, a specific client project) to share visibility and control over the relevant resources.
* **Scoped Access:** A user's permissions are always evaluated within the context of their currently active team. They only see and manage resources belonging to that team, according to their assigned roles within it.
* **Multi-Team Membership:** A single user account can be a member of multiple teams, allowing individuals to participate in different projects or departments without needing separate logins. They can switch between their active team contexts using the team switcher in the UI or via API.
* **Team Owner:** The user who creates a team is designated as its Owner. The Owner typically has full administrative privileges within that team (often assigned a default 'Administrator' or 'Owner' role) and is usually the only one who can delete the team or transfer ownership (though specific permissions can vary).
* **Site Limit (Optional):** Teams can optionally have a specific 'Site Limit' configured. If set to a value greater than 0, this limit restricts the number of sites *this specific team* can manage, potentially overriding a higher limit set at the organizational/subscription level. A value of 0 means the team uses the available organization-wide limit.
## Managing Teams
Team management involves viewing, creating, updating, switching between, and deleting teams. These actions typically require specific permissions (scopes).
### Viewing Teams
* **UI:** Navigate to **Settings → Teams** in the dashboard to see a list of teams you belong to.
* **API:** Use `GET` [/teams](/api-reference/spa/authentication/teams/list-users-teams) to retrieve a list of teams accessible to the authenticated user.
### Creating a Team
Requires the `team:create` permission scope.
Go to **Settings → Teams** and click the **+ New** or **+ Add Team** button.
Provide a descriptive **Team Name** (e.g., "Network Operations Center", "Client Alpha Support", "Security Audit Team") and click **Add ->**.
The team is created, and the creator is automatically assigned as the Owner and added as a member. (API: `POST` [/teams](/api-reference/spa/authentication/teams/create-team)). You can now manage its members and settings.
### Editing a Team
Requires the `team:update` permission scope (or Owner privileges).
From the **Settings → Teams** overview, click on the name of the team you want to modify.
You can typically modify the **Team Name** and the optional **Site Limit**. Member management (adding, removing, changing roles) is also done from the team settings screen but is detailed under [User Management](/core-concepts/users). Changes are usually saved automatically as you make them. (API: `PUT` [/teams/\{team}](/api-reference/spa/authentication/teams/update-team)).
### Switching Active Team
If you are a member of multiple teams, you need to select which team's context you are currently working in. The active team determines which resources are visible and manageable.
* **UI:** Use the Team Switcher dropdown, usually located in the main navigation or sidebar.
* **API:** Use the `PUT` [/teams/\{team}/switch](/api-reference/spa/authentication/teams/switch-current-team) endpoint to change the active team context for subsequent API calls using the same authentication token/session.
### Deleting a Team
Requires the `team:delete` permission scope (or Owner privileges).
**This action is permanent and cannot be undone.** Deleting a team typically also deletes **all resources** owned by that team (sites, policies, etc.). Ensure any critical resources are moved or backed up before proceeding. You generally cannot delete a team if you are the sole owner and there are other members, or if critical resources are still associated with it.
From the **Settings → Teams** overview, choose the team you wish to delete.
Within the team's settings, find and click the **Delete Team** button or trash can icon.
A confirmation dialog will appear, warning about the consequences. Carefully read the confirmation and proceed if you are certain. (API: `DELETE` [/teams/\{team}](/api-reference/spa/authentication/teams/delete-team)).
## Managing Members and Invites
Adding users to a team, inviting new users, removing members, and assigning their roles within the team are managed within the specific team's settings (**Settings → Teams → \[Select Team] → Members**).
For detailed instructions on these actions, please refer to the [User Management](/core-concepts/users) documentation.
## Best Practices
* **Use Descriptive Names:** Choose team names that clearly indicate the team's purpose or scope (e.g., "EU Support", "Project Phoenix", "Read-Only Auditors").
* **Align Teams with Responsibilities:** Create teams based on functional roles, projects, or client groupings to simplify permission management.
* **Leverage Multiple Teams:** Don't hesitate to place users in multiple teams if their responsibilities cross functional boundaries.
* **Review Team Ownership:** Ensure the designated Team Owner is appropriate and active. Plan for ownership transfer if necessary.
* **Utilize Site Limits Sparingly:** Only set per-team site limits if you need to enforce stricter quotas than the overall organizational subscription allows for specific groups.
# User Management
Source: https://altostrat.io/docs/sdx/core-concepts/users
Manage portal users and notification recipients, assign roles within teams, and understand resource access in Altostrat SDX.
# User Management in Altostrat SDX
Altostrat SDX manages access control through **Users**, **Teams**, and **Roles**. A user account represents an individual who can interact with the platform or receive notifications. Access to resources (like sites or billing information) is determined by a user's membership in a Team and the Roles assigned to them within that team.
## User Types: Portal vs. Notification-Only
Altostrat supports two primary user distinctions based on their ability to log in:
| **Characteristic** | **Portal User (`allow_login: true`)** | **Notification-Only User (`allow_login: false`)** |
| :------------------------------- | :------------------------------------ | :------------------------------------------------ |
| **Can Log In?** | ✅ Yes | ❌ No |
| **Receives Notifications?** | ✅ Yes | ✅ Yes |
| **Can Own Resources?** | ✅ Yes (via Team Membership) | ❌ No |
| **Requires Email Verification?** | ✅ Yes (for login) | ❌ No |
| **Typical Use Case** | Admins, Operators, Team Members | Stakeholders, Alert Recipients |
Essentially, the ability to log in (`allow_login` flag) is the key differentiator. Notification-Only users are primarily recipients for alerts and reports without needing dashboard access.
## Creating Users
Users can be added to Altostrat SDX in two main ways:
### 1. User Self-Registration
* Individuals can sign up themselves via the Altostrat authentication portal (e.g., `https://auth.altostrat.app`).
* They must verify their email address to activate their account.
* Once registered, they can either create their own Organization and Team or accept an invitation to join an existing Team.
* See [User Registration](/getting-started/user-registration) for the user perspective.
### 2. Admin Creation (UI / API)
* An administrator with the appropriate permissions (`user:create` scope) can create new users directly within a Team context.
* **Via UI:** Typically done through the **Settings -> Users** or **Team Settings -> Members** section by clicking "Add User" or similar.
* **Via API:** Use the `POST` [/users](/api-reference/spa/authentication/user-management/create-or-add-user-to-team) endpoint.
* **Required Information:** When creating via Admin/API, you'll typically provide:
* `name`: User's full name.
* `email`: User's unique email address.
* `allow_login` (Boolean): Set to `true` for a Portal User, `false` for a Notification-Only User.
* `timezone`: User's preferred timezone (defaults based on creator's IP if not provided via API).
* *(Optional)* `mobile`: Phone number details for SMS notifications.
* *(Optional)* `roles`: An array of Role IDs to assign within the current team context.
* **Important:** When creating a Portal User via API with `allow_login: true` who doesn't use SSO, a temporary password will be generated and returned in the API response. This should be securely communicated to the user, who should change it upon first login. Email verification will also be required.
## Managing Team Membership & Roles (Granting Access)
Access to resources like sites, billing, or VPNs is controlled by **Team membership** and the **Roles** assigned within that team. To grant a user access:
1. **Navigate to Team Members:** Go to **Settings → Teams**, select the relevant Team, and navigate to its **Members** list.
2. **Add or Invite the User:**
* **Add Existing User:** If the user already has an Altostrat account, use the "Add Member" function (requires `user:create` or similar scope) and search for their email.
* **Invite New User:** If the user doesn't have an account or you want them to register first, use the "Invite" function (requires `teams:invite-users` scope). Enter their email address to send an invitation link. (API: `POST` [/teams/\{team}/invites](/api-reference/spa/authentication/teams/invite-user-to-team)).
3. **Assign Roles:** During the add/invite process (or by editing the member later), assign the appropriate **Role(s)**. The selected roles determine the user's permissions *only within this specific team*. Refer to [Roles & Permissions](/core-concepts/roles-and-permissions) for details on configuring roles and scopes.
If adding an existing user and they don't appear in the search, ensure they have verified their email address after registration.
## Managing User Profiles
Users can manage some of their own profile details. Administrators with `user:update` scope can modify details for other users within their teams.
1. **Locate the User:** Find the user in **Settings → Users** or within a specific **Team → Members** list. Click on their name or an 'Edit' icon.
2. **Edit Details:** Modify fields such as:
* Name
* Email Address (requires re-verification)
* Mobile Number (for SMS, requires re-verification)
* Timezone, Locale, Date/Time Formats
* `allow_login` status (to enable/disable portal access)
* Assigned Roles (within the team context)
3. **Save Changes:** Confirm the updates. (API: `PUT` [/users/\{user}](/api-reference/spa/authentication/user-management/update-user-details)).
## Disabling User Login
To prevent a Portal User from logging in while retaining their account for notifications or historical reference:
1. Edit the user's profile as described above.
2. Set the `allow_login` toggle or checkbox to **false** (disabled).
3. Save the changes. (API: `PUT` [/users/\{user}](/api-reference/spa/authentication/user-management/update-user-details))
The user will no longer be able to log in via password or SSO, but their association with teams and notification settings remain.
## Deleting / Removing Users
Removing a user has different implications:
* **Removing from a Team:** This revokes the user's access to *that specific team's* resources and removes their role assignments *for that team*. They remain an Altostrat user and may belong to other teams.
* **UI:** Go to **Team Settings → Members**, find the user, and select "Remove".
* **API:** `DELETE` [/teams/\{team}/members/\{user}](/api-reference/spa/authentication/teams/remove-team-member) (Requires `teams:remove-users` scope).
* **Caution:** You typically cannot remove the Team Owner.
* **Deleting User Account:** This permanently removes the user from the Altostrat SDX system. This is generally less common than removing from a team unless the user should have no access at all.
* **UI:** May be available under **Settings → Users** for users not associated with critical resources.
* **API:** `DELETE` [/users/\{user}](/api-reference/spa/authentication/user-management/delete-user) (Requires `user:delete` scope).
* **Caution:** You cannot delete a user who is the sole owner of an Organization or Team that still has members or resources. Ownership must be transferred first.
## Verification Processes
* **Email Verification:** Essential for Portal Users to log in. An email with a verification link is sent upon registration or email address change. Admins can trigger a resend via UI or API (`GET` [/users/\{user}/verification-notification/email](/api-reference/spa/authentication/user-management/resend-email-verification)).
* **Mobile Verification:** Required if a mobile number is added and SMS notifications are desired. Ensures SMS delivery is possible. A verification link is sent via SMS upon adding/changing a number. Admins can trigger a resend via UI or API (`GET` [/users/\{user}/verification-notification/mobile](/api-reference/spa/authentication/user-management/resend-mobile-verification)). Check [Supported SMS Regions](/resources/supported-sms-regions).
## Best Practices
* **Keep Team Memberships Accurate:** Regularly review who belongs to each team to ensure correct resource access. Remove users who no longer need access to a specific team's resources.
* **Use Roles Effectively:** Assign roles based on job function, adhering to the principle of least privilege. Create custom roles for specific needs.
* **Audit Regularly:** Periodically review all users in your organization, ensuring accounts are still needed and roles are appropriate. Disable or remove inactive/unnecessary accounts.
* **Prefer Disabling over Deleting:** For users who leave temporarily or just need login access revoked, disabling (`allow_login: false`) is often preferable to deletion as it preserves history and notification settings.
By effectively managing users, teams, and roles, you maintain a secure and organized Altostrat SDX environment.
# Billing & Subscriptions
Source: https://altostrat.io/docs/sdx/en/account/billing-and-subscriptions
Manage your subscriptions, payment methods, and view your billing history and invoices.
# Account Management Overview
Source: https://altostrat.io/docs/sdx/en/account/introduction
Learn how to manage your organization's account, users, and billing settings within Altostrat.
# User & Team Management
Source: https://altostrat.io/docs/sdx/en/account/user-and-team-management
Invite team members to your workspace and manage their roles and permissions for secure, collaborative access.
# Workspaces & Organizations
Source: https://altostrat.io/docs/sdx/en/account/workspaces-and-organizations
Understand and manage the hierarchical structure of workspaces and organizations for multi-tenancy.
# Generative AI for Scripts
Source: https://altostrat.io/docs/sdx/en/automation/generative-ai
Leverage our AI to generate RouterOS scripts from natural language prompts, accelerating your automation efforts.
# Automation Engine Overview
Source: https://altostrat.io/docs/sdx/en/automation/introduction
Discover how to automate complex network operations using our 'Zapier for networking' no-code workflow builder.
# Script Management & Orchestration
Source: https://altostrat.io/docs/sdx/en/automation/script-management
Centrally manage, schedule, and execute your custom RouterOS scripts across your entire fleet of devices.
# Building Workflows
Source: https://altostrat.io/docs/sdx/en/automation/workflows/building-workflows
A step-by-step guide to creating, testing, and deploying your first automation workflow, from trigger to action.
# Workflow Triggers & Webhooks
Source: https://altostrat.io/docs/sdx/en/automation/workflows/triggers-and-webhooks
Learn how to initiate workflows based on system events, schedules, or incoming webhooks from third-party services.
# Using the Vault for Secrets
Source: https://altostrat.io/docs/sdx/en/automation/workflows/using-the-vault
Securely store and use credentials, API keys, and other secrets within your automation workflows.
# Portal Configuration & Branding
Source: https://altostrat.io/docs/sdx/en/connectivity/captive-portals/configuration
Customize your captive portals with logos, terms of service, and various login providers like OAuth and coupons.
# Captive Portals for Guest Wi-Fi
Source: https://altostrat.io/docs/sdx/en/connectivity/captive-portals/introduction
Configure beautiful, branded guest Wi-Fi portals with flexible authentication methods for tenants and visitors.
# Connectivity Overview
Source: https://altostrat.io/docs/sdx/en/connectivity/introduction
Discover how Altostrat provides resilient, secure, and manageable connectivity for your distributed network.
# Managing Instances & Peers
Source: https://altostrat.io/docs/sdx/en/connectivity/managed-vpn/instances-and-peers
Learn how to configure your VPN instances and add site or user peers to your secure network.
# Managed VPN
Source: https://altostrat.io/docs/sdx/en/connectivity/managed-vpn/introduction
Create and manage a secure, encrypted network fabric for site-to-site and remote user connectivity.
# Configuring WAN Failover
Source: https://altostrat.io/docs/sdx/en/connectivity/wan-failover
Ensure business continuity by setting up automated failover and intelligent traffic steering across multiple internet links.
# Configuration Backups
Source: https://altostrat.io/docs/sdx/en/fleet/configuration-backups
Configure automated and on-demand backups for your device configurations and learn how to restore them.
# Control Plane Policies
Source: https://altostrat.io/docs/sdx/en/fleet/control-plane-policies
Secure management access (WinBox, SSH, API) to your devices with centralized, granular firewall policies.
# Fleet Management Overview
Source: https://altostrat.io/docs/sdx/en/fleet/introduction
Learn how to manage, monitor, and orchestrate your entire fleet of MikroTik devices from a single pane of glass.
# Managing Sites & Devices
Source: https://altostrat.io/docs/sdx/en/fleet/managing-sites-devices
Create, configure, and organize your sites and devices, and learn how to execute jobs and runbooks.
# Using Metadata & Tags
Source: https://altostrat.io/docs/sdx/en/fleet/metadata-and-tags
Organize and categorize your fleet using custom metadata and tags for powerful searching and automation.
# Secure Remote Access
Source: https://altostrat.io/docs/sdx/en/fleet/secure-remote-access
Use our unique 'Transient Access' feature to grant temporary, time-limited, and auditable access to your devices.
# Core Concepts
Source: https://altostrat.io/docs/sdx/en/getting-started/core-concepts
Understand the fundamental building blocks of the Altostrat platform, including Workspaces, Organizations, and the DUAL Framework.
# Welcome to Altostrat SDX
Source: https://altostrat.io/docs/sdx/en/getting-started/introduction
An overview of how Altostrat SDX transforms your MikroTik hardware into an AI-powered, compliant, and automated SD-WAN.
# Quickstart: Onboard Your First Device
Source: https://altostrat.io/docs/sdx/en/getting-started/quickstart-onboarding
Follow this step-by-step guide to connect your first MikroTik router to the Altostrat cloud in minutes.
# Dashboards & Real-time Metrics
Source: https://altostrat.io/docs/sdx/en/monitoring/dashboards-and-metrics
Utilize our dashboards to view real-time metrics for device health, interface statistics, and WAN performance.
# Fault Logging & Event Management
Source: https://altostrat.io/docs/sdx/en/monitoring/fault-logging
Understand how Altostrat detects, logs, and alerts on network events like device outages and link failures.
# Monitoring Overview
Source: https://altostrat.io/docs/sdx/en/monitoring/introduction
Learn how to gain deep visibility into the health and performance of your entire network.
# Configuring Notifications
Source: https://altostrat.io/docs/sdx/en/monitoring/notifications
Set up proactive alerts for critical network events to be delivered via Slack, Microsoft Teams, email, and more.
# SLA & Performance Reporting
Source: https://altostrat.io/docs/sdx/en/monitoring/reporting
Generate automated, on-demand reports to track uptime against SLAs and analyze long-term network performance.
# API Authentication Guide
Source: https://altostrat.io/docs/sdx/en/resources/api-authentication
Learn how to generate and use your API bearer tokens to securely interact with the Altostrat API.
# Platform Changelog
Source: https://altostrat.io/docs/sdx/en/resources/changelog
Stay up-to-date with the latest features, improvements, and changes to the Altostrat SDX platform.
# Resources Overview
Source: https://altostrat.io/docs/sdx/en/resources/introduction
Essential resources for developers and administrators integrating with the Altostrat platform.
# Trusted IPs & Service Endpoints
Source: https://altostrat.io/docs/sdx/en/resources/trusted-ips
A list of Altostrat's service IP addresses and domains for configuring firewall rules.
# Audit Logs & Compliance Reporting
Source: https://altostrat.io/docs/sdx/en/security/audit-logs
Maintain a complete, immutable record of all actions performed on your network for simplified auditing.
# BGP Threat Mitigation
Source: https://altostrat.io/docs/sdx/en/security/bgp-threat-mitigation
Proactively block malicious traffic from known botnets and threat actors using global threat intelligence feeds.
# DNS Content Filtering
Source: https://altostrat.io/docs/sdx/en/security/dns-content-filtering
Manage and restrict access to undesirable web content across your network using centralized DNS-based policies.
# Security Overview
Source: https://altostrat.io/docs/sdx/en/security/introduction
Learn about Altostrat's layered approach to network security, from the edge to the cloud.
# Security Groups & Firewalling
Source: https://altostrat.io/docs/sdx/en/security/security-groups
Create and manage centralized firewall policies and prefix lists to enforce a consistent security posture.
# Vulnerability Scanning (CVE)
Source: https://altostrat.io/docs/sdx/en/security/vulnerability-scanning
Continuously scan your devices for known vulnerabilities (CVEs) and get actionable recommendations for remediation.
# Adding a MikroTik Router to Altostrat SDX
Source: https://altostrat.io/docs/sdx/getting-started/adding-a-router
Follow these steps to integrate your prepared MikroTik router with the Altostrat SDX platform.
## Introduction
This guide details the process of integrating your prepared **MikroTik router** (configured as per the [Initial Configuration](/getting-started/initial-configuration) guide) with the **Altostrat SDX platform**. Completing these steps establishes a secure connection between your hardware and Altostrat, enabling monitoring, management, and the application of Altostrat's SDN and security services.
## Detailed Step-by-Step Integration Guide
### 1. Access the Altostrat Portal and Navigate to Sites
1. Log in to the Altostrat SDX portal at [https://sdx.altostrat.app](https://sdx.altostrat.app).
2. Navigate to the **Sites** section using the main menu. This area lists all locations/devices currently integrated with your account.
### 2. Create a Site Representation in Altostrat
1. Click the **+ Add** button to create a new logical representation for your physical router or location within Altostrat SDX.
Creating a "Site" in Altostrat generates a unique identifier and a container for the device's configuration,
policies, logs, and monitoring data within the platform. This conceptually relates to creating a site resource via
the API (e.g., `POST /site` ([API Docs](/api-reference/spa/async/sites/list-users-sites))).
### 3. Initiate the Router Integration (Express Deploy)
1. Once the site is created, navigate to its overview page. Click the **Add Router** button (or similar) to start the "Express Deploy" process.
2. This workflow securely generates the necessary commands to link your physical MikroTik hardware to this logical site representation in Altostrat SDX.
### 4. Select and Review Control Plane Policy
1. You may be prompted to select an initial **Control Plane Policy** for the device (or the default policy might be automatically selected). This policy governs basic management access and firewall settings. ([Learn More](/core-concepts/control-plane)).
> If only the default policy exists, this step might be skipped automatically.
2. Review the settings associated with the selected Control Plane Policy that will be applied during onboarding.
### 5. Accept Settings and Generate Bootstrap Command
1. Preview any initial configuration settings derived from the Control Plane policy (e.g., firewall rules, initial VPN parameters).
2. Click **Accept** to confirm. This triggers the generation of a unique, secure **Bootstrap Command**.
### 6. Copy the Generated Bootstrap Command
1. Altostrat SDX will display the one-time **Bootstrap Command**.
2. **Copy this entire command** to your clipboard. It contains a secure token linking it to this specific site onboarding process.
This command typically instructs the router to securely fetch an initial script from an Altostrat endpoint, using a
temporary Runbook token for authentication (Conceptually related to `GET /{id}` using a `RunbookToken` ([API
Docs](/api-reference/spa/async/bootstrap-&-adoption/get-bootstrap-script))).
### 7. Execute the Bootstrap Command on Your MikroTik Device
1. Access your MikroTik router's command line interface (CLI) using **Winbox (New Terminal)** or **SSH**.
2. **Paste the entire Bootstrap Command** copied from the Altostrat portal into the terminal and press **Enter**.
3. **Wait** for the script to execute. This may take a few moments.
**What the Bootstrap Command Does:**
* Downloads initial adoption scripts from Altostrat.
* Authenticates the device using the embedded secure token.
* Sends device hardware/software information back to Altostrat to complete the adoption process (Conceptually
related to `POST /adopt/{id}` ([API Docs](/api-reference/spa/async/bootstrap-&-adoption/adopt-device))).
* Establishes the persistent, secure [Management VPN](/management/management-vpn) tunnel to Altostrat.
* Installs a scheduler on the router for periodic check-ins (heartbeats) and job polling (Conceptually uses `POST
/poll` ([API Docs](/api-reference/spa/async/heartbeat/receive-heartbeat-&-get-job))).
### 8. Confirm Router Integration and Online Status
1. Return to the **Sites** page in the Altostrat SDX portal.
2. Refresh the page after a minute or two. Verify that your newly added router is listed and its status shows as **Online**.
An **Online** status indicates the router successfully completed the bootstrap process, established the Management
VPN, and is sending regular heartbeat signals to Altostrat.
3. **Troubleshooting**: If the router shows as **Offline** or doesn't appear:
* Verify the router still has internet connectivity (Step 4 in [Initial Configuration](/getting-started/initial-configuration)).
* Ensure the full bootstrap command was copied and executed correctly.
* Check the Altostrat [Orchestration Logs](/management/orchestration-log) for this site for any error messages related to the adoption process.
* Confirm firewall rules on intermediate networks aren't blocking the [Management VPN](/management/management-vpn) connection (TCP port 8443 outbound).
***
You have now successfully integrated your MikroTik router with Altostrat SDX. The device is ready for monitoring, and you can begin applying Altostrat's network and security services, such as [Threat Feeds](/core-concepts/threat-feeds) or [WAN Failover](/management/wan-failover), through policies assigned to this site.
# Captive Portal Setup
Source: https://altostrat.io/docs/sdx/getting-started/captive-portal-setup
Learn how to configure a Captive Portal instance and enable network-level authentication.
This document outlines the **fundamentals** and a **step-by-step guide** for setting up a Captive Portal in Altostrat. You'll also learn about **custom configurations** you can apply.
Before proceeding, confirm you have an [IDP Instance](/integrations/identity-providers) configured if you plan to use **OAuth 2.0** authentication (e.g., Google, Microsoft Azure). Otherwise, you won't be able to authenticate users via third-party providers.
## Step 1: Navigate to the Captive Portal Page
1. From your **Dashboard**, select **Captive Portal** (or a similarly named menu option).
2. You'll see an **Overview** or **Get Started** button to create a new Captive Portal instance.
3. Click **Get Started** (or **+ Add**).
## Step 2: Create Your Captive Portal Instance
1. Provide a **Name** for the instance, e.g. “Guest Wi-Fi Portal.”
2. Set the **Authentication Strategy** (currently OAuth 2.0 only).
3. Pick the **Identity Provider** you previously configured, or click **+** to create a new one.
4. Click **Next** to confirm and move to customization.
If you haven't created an IDP yet, follow our [Identity Providers](/integrations/identity-providers) guide before continuing.
### Captive Portal Customization
After initial setup, you'll be redirected to a **Customization** page where you can:
* **Branding**: Add logos, colors, and messaging.
* **Terms of Use**: Insert disclaimers or acceptable use policies for users to accept before accessing the network.
* **Redirects**: Control where users land post-authentication.
* **Voucher or Coupon Codes**: Issue time-limited or usage-limited codes for guests.
## Network Considerations
1. **Firewall Rules**
Ensure your MikroTik's firewall permits traffic for the Captive Portal flow.
2. **DHCP & DNS**
Confirm your router provides IP addresses and DNS resolution for guest clients.
## Step 3: Finalizing & Applying the Captive Portal
After you finish customizing:
1. Click **Add** or **Save** to finalize.
2. If your router is behind NAT, verify that the required ports are open or that the [Management VPN](/management/management-vpn) is set up for behind-NAT usage.
### Testing the Captive Portal
1. Connect a **test device** (phone, laptop, etc.) to your Wi-Fi or LAN.
2. When prompted by the Captive Portal, **log in** with the IDP you configured or a local account.
3. Confirm the **authentication** process succeeds, and you're able to browse the permitted network resources.
For public or guest-facing portals, regularly monitor the captive portal logs to ensure usage is within acceptable limits.
If you run into issues or need advanced behavior (like custom login pages or deeper policy integration), consult additional docs on [Transient Access](/getting-started/transient-access) or [Security Essentials](/core-concepts/security-essentials).
# Initial Configuration
Source: https://altostrat.io/docs/sdx/getting-started/initial-configuration
Prepare your MikroTik device with a clean configuration and updated firmware before integrating it with Altostrat SDX.
This page guides you through the recommended **initial setup** for your MikroTik device before you integrate it with the **Altostrat SDX** platform. Performing these steps ensures your router is in a known, clean state with basic connectivity and up-to-date firmware, facilitating a smoother onboarding process to access Altostrat's services.
The key preparation steps include:
* Resetting the device to clear previous configurations.
* Establishing a basic internet connection.
* Upgrading the RouterOS firmware to the latest stable version.
## Preparing Your MikroTik Router
Follow these procedures to prepare your device:
### 1. Verify Power and Boot Completion
1. **Power On**: Plug in your MikroTik router and allow 10–60 seconds for it to fully boot.
2. **Check Indicators**: Confirm the device is operational via its LCD panel, status LEDs, or boot completion sounds.
### 2. Physically Connect for Internet Access
1. **WAN Connection**: Connect an Ethernet cable from your upstream internet source (e.g., modem, switch) to the **ether1** port (or designated WAN port) on your MikroTik router.
2. **Device Connection Port**:
For detailed first-time connection guidance, refer to MikroTik's official documentation:
[https://help.mikrotik.com/docs/spaces/ROS/pages/328151/First+Time+Configuration](https://help.mikrotik.com/docs/spaces/ROS/pages/328151/First+Time+Configuration)
### 3. Reset RouterOS to Factory Default Settings
Starting with a clean configuration is highly recommended for predictable integration. Choose one method:
**Option A: Reset via LCD Panel (if available)**
1. Navigate the LCD menu to find **Factory Reset** (or similar).
2. Confirm the reset, potentially entering the default PIN `1234` if prompted.
The device will reboot. After reboot, it typically uses the default IP **192.168.88.1** for management access.
**Option B: Reset via Winbox or CLI**
1. Connect to the router using **Winbox** ([Download from MikroTik](https://help.mikrotik.com/docs/display/ROS/WinBox)) or SSH.
2. In Winbox, go to **System → Reset Configuration**. Crucially, check the box for **No Default Configuration** and click **Reset Configuration**.
3. Alternatively, in the CLI, run the command: `/system reset-configuration no-defaults=yes skip-backup=yes`
Using `no-defaults=yes` ensures the router starts completely blank, avoiding potential conflicts with Altostrat's
configuration pushes during onboarding.
### 4. Establish Basic Internet Connectivity
Ensure the router can reach the internet. This is necessary for firmware updates and communication with Altostrat SDX.
* **Using DHCP Client on WAN (ether1)**: (Most common method if your upstream network provides DHCP)
1. In Winbox: Go to **IP → DHCP Client**.
2. Click **Add New (+)**.
3. Set **Interface** to `ether1` (or your designated WAN port).
4. Ensure **Use Peer DNS** and **Add Default Route** are enabled (these are usually the defaults).
5. Click **Apply/OK**. Verify the status shows "bound" and that the router receives a valid IP address.
* **Using Static IP or PPPoE**: Configure **IP → Addresses** and **IP → Routes** (for static) or configure the **PPP** interface settings (for PPPoE) according to your Internet Service Provider's instructions.
**Confirm Internet Access**
Once the WAN connection is configured, verify connectivity:
1. Open a **New Terminal** in Winbox or use the CLI.
2. Run a ping test:
```bash theme={null}
/ping address=altostrat.io count=4
# Or ping a reliable public address
/ping address=8.8.8.8 count=4
```
3. Successful replies (0% packet loss) indicate the router is online. If pings fail, double-check your WAN configuration (IP address, subnet mask, gateway, DNS servers).
### 5. Update RouterOS Firmware
Running the latest stable firmware ensures compatibility, security, and access to the latest features needed for Altostrat SDX.
1. In Winbox, go to **System → Packages**.
2. Click the **Check For Updates** button.
3. In the window that appears, select the **stable** channel from the **Channel** dropdown menu.
4. Click **Check For Updates** again.
5. Compare the *Installed Version* shown with the *Latest Version*. If they are different, click the **Download\&Install** button.
The router will **reboot automatically** after downloading and installing the firmware update. You will need to reconnect to Winbox/CLI after the reboot.
6. **Check RouterBOARD Firmware:** After the RouterOS update and reboot, it's good practice to go to **System → RouterBOARD** in Winbox. Check if the *Current Firmware* differs from the *Upgrade Firmware*. If an upgrade is available and recommended, click the **Upgrade** button and reboot the router once more when prompted.
For more details on RouterOS upgrades, see MikroTik's documentation: [https://help.mikrotik.com/docs/display/ROS/Upgrading+and+installation](https://help.mikrotik.com/docs/display/ROS/Upgrading+and+installation)
***
Your MikroTik router should now be reset, online, and updated, making it ready for the next step: onboarding it onto the Altostrat SDX platform.
Proceed to [Adding a Router](/getting-started/adding-a-router) to integrate your prepared device with Altostrat SDX.
# Introduction
Source: https://altostrat.io/docs/sdx/getting-started/introduction
Altostrat SDX is designed for both small networks and large-scale deployments, providing robust tools to simplify management, bolster security, and maximize uptime-using your existing, compatible hardware.
Welcome to **Altostrat SDX**-the streamlined solution for connecting your supported third-party network hardware to the Altostrat ecosystem. SDX empowers you to centrally configure, monitor, and automate networks using devices such as **MikroTik routers**, unlocking Altostrat's advanced SDN and security services with minimal friction.
## Key Benefits of Altostrat SDX
* **Unified Dashboard:** Manage all integrated sites and security policies via a single, intuitive interface.
* **Automated Workflows:** Orchestrate scripts, schedule jobs, and review logs for hands-free operations on connected hardware.
* **Access to Altostrat Services:** Enable secure Management VPNs, Transient Access for remote support, and WAN Failover for resilience.
* **Flexible Integrations:** Seamlessly connect with communication platforms (Slack, Teams) and Identity Providers (Google, Azure).
***
## Getting Started: MikroTik Integration
Follow these essential steps to onboard your **MikroTik hardware** with Altostrat SDX:
Learn how to reset, connect, and update your MikroTik device before adding it to Altostrat SDX.
Create your Altostrat account or invite team members to collaborate.
Securely onboard a MikroTik router via SDX and configure management basics.
Use WinBox or SDX Transient Access to reach integrated devices behind NAT.
***
## Explore Altostrat Services via SDX
Once your hardware is integrated, you can leverage advanced Altostrat services through SDX:
Restrict or allow specific categories of websites across your network.
Block malicious IPs using BGP-delivered threat intelligence feeds.
Combine multiple internet links on your hardware for high availability.
Connect Slack, Teams, or external IDPs like Google or Azure for logins and alerts.
# Remote WinBox Login
Source: https://altostrat.io/docs/sdx/getting-started/remote-winbox-login
How to securely access your MikroTik router using WinBox, even behind NAT.
This guide explains how to **securely access** your MikroTik router using **WinBox** through the **Management VPN**. Even if your router is behind a NAT firewall, you can establish on-demand access via **Transient Access** credentials.
## Introduction
When you add a MikroTik router to Altostrat, we automatically configure a secure tunnel called the [Management VPN](/management/management-vpn). This VPN enables enables you to create **temporary access** to the router—called **Transient Access**—by generating short-lived credentials for WinBox or SSH. Once they expire, these credentials are automatically revoked, keeping your device secure.
## Requirements
* Your MikroTik router must be **connected** to the Altostrat platform.
* You have **WinBox** installed on your computer.
* Both the **router** and your **computer** must have internet access.
## Step-by-Step Instructions
### 1. Log in to the Altostrat Portal
1. Visit [https://sdx.altostrat.app](https://sdx.altostrat.app) and sign in.
2. Locate **Sites** from the main menu.
### 2. Select a Site
1. From the **Sites** page, click on the **site** that contains the router you want to access.
2. Wait for the site overview to load.
### 3. Open Transient Access
1. Click on the **Transient Access** tab (or similarly labeled section).
2. You'll see any existing access sessions listed here.
### 4. Generate Transient Access Credentials
1. Click **Add** or **New** to generate fresh credentials.
2. Choose the **Access Type** (e.g., WinBox) and specify if full admin or read-only is needed.
3. Confirm or edit the **CIDR** or IP range from which you'll connect (defaults to your IP).
4. Set an **expiration** time (e.g., 2 hours).
5. Click **Add ->** to receive a username/password and endpoint.
Because these credentials expire and are unique, you can share them safely with authorized teammates.
### 5. Copy and Use the Credentials
1. Click **Copy** next to the credential block or manually copy the username/password and endpoint.
2. **Open WinBox** on your PC or Mac.
3. In the **Connect To** field, paste the **endpoint**.
4. Enter the **username** and **password** as displayed in the credentials menu.
5. Click **Connect**.
Once credentials are validated, WinBox will launch a direct session to your router through the Management VPN.
If you Click on the **Winbox** button next to the **Credentials** button and you have our application installed, the winbox session will automatically launch the Winbox utility.
## Revoking Transient Access (Optional)
If you need to remove credentials before they expire:
1. Return to the site's **Transient Access** tab in the Altostrat portal.
2. Locate the session under **Active Credentials**.
3. Click **Revoke** to invalidate them immediately.
When revoked, the credentials no longer function, and the NAT session on the regional server is torn down.
If you run into issues, check the [Orchestration Log](/management/orchestration-log) to diagnose connection attempts or errors.
# Transient Access
Source: https://altostrat.io/docs/sdx/getting-started/transient-access
Secure, on-demand credentials for MikroTik devices behind NAT firewalls.
**Transient Access** offers temporary, secure credentials to remotely manage your MikroTik devices via the [Management VPN](/management/management-vpn). Whether you need **WinBox** or **SSH** access, Altostrat issues time-limited logins that automatically expire, ensuring minimal exposure.
## Introduction
When you onboard a router into Altostrat, our system establishes a [Management VPN](/management/management-vpn). **Transient Access** leverages this VPN to grant short-lived credentials for direct router management.
By default, credentials last a few hours, but you can customize them for your use case.
## Key Features
* **Temporary Credentials**
Each login is unique and auto-revokes upon expiration.
* **Reduced Attack Surface**
No permanent open ports—transient sessions only exist as needed.
* **Easy Sharing**
Admins can create credentials for a teammate or a vendor, limiting risk.
## How It Works
1. **Generate Credentials**
From a site’s **Transient Access** tab, click **Add** to create new logins.
2. **Select Permissions**
Choose whether users get full admin or read-only.
3. **Set Duration**
Define how long the credentials remain valid (e.g., 2 hours).
4. **Distribute or Use**
Copy the username, password, and endpoint into **WinBox** or an **SSH** client.
### Express Onboarding vs. Manual
* **Express**: Altostrat pre-configures your device for transient sessions automatically.
* **Manual**: If you prefer granular control, ensure the router’s firewall and NAT are set up for [Remote WinBox Login](/getting-started/remote-winbox-login) or [Captive Portal Setup](/getting-started/captive-portal-setup).
## Prerequisites
* A **MikroTik** router connected to Altostrat.
* **WinBox** or **SSH** client installed on your local machine.
* Sufficient privileges in the **Altostrat** portal to generate credentials.
## Creating Transient Access
1. **Open Altostrat Portal**
Login at [https://sdx.altostrat.app](https://sdx.altostrat.app).
2. **Navigate to Sites**
Select the **site** with the router you want to access.
3. **Transient Access Tab**
Click **Transient Access** from the site’s overview.
4. **Add Credentials**
Specify **Access Type** (WinBox or SSH), define **Access Duration**, and set an **IP whitelist** if necessary.
5. **Copy or Share**
The generated username/password and endpoint can be shared or used immediately.
### Revoking Credentials
In the same tab, locate the **Active Sessions** list. Click **Revoke** next to any session to invalidate those credentials before their expiry.
Revoking removes the session instantly. The user will lose router access if they’re still logged in.
## Best Practices
* **Short Durations**: Limit time frames to reduce risk.
* **Restricted IP Ranges**: If possible, specify which IP or CIDR can use these credentials.
* **Regularly Check**: Audit active sessions under **Transient Access** to ensure all are valid and necessary.
You can now create secure, time-bound sessions for behind-NAT MikroTik devices without permanently exposing your network. If you need further guidance, consult [Remote WinBox Login](/getting-started/remote-winbox-login) or check the [Management VPN](/management/management-vpn) page for deeper insights.
# User Registration
Source: https://altostrat.io/docs/sdx/getting-started/user-registration
Learn how to create your personal Altostrat SDX user account via self-registration or by accepting a team invitation.
# Registering for an Altostrat SDX Account
Creating a user account is the first step to accessing the Altostrat SDX platform, managing your resources, or receiving notifications. This guide covers the self-registration process.
If someone has already invited you to join their Team, you should follow the link in your invitation email first. If
you don't have an account, the invitation process will guide you through registration. If you simply need to grant
an existing user access to *your* resources, see [Managing Team
Membership](/core-concepts/users#managing-team-membership-and-roles-granting-access).
## Registration Methods
You can typically register for an Altostrat SDX account using:
1. **Email and Password:** Create a local Altostrat SDX account directly.
2. **Social/Work Accounts:** Use existing credentials from providers like Google, Microsoft, or GitHub (if enabled on the login page). This simplifies login as you don't need to manage a separate password for Altostrat SDX.
## Self-Registration Steps
Follow these steps if you are signing up without a prior invitation:
Navigate your web browser to the main Altostrat SDX login page:
[https://auth.altostrat.app](https://auth.altostrat.app)
On the login page, look for and click the "Register," "Sign Up," or similar link to begin the account creation
process.
Fill in the required information:
* **Name:** Your full name.
* **Email:** Your unique email address (this will be your primary identifier).
* **Password:** Create a strong password. Refer to the [Password Policy](/resources/password-policy).
* Accept any **Terms of Service** if presented.
Click "Register" or the equivalent button to submit the form. (API: This initiates the process corresponding to
`POST` [/register](/api-reference/web-unauthenticated/register-store)).
Check the inbox for the email address you registered with. You will receive an automated email containing a
verification link.
**Click this link to activate your account.**
Verification links typically expire after a set period (e.g., 60 minutes). If the link expires, you can
usually request a new one from the login page or via an API call if needed ([/users/\{user}/verification-notification/email](/api-reference/spa/authentication/user-management/resend-email-verification)).
Check your spam/junk folder if you don't see the email.
**You must verify your email before you can log in.**
Once your email is verified, return to [https://auth.altostrat.app](https://auth.altostrat.app) and log in with
the credentials you created (or using the Social/Work provider if you chose that method).
Upon your first login, the system will guide you through initial setup:
* **Organization & Team:** Since all resources belong to a Team within an Organization, you'll likely be
prompted to:
* **Create a New Organization:** If you're the first user from your company. You'll also create your first
default Team.
* **(Potentially) Request to Join:** If an Organization associated with your email domain already exists, you
might be able to request to join it (subject to approval).
* **Profile Setup:** You may be prompted or can navigate to settings to configure preferences like your
[Timezone](/api-reference/spa/authentication/ancillary-services/get-supported-timezones) and date/time formats.
Having membership in at least one Team is necessary to manage resources like sites, devices, or policies within
Altostrat SDX.
## Accepting a Team Invitation
If an existing user invites you to their Team:
1. You will receive an **invitation email**.
2. Click the **acceptance link** in the email.
3. If you **don't** have an Altostrat SDX account, you will be prompted to **register** (using email/password or a social provider) as part of the acceptance process.
4. If you **do** have an account, you may be asked to log in first.
5. Once accepted, you will be automatically added as a member to the specified Team with the role assigned by the inviter. You typically won't need to manually create or join an Organization/Team in this flow.
## Next Steps
After successfully registering and setting up your initial team/organization:
* Explore the Altostrat SDX Dashboard.
* Begin [Adding a MikroTik Router](/getting-started/adding-a-router).
* Invite other [Users](/core-concepts/users) to your team.
* Configure [Roles & Permissions](/core-concepts/roles-and-permissions).
# Google Cloud Integration
Source: https://altostrat.io/docs/sdx/integrations/google-cloud-integration
Connect Altostrat with Google Cloud for user authentication and secure OAuth 2.0 flows.
Use **Google Cloud** as an **identity provider** for Altostrat, allowing users to authenticate with their Google account. This guide shows how to **create a Google Cloud Project**, enable **OAuth 2.0**, and integrate it with Altostrat.
## Prerequisites
* A **Google Cloud** account or existing project.
* Admin rights in **Altostrat** to configure integrations.
## Part 1: Google Cloud Setup
1. Go to the [Google Cloud Console](https://console.cloud.google.com/).
2. Click Select a Project or New Project if you need a fresh project.
3. Name the project (e.g., “Altostrat Auth”) and confirm creation.
4. Wait for the project to be created.
1. In the left-hand menu, choose APIs & Services → Credentials.
2. Click + Create Credentials → OAuth client ID.
If not set up, Google prompts you to configure an OAuth Consent Screen.
* Choose External (if public) or Internal (if limited to your org's domain).
* Fill out app information, then save.
1. Select Web application as the application type.
2. Under Authorized redirect URIs, add:
[https://auth.altostrat.app/callback](https://auth.altostrat.app/callback)
3. Click Create. Copy the generated Client ID and Client
Secret.
If you have specific domain verification or branding requirements, complete those steps in the OAuth Consent
Screen configuration.
***
## Part 2: Altostrat Integration
From the Altostrat dashboard, choose Captive portal → Identity Providers.
Look for a Google Cloud or Google option. Fill in the Client
ID and Client Secret from your GCP project.
Confirm settings and attempt a test sign-in to verify functionality.
***
## Troubleshooting
* **OAuth Errors**
Ensure your Client ID and Client Secret are correct. Mismatched callback URLs can cause redirect\_uri\_mismatch errors.
* **Consent Screen Issues**
If users see a warning that the app isn't verified, finalize the OAuth consent process in Google Cloud.
* **Check Orchestration Logs**
If Altostrat reports authentication errors, check the [Orchestration Log](/management/orchestration-log) or Google Cloud's APIs & Services → Credentials logs for details.
***
## Updating or Removing the Integration
1. **Google Cloud**
Under APIs & Services → Credentials, edit or delete the OAuth client if you need to rotate secrets.
2. **Altostrat**
In Integrations, remove or update the Google Cloud entry, which immediately affects user logins via Google.
Removing this integration will prevent any user relying on Google OAuth from logging in. Make sure you have an
alternate login method or user in place.
# Identity Providers
Source: https://altostrat.io/docs/sdx/integrations/identity-providers
Configure external OAuth 2.0 or SSO providers like Google, Azure, or GitHub for Altostrat authentication.
Altostrat **Identity Provider (IDP)** integrations let users **log in** using their existing accounts—reducing password fatigue and simplifying onboarding. You can configure various **OAuth 2.0** or **SSO** providers to suit your organization's needs.
## Why Use External IDPs?
* **Single Sign-On (SSO)**: Streamline user authentication with corporate or social accounts.
* **Improved Security**: Leverage well-established providers (e.g., Google, Microsoft Azure) with built-in MFA or domain control.
* **Reduced Overhead**: Fewer credentials to manage means less admin work for your team.
***
## Supported Identity Providers
| **Provider** | **Description** |
| --------------------------- | ------------------------------------------------------------------------ |
| **Google Cloud** | Allow logins with Google accounts (Gmail or corporate Google Workspace). |
| **Microsoft Azure (Entra)** | Use Azure AD credentials; suits environments with Microsoft 365. |
| **GitHub (IDP)** | Great for open-source or developer-oriented teams logging in via GitHub. |
If you need another provider, Altostrat supports **generic OAuth 2.0** setups that may work with Okta, Auth0, or other SSO platforms.
***
## Creating an IDP Instance
From the dashboard, navigate to Integrations → Identity Providers.
Click Add or + New. Provide a Name (e.g., “GitHub SSO”).
Enter the Client ID, Client Secret, and any required Tenant/Domain details from your
chosen provider.
If you're unsure, see:
* [Google Cloud Integration](/integrations/google-cloud-integration)
* [Microsoft Azure Integration](/integrations/microsoft-azure-integration)
* [GitHub IDP Setup](/integrations/github) (if available)
Ensure the callback [https://auth.altostrat.app/callback](https://auth.altostrat.app/callback) is registered in your provider's console.
Click Save. Use a test user to attempt an OAuth login. If everything is correct, you're good to
go.
***
## Editing or Removing an IDP
Under Integrations → Identity Providers, find the one you want to modify.
Update Client Secret if you rotate it, or remove the IDP if you no longer need it.
Deleting an IDP prevents any user relying on that method from logging in. Make sure you have alternative access for
administrative tasks if needed.
***
## Best Practices
* **Multiple IDPs**: You can enable multiple providers so users can choose how to log in.
* **Policy Enforcement**: Ensure you have [Roles & Permissions](/core-concepts/roles-and-permissions) set up for newly created users from any IDP.
* **Failover**: Maintain at least one admin account with native Altostrat credentials in case external IDPs have outages or misconfigurations.
If you encounter issues, check the [Orchestration Log](/management/orchestration-log) or contact [Altostrat Support](/support) for further assistance.
# Integrations Overview
Source: https://altostrat.io/docs/sdx/integrations/integrations-overview
Overview of how Altostrat connects with external platforms for notifications, authentication, and more.
Altostrat supports **multiple integrations** to enhance your workflow—whether it’s sending notifications via Slack or Microsoft Teams, or handling user logins through external providers like Google or Azure AD.
## Why Integrate?
* **Notifications**: Push alerts to popular messaging platforms so teams get real-time updates.
* **OAuth & SSO**: Allow users to log in with existing corporate or personal accounts (Google, Azure, GitHub, etc.).
* **Streamlined Operations**: Reduce overhead by automating tasks or bridging data across your existing tools.
## Key Integration Categories
1. **Communication Tools**
Forward critical alerts or changes to Slack, Microsoft Teams, or email distribution lists.
2. **Identity Providers**
Leverage OAuth 2.0 or third-party SSO for user authentication.
3. **Custom Webhooks**
For advanced scenarios, push or pull data from your internal services.
***
## Supported Integrations
| **Integration** | **Description** |
| ---------------------- | ---------------------------------------------------------------------------------- |
| **Slack** | Automatically post alerts to specific channels. |
| **Microsoft Teams** | Route notifications to dedicated channels for quick collaboration. |
| **Google Cloud** | Use Google credentials for single sign-on or link cloud services for data synergy. |
| **Microsoft Azure** | Employ Azure AD for user logins or tie in other Azure-based services. |
| **GitHub (IDP)** | Let developers or open-source collaborators log in using their GitHub accounts. |
| **Identity Providers** | Configure OAuth 2.0 connectors for a variety of third-party login services. |
### Before You Begin
Some integrations—like Slack or Microsoft Teams—require setting up **webhook URLs** or installing an **app**. Identity providers generally need you to **register** an application in their respective portals and supply client secrets to Altostrat.
## Setting Up an Integration
Navigate to Integrations in your Altostrat portal or settings menu.
Choose a tool, like Slack or Microsoft Teams. Follow the on-screen instructions.
For Slack, you might enter a webhook URL. For Azure AD, fill in Client ID, Client Secret, and Tenant ID.
Confirm the details. Send a test notification or try logging in to ensure the integration works.
***
## Editing or Removing Integrations
Under Integrations, find the service you want to modify.
Edit the settings or remove the connection. Some integrations can be temporarily disabled instead of fully uninstalled.
Removing an integration can break notifications or user logins that rely on it. Make sure you have backups or alternatives in place.
***
## More Information
* **Slack**: [Slack Integration](/integrations/slack)
* **Microsoft Teams**: [Teams Integration](/integrations/microsoft-teams)
* **Google / Azure / GitHub**: [Identity Providers](/integrations/identity-providers)
* **Check Orchestration Logs**: Use the [Orchestration Log](/management/orchestration-log) if your integration jobs fail or don’t appear as expected.
# Microsoft Azure Integration
Source: https://altostrat.io/docs/sdx/integrations/microsoft-azure-integration
Use Microsoft Entra (Azure AD) for secure user authentication in Altostrat.
Leverage **Microsoft Entra** (formerly **Azure AD**) for user logins in Altostrat. This guide explains how to register an app in the Azure portal, get the **client credentials**, and integrate them into Altostrat for **OAuth 2.0** flows.
## Prerequisites
* **Microsoft Azure** subscription with access to **Entra ID (Azure AD)**.
* Sufficient privileges in **Altostrat** to configure identity providers.
## Part 1: Azure Portal Setup
Go to [https://portal.azure.com](https://portal.azure.com) and sign in.
Use global search to find Microsoft Entra ID or Azure Active Directory.
1. In the Entra ID (Azure D) overview, click App registrations.
2. Select + New registration to create a new application.
3. Name the app (e.g., “Altostrat Login”) and choose Supported account types.
4. Under Redirect URI, pick Web and
enter [https://auth.altostrat.app/callback](https://auth.altostrat.app/callback).
1. After registering, note the Application (client) ID and Directory (tenant)
ID.
2. Go to Certificates & secrets to generate a Client Secret. Copy the
secret's value immediately.
You won't be able to view the client secret again after leaving the page. Store it in a safe place.
***
## Part 2: Altostrat Configuration
From the Altostrat dashboard, choose Captive portal → Identity Providers.
Fill in the Client ID (Application ID), Client Secret, and Tenant ID from your Azure
app registration.
Click Save, then perform a test sign-in to ensure Altostrat redirects to Azure and back
successfully.
***
## Troubleshooting
* **Redirect URI Mismatch**
Ensure [https://auth.altostrat.app/callback](https://auth.altostrat.app/callback) matches the one in your Azure app.
* **Invalid Client Secret**
If you see authentication errors, regenerate a new secret in **Certificates & secrets**, then update Altostrat.
* **User Domain Restrictions**
If you set Single Tenant in Azure, only users from your tenant can log in. For external users, you need Multi-Tenant or Personal Accounts enabled.
* **Check Orchestration Logs**
Failed logins or token errors appear in the [Orchestration Log](/management/orchestration-log).
***
## Updating or Removing the Integration
1. **Azure Portal**
Modify or delete the app registration if you need to rotate secrets or allow different account types.
2. **Altostrat**
In Integrations, remove or edit the Microsoft Azure entry.
If removed, users depending on Azure AD **can't log in** until another method is configured.
Deleting the integration breaks any user logins that rely on Microsoft Entra credentials. Have a fallback admin
account if needed.
# Microsoft Teams
Source: https://altostrat.io/docs/sdx/integrations/microsoft-teams
Integrate Altostrat notifications and alerts into Microsoft Teams channels.
By connecting **Microsoft Teams** with Altostrat, you can receive **real-time notifications** directly in your Teams channels—helping your team collaborate faster on critical network events.
## Prerequisites
* A **Microsoft Teams** workspace with permissions to manage connectors or install apps.
* An **Altostrat** account with enough privileges to set up integrations.
## Setting up the Microsoft Teams Webhook
Launch Microsoft Teams and choose the channel you'd like to use for Altostrat notifications.
Right-click the channel name and select Manage channel or go to Connectors in the channel settings.
Search for Incoming Webhook and click Add. If prompted, confirm installation.
Name your webhook (e.g., “Altostrat Notifications”) and optionally upload a custom icon.
Once created, **copy** the generated webhook URL—this is critical for the Altostrat setup.
***
## Integrate the Webhook with Altostrat
Go to Integrations from the Altostrat dashboard or settings menu.
Find the Teams integration and enter the webhook URL you copied from Microsoft Teams.
Click Test to send a test notification from Altostrat to confirm messages appear in the chosen Teams channel.
If the test fails, ensure the webhook URL is correct and that the Teams channel allows external connectors.
***
## Troubleshooting
* **No Message in Teams**
Double-check the webhook URL and verify external connector settings.
* **Rate Limits**
Microsoft Teams may have rate limits for messages. Slow down or batch notifications if you encounter errors.
* **Orchestration Logs**
If alerts are shown as sent in Altostrat but don't appear in Teams, consult the [Orchestration Log](/management/orchestration-log) for details on message delivery attempts.
***
## Removing or Updating the Integration
1. **Microsoft Teams Channel**
Remove or reconfigure the Incoming Webhook in the channel's connector settings.
2. **Altostrat**
In the Integrations tab, remove or edit the Microsoft Teams entry.
Deleting the integration immediately stops all future messages from appearing in Teams. Ensure you have alternative alert methods before disabling.
# Slack
Source: https://altostrat.io/docs/sdx/integrations/slack
Send Altostrat alerts to Slack channels for quick incident collaboration.
**Slack Integration** allows Altostrat to post **alerts**, **fault notifications**, and **SLA breach messages** into specified Slack channels, improving collaboration when issues arise.
## Prerequisites
* A **Slack** workspace where you have permission to add apps or configure incoming webhooks.
* An **Altostrat** account with admin rights to set up integrations.
## Setting up the Slack Webhook
Choose the channel in Slack where you want Altostrat alerts to appear.
Click on the channel name → Integrations (or use Slack's Apps directory).
Search for Incoming Webhooks and click Add.
Proceed to follow the in screen prompts to add the App.
Assign the webhook to your chosen channel. Slack provides a Webhook URL—copy it for the next
step.
***
## Integrating with Altostrat
From the Altostrat dashboard, click Integrations.
Select Slack from the list of integrations. Paste the webhook URL you got from Slack.
Changes will be saved automatically. You can send a test notification to verify that messages appear in the correct channel.
If the test message doesn't show up, confirm your webhook URL is correct and that Slack's **Incoming Webhook** integration is active.
***
## Troubleshooting
* **No Slack Notifications**
Make sure the Slack channel allows external webhooks and that the pasted URL is correct.
* **Rate Limits**
Slack might throttle excessive messages. If you see warnings, reduce the alert frequency or batch notifications.
* **Check Orchestration Log**
See the [Orchestration Log](/management/orchestration-log) for any errors if Altostrat says notifications were sent but Slack never receives them.
***
## Updating or Removing the Integration
1. **Slack**
Under **Apps** in Slack, remove or reconfigure the webhook if you need a new channel or changed credentials.
2. **Altostrat**
In Integrations, remove or edit the Slack entry to stop or reroute notifications.
Deleting the Slack integration stops all future alerts to Slack. Ensure another notification method is in place if
you rely on Slack for critical notifications.
# Backups
Source: https://altostrat.io/docs/sdx/management/backups
Manage and schedule configuration backups for MikroTik devices through Altostrat.
Regular **configuration backups** are crucial for maintaining recoverability and integrity of your MikroTik devices. Altostrat simplifies this by **automating** and **scheduling** backups, ensuring you always have **recent snapshots** on hand.
## Overview
Altostrat can create **daily backups** of your device configurations, storing them securely. These backups are accessible from the **Backups** page in the Altostrat portal, allowing you to quickly restore or compare configurations.
## Backup Schedules
* By default, backups occur daily.
* You can also trigger once-off backups at any time (e.g., before making major configuration changes to your devices.)
***
## Accessing Backups
From your Dashboard, click Sites, then pick the relevant site.
On the site's overview page, click Config Backups (or a similar option). Here, you'll see a
list of recent backups.
### Options for Each Backup
* **View**: Inspect the configuration file in plain text or compare it with another backup.
* **Download**: Obtain a local copy for offline storage.
* **Restore**: Apply the backup to revert the router to that configuration.
***
## Comparing Backups
Comparisons highlight **differences** between two backup snapshots.
Start by navigating to Scripts - Backup Scripts, and then select the site you wish to compare the backups for.
Check two backups from the list. The Comparison should appear automatically.
Lines in red indicate a difference in the configuration.
***
## Restoring a Backup
Restoring a backup is a bit of a manual process still at the moment, but we are working on implementing an easier way to restore backups directly from the Altostrat UI.
In Config Backups, click the backup you want to restore and then click on the Download button to begin downloading the backup file.
Log in to your router (either locally, or via transient access), and then click on Files -> Upload
Open your file manager application, and then navigate to where you downloaded your backup file in Step 1 and then upload that script file to the device.
* Alternatively, you skip just drag and drop the file from where you downloaded it, to the Winbox application.
Wait for the upload to complete, as this may take some time, depending on the link speed between your machine and the device.
Once the upload has been completed, open up the Terminal in Winbox, and type the following command:
* `import ` and then press Enter/ Return
Wait for the file to be imported successfully.
Your router will most likely reboot, and or lose connectivity for a few minutes while all of the tunnels and configuration changes are taking place.
It is highly recommended to make a backup before launching this activity.
***
## Best Practices
* **Schedule Regularly**: Ensure daily or weekly backups to keep your snapshots fresh.
* **Compare Before Restoring**: Review diffs to confirm you're reverting the correct changes.
* **Download & Archive**: Keep offline copies of critical points in your device's lifecycle.
* **Check Logs**: Use the [Orchestration Log](/management/orchestration-log) to confirm backup jobs and spot failures or interruptions.
# Device Tags
Source: https://altostrat.io/docs/sdx/management/device-tags
Organize and categorize your MikroTik devices with custom tags in Altostrat.
**Device Tags** help you **categorize** and **filter** MikroTik routers within Altostrat. By assigning one or more labels, you can quickly locate devices by location, function, or status.
## Why Use Tags?
* **Organization**
Group devices by **region**, **role**, or **environment** (e.g., “Branch APs,” “Datacenter Core,” “Testing Lab”).
* **Filtering**
In the **Sites** view, filter devices by tag to see only those relevant to your current task.
* **Multi-Tag**
A single device can carry **multiple tags** if it belongs to multiple categories.
## Adding Tags
From the Dashboard, click Sites. You’ll see a list of all registered devices.
Hover over a site (or device) entry to reveal an Add Tag or Edit Tags button.
In the pop-up or sidebar, type the name of a new tag or select from existing ones. Choose a color if desired. Confirm to apply.
***
## Removing or Editing Tags
Hover over the site again and select Edit Tags.
Click on a tag to remove it, or rename its label if supported (usually by creating a new tag with the desired name).
If no devices remain with a particular tag, Altostrat automatically **deletes** that unused tag from the system.
***
## Filtering by Tags
1. **Sites View**
In the **Sites** list, look for a **Filter by Tag** dropdown or button.
2. **Select the Desired Tag**
Only devices carrying that tag appear, simplifying device management for large organizations.
***
## Best Practices
* **Use Clear, Meaningful Names**: Keep tags concise yet descriptive (e.g., “Floor-1,” “High-Priority,” “Customer-A”).
* **Combine Tags**: A device can have “NY-Office,” “Production,” and “Firewall” simultaneously.
* **Routine Cleanup**: Remove or rename obsolete tags to maintain clarity and consistency across your environment.
* **Enforce a Tagging Convention**: Decide on a standard format (e.g., location/function, etc.) to keep your docs tidy.
# Faults
Source: https://altostrat.io/docs/sdx/management/faults
Monitor and troubleshoot disruptions or issues in your network via Altostrat.
Altostrat **Faults** represent any disruptions or issues at your site—like **loss of connectivity**, **service degradation**, or **hardware failures**. The **Faults Dashboard** helps you **monitor** these in real-time and respond swiftly.
## What Are Faults?
A **Fault** signals a potential network problem, such as:
* **Heartbeat Failures** (router stops reporting)
* **WAN Tunnel Offline** (a monitored interface goes down)
* **Site Rebooted** (unexpected or scheduled device restart)
## How Faults Are Logged
Altostrat automatically detects and logs fault conditions. For example:
* **Heartbeat Checks** run every 30 seconds. If 10 consecutive checks fail, a fault entry is created.
* **Start Time** is backdated to when the first missed heartbeat occurred.
* **End Time** logs when communication is restored.
## Recent Faults Dashboard
From your main Dashboard, locate the Recent Faults tile. This shows any new or ongoing faults in the last 24 hours.
Click a fault entry to see more info, including timestamps, fault types, and affected devices.
If you haven't had any recent faults, the tile will be empty.
***
## Site-Specific Fault Logs
In Altostrat, go to Sites, then pick a site you want to investigate.
On the site's overview page, find Faults or Fault Event Log. Click it to view the site's entire fault history.
Here, you can scroll through **historical faults**, including those older than 24 hours.
***
## Interpreting Faults
* **WAN Tunnel Offline**
Indicates a disruption in the [Management VPN](/management/management-vpn) or a specific WAN interface.
* **Site Rebooted**
Logged if the router restarts, either by user action or an unexpected power cycle.
* **Site Offline**
A total loss of communication between the site and Altostrat.
### Downtime Calculations
Each fault also includes **downtime**. If the event overlaps your [Business Hour Policy](/core-concepts/notification-groups), this period is tallied in SLA or uptime reports.
***
## Tips & Troubleshooting
* **Use the Orchestration Log**
Check the [Orchestration Log](/management/orchestration-log) to see any recent scripts or commands that might have triggered a reboot or changed configs.
* **Investigate WAN**
If you see frequent **WAN Tunnel Offline** faults, verify your [WAN Failover](/management/wan-failover) settings or ISP connections.
* **Combine with Notifications**
Tie faults to [Notification Groups](/core-concepts/notification-groups) so the right people get alerted immediately.
# Management VPN
Source: https://altostrat.io/docs/sdx/management/management-vpn
How MikroTik devices connect securely to Altostrat for real-time monitoring and management.
Altostrat's **Management VPN** creates a secure tunnel for **real-time monitoring** and **remote management** of your MikroTik devices—even those behind NAT firewalls. This tunnel uses **OpenVPN** over **TCP 8443**, ensuring stable performance across varied network conditions.
```mermaid theme={null}
flowchart LR
A((MikroTik Router)) -->|OpenVPN TCP 8443| B([Regional Servers
mgnt.sdx.altostrat.io])
B --> C([BGP Security Feeds])
B --> D([DNS Content Filter])
B --> E([Netflow Collector])
B --> F([SNMP Collector])
B --> G([Synchronous API])
B --> H([System Log ETL])
B --> I([Transient Access])
```
## How It Works
1. **OpenVPN over TCP**
Routers connect to `:8443`, allowing management-plane traffic to flow securely, even through NAT.
2. **Regional Servers**
VPN tunnels terminate on regional clusters worldwide for optimal latency and redundancy.
3. **High Availability**
DNS-based geolocation resolves `mgnt.sdx.altostrat.io` to the closest cluster. Connections automatically reroute during regional outages.
***
## Identification & Authentication
* **Unique UUID**: Each management VPN tunnel is uniquely identified by a v4 UUID, which also appears as the **PPP profile** name on the MikroTik.
* **Authentication**: Certificates are managed server-side—no manual certificate installation is required on the router.
Comments like Altostrat: Management Tunnel often appear in Winbox to denote the VPN interface or PPP profile.
## Security & IP Addressing
* **Encryption**: AES-CBC or a similarly secure method is used.
* **Certificate Management**: All certs and key material are hosted centrally by Altostrat.
* **CGNAT Range**: Tunnels use addresses in the `100.64.0.0/10` space, avoiding conflicts with typical private LAN ranges.
***
## Management Traffic Types
Through this tunnel, the router securely transmits:
* **BGP Security Feeds**
* **DNS Requests** for content filtering
* **Traffic Flow (NetFlow)** data
* **SNMP** metrics
* **Synchronous API** calls
* **System logs**
* **Transient Access** sessions for on-demand remote control
Nonessential or user traffic does **not** route through the Management VPN by default, keeping overhead low.
***
## Logging & Monitoring
1. **OpenVPN logs** on Altostrat's regional servers track connection events, data transfer metrics, and remote IP addresses.
2. **ICMP Latency** checks monitor ping times between the router and the regional server.
3. **Metadata** like connection teardown or failures appear in the [Orchestration Log](/management/orchestration-log) for auditing.
***
## Recovery of the Management VPN
If the tunnel is **accidentally deleted** or corrupted:
In the Altostrat portal, select your site that lost the tunnel.
Look for a Recreate or Restore Management VPN button. Clicking it triggers a job to wipe the old config and re-establish the tunnel.
Wait a few seconds, then check if the router shows as Online. The tunnel should reappear under Interfaces in Winbox, typically labeled with the site's UUID.
***
## Usage & Restrictions of the Synchronous API
* **Read Operations**: Real-time interface stats and logs flow through this API.
* **Critical Router Tasks**: Certain operations like reboots also pass here.
* **No Full Configuration**: For major config changes, Altostrat uses asynchronous job scheduling to ensure reliability and rollback options.
If you need advanced control-plane manipulation, see [Control Plane Policies](/core-concepts/control-plane) or consult the [Management VPN Logs](/management/orchestration-log) for debugging.
# Managing WAN Failover
Source: https://altostrat.io/docs/sdx/management/managing-wan-failover
Create, reorder, and troubleshoot WAN Failover configurations for reliable multi-link setups.
This page details **advanced management** of WAN Failover, including manual failover, reordering interfaces, and fine-tuning routing distances.
## Setting up WAN Failover
If you haven't already created a WAN Failover configuration, see [WAN Failover](/management/wan-failover).
## Manual Failover and Interface Order
If you ever want to **manually initiate failover**:
1. Return to **WAN Failover** settings.
2. Rearrange interface priority using the **up/down arrows**.
3. Confirm the new priority.
Brief downtime may occur as the router switches from one interface to another.
***
## Routing Distances
**Routing Distance** determines which default route the router prefers.
Use Transient Access or WinBox to open a session.
If you haven't already used Transient Access, see [Transient Access](/getting-started/transient-access).
Go to IP → Routes in WinBox or run ip route print in CLI.
Double-click on a default route (0.0.0.0/0) and adjust its distance value. Lower distance = higher priority.
Do not change internet links to a 0 distance value, as this will have undesired consequences.
Depending on the Internet medium used, as well as the uplink connection (DHCP, PPPoE, Static, etc.) you may not have the option to change the routing distance here, and you will need to change the routing distance on the interface itself.
Save changes. Routes instantly update with the new priorities.
***
## Fine-Tuning WAN Links
1. **Check Orchestration Logs**
Confirm the router receives and applies changes.
2. **Review Failover Thresholds**
Some advanced setups let you specify how quickly the router decides a link is “down.”
3. **Monitor Interface Health**
Inspect SNMP or throughput metrics for anomalies.
***
## Removing WAN Failover
In Altostrat, select your site and go to the WAN Failover tab.
Click Deactivate or Remove. Confirm if prompted. The router reverts to single-WAN or default routing.
All interface configurations for WAN Failover will be cleared once you remove this service.
***
## Troubleshooting
* **No Failover During Outage**
Verify your DHCP or static routes are correctly set.
* **Repeated Flapping**
If an unstable link rapidly fails and recovers, consider increasing the detection interval or using a more stable primary link.
* **Lost Remote Access**
If you're forcibly failing over from a remote interface, have a backup connection or use [Transient Access](/getting-started/transient-access) through the Management VPN to restore connectivity.
Use these tips and the info above to manage WAN Failover smoothly and maintain high availability across multiple internet links.
# Orchestration Log
Source: https://altostrat.io/docs/sdx/management/orchestration-log
Track scripts, API calls, and automated tasks performed by Altostrat on your MikroTik devices.
Altostrat's **Orchestration Log** provides **transparent visibility** into the **actions** performed on your MikroTik devices. It captures **scripts**, **API calls**, and **automated tasks**, allowing you to monitor and troubleshoot changes across your network.
## Why the Orchestration Log Matters
* **Audit Trail**
Keep a record of who did what and when—essential for compliance.
* **Debugging**
If something goes wrong with a script or API call, you can quickly spot the failure reason.
* **Monitoring Automated Tasks**
See all scheduled or triggered actions performed by Altostrat's backend on your routers.
## Accessing the Orchestration Log
From your Dashboard, click on Sites, then select the site you want to investigate.
In the site's overview page, look for the Orchestration Log tab or menu option. Click it to open the device's orchestration records.
## Understanding the Log Interface
Each entry in the Orchestration Log typically shows:
* **Description**: Name or purpose of the action, e.g., “Create Configuration Backup” or “Deploy Policy.”
* **Created / Run**: Timestamp when the action was **initiated** and when it was **executed** (if applicable).
* **Status**: Indicates if the action is Pending, Completed, or Failed.
### Expanded Log Entry
Clicking an entry opens **detailed information** about the job:
* **Timestamped Events**: Each step, from job creation to completion.
* **Device Information**: Target device(s), site ID, or associated metadata.
* **Job Context**: JSON payload containing job ID, scripts, API calls, or additional parameters.
* **Status Messages**: “Job created,” “Script downloaded,” “Express execution requested,” etc.
## How to Use the Orchestration Log
1. **Track Automated Jobs**
Monitor things like firmware updates, backup schedules, or script executions.
2. **Verify Success**
Ensure tasks completed without errors. Look for Completed or Failed statuses.
3. **Troubleshoot Failures**
If a script failed, check the Status Message or Job Context for clues.
4. **Copy JSON**
For deeper analysis, copy the payload and share it with support or store it in your records.
## Best Practices
* **Regularly Check**: Make orchestration log reviews part of your change-management process.
* **Filter by Status**: Look for frequent failures or pending actions that never complete.
* **Combine with Notification Groups**: If you want alerts on specific job failures, create relevant rules in [Notification Groups](/core-concepts/notification-groups).
# Regional Servers
Source: https://altostrat.io/docs/sdx/management/regional-servers
Improve performance and minimize single points of failure with globally distributed clusters.
Altostrat’s **regional servers** form a **globally distributed infrastructure** that optimizes routing and reduces latency for routers connecting to the [Management VPN](/management/management-vpn). By **geographically** locating servers in different continents, we ensure minimal single points of failure.
## Purpose of Regional Servers
* **Optimal Routing**: DNS resolves each router to the closest regional server, cutting down on round-trip times.
* **Reduced Latency**: Traffic from your MikroTik device travels a shorter distance before entering Altostrat’s management plane.
* **High Availability**: If one region encounters downtime, DNS reroutes connections to another operational cluster.
## Example DNS Flow
```mermaid theme={null}
flowchart LR
A((mgnt.sdx.altostrat.io)) --> B[DNS-based Geo Routing]
B -->|Resolves Africa region| C(africa.sdx.altostrat.io)
C --> D[Load Balancer]
D --> E(afr1.sdx...)
D --> F(afr2.sdx...)
D --> G(afr3.sdx...)
D --> H(afr4.sdx...)
```
## Available Regional Servers
| **Location** | **FQDN** | **IP Address** |
| ------------------------------- | ------------------------ | ---------------- |
| 🇩🇪 Frankfurt, Germany | `europe.altostrat.io` | `45.63.116.182` |
| 🇿🇦 Johannesburg, South Africa | `africa.altostrat.io` | `139.84.235.246` |
| 🇦🇺 Melbourne, Australia | `australia.altostrat.io` | `67.219.108.29` |
| 🇺🇸 Seattle, USA | `usa.altostrat.io` | `45.77.214.231` |
*Last updated: 10 May 2024*
## Geographical DNS Routing
When a MikroTik router asks for mgnt.sdx.altostrat.io, Altostrat’s DNS determines the nearest regional
cluster based on the router’s IP geolocation.
The query returns a server address (e.g., europe.altostrat.io) located in Germany for routers in
nearby regions.
Shorter travel distance = better latency and faster management-plane interactions. During a regional outage, DNS
automatically resolves to the next available server cluster.
## Best Practices
* **Default Routing**
Let your MikroTik resolve `mgnt.sdx.altostrat.io` dynamically. Don’t hardcode IPs unless necessary.
* **Failover Awareness**
If your region is offline, the router automatically reconnects to another operational cluster once DNS updates.
* **Monitor**
Keep an eye on the [Orchestration Log](/management/orchestration-log) for any server-switching events.
If you have questions about a specific region or plan to deploy in an unlisted area, contact [Altostrat Support](/support) for guidance on expansions or custom routing.
# Short Links
Source: https://altostrat.io/docs/sdx/management/short-links
Simplify long, signed URLs into user-friendly short links for Altostrat notifications and emails.
Altostrat uses a **URL shortening service** to turn long, signed links into simpler, user-friendly short links. These short links are primarily used in **emails and notifications** to preserve readability.
## Introduction
All Altostrat-generated links contain a **signature** to ensure they haven’t been tampered with. Because these signatures can be lengthy, we employ a **short-link domain** to keep links concise.
## Link Format
The default structure for a short link looks like:
```text theme={null}
https://altostr.at/{short-code}
```
* **`altostr.at`** is the dedicated short-link domain.
* **`{short-code}`** uniquely maps back to the full, signed URL in Altostrat’s database.
## Using Short Links
You’ll encounter short links in emails, notifications, or shared references from Altostrat. For example, [https://altostr.at/abc123](https://altostr.at/abc123).
When clicked, Altostrat verifies the embedded signature to ensure the link remains valid.
If valid, the short link redirects to the intended long URL. Otherwise, you’ll see an error if the link is expired or tampered with.
## Rate Limits
Altostrat imposes **60 requests per minute per IP address** for short-link requests to:
* **Prevent abuse** (e.g., bots or DDoS attempts).
* **Maintain stability** across the URL shortener service.
The **target link** itself may have separate rate limits, potentially blocking requests if abused.
## Expiry
If no specific expiry is set, short links **automatically expire** after 90 days.
Once expired, the link produces an error if clicked. If you need a permanent link or want to re-share it, generate a fresh short link or direct users to the main portal reference.
## Security
Because each short link references a **signed** long URL:
* **Tamper-Proof**: The signature check prevents malicious rewrites.
* **No Plain-Text Secrets**: Sensitive query parameters stay hidden in the signed link, not the short code.
Should you encounter expired or invalid links, contact [Altostrat Support](/support).
# WAN Failover
Source: https://altostrat.io/docs/sdx/management/wan-failover
Enhance reliability by combining multiple internet mediums for uninterrupted cloud connectivity.
**WAN Failover** lets you **combine multiple internet connections** to ensure stable cloud connectivity, even if one or more links fail. Continuously monitoring each WAN interface, Altostrat automatically reroutes traffic to a healthy link if the primary link goes down.
## Key Benefits
* **Automatic Failover**
Traffic switches to a backup link within seconds of a primary link failure.
* **Link Monitoring**
Throughput and SNMP metrics are collected for real-time diagnostics.
* **Interface Prioritization**
Easily rearrange interfaces to set your preferred connection order.
* **Detailed Traffic Statistics**
Per-link metrics like latency, packet loss, and jitter help you troubleshoot.
***
## Setting Up WAN Failover
From your Altostrat dashboard, go to your site's WAN Failover section.
On the WAN Failover overview, click Enable or Add to activate the service.
If you see unconfigured interfaces, you can proceed to set them up next.
Each WAN interface represents a network medium (e.g., DSL, fiber, LTE).
* Click the gear icon next to WAN 1 to set an interface.
* Provide details like gateway IP and physical/logical interface name.
* Repeat for WAN 2, WAN 3, etc., if available.
Once interfaces are configured, you can adjust their order to set which link is primary or backup.
Click Confirm Priority when done.
***
## Best Practices
* **Monitor** the [Orchestration Log](/management/orchestration-log) for link failover events.
* **Set Interface Priorities** carefully to avoid redundant failovers.
* **Combine** with [Security Essentials](/core-concepts/security-essentials) to protect each WAN interface.
* **Test** failover occasionally by unplugging or simulating link loss to confirm expected behavior.
# Intelligent Bot Detection
Source: https://altostrat.io/docs/sdx/resources/account-security/bot-detection
Mitigate credential stuffing and other scripted attacks by detecting and challenging bots.
# Intelligent Bot Detection
Intelligent Bot Detection is your first line of defense against large-scale, automated attacks like credential stuffing. This **always-on** system is designed to distinguish between legitimate human users and malicious bots, adding a critical layer of security without creating unnecessary friction.
## How It Works
The system uses advanced statistical models and a vast amount of traffic data to identify patterns that indicate a scripted attack. When a login, signup, or password reset attempt is flagged as high-risk, the user is presented with an additional verification step.
This proactive defense helps to:
* Prevent account takeovers from credential stuffing.
* Stop bots from validating lists of stolen email addresses against your user base.
* Reduce the load on your system from malicious traffic.
## What You and Your Users Will Experience
For the vast majority of your users, the experience is seamless and transparent—they won't even know Bot Detection is running.
* **Legitimate Users:** Will log in normally without any interruption.
* **Suspicious Traffic:** If a login attempt is flagged as potentially being from a bot, our system will present **Auth Challenge**. This is a modern, CAPTCHA-free verification method that is easy for humans to solve but difficult for bots, providing strong security without the usual frustration of distorted text puzzles.
This feature is fully managed by Altostrat to ensure the optimal balance of security and usability.
## Trusted Networks
In some cases, you may have trusted internal tools or corporate networks that generate a high volume of legitimate automated traffic. If you find that Bot Detection is challenging these trusted sources, please **contact Altostrat support** with the relevant IP addresses or CIDR ranges, and we can add them to your tenant's allowlist.
# Breached Password Detection
Source: https://altostrat.io/docs/sdx/resources/account-security/breached-password-detection
Prevent users from using passwords that have been compromised in known third-party data breaches.
# Breached Password Detection
One of the greatest modern security risks is password reuse. When a user has the same password for multiple services, a data breach at one company can expose their accounts everywhere. Our **always-on** Breached Password Detection feature proactively protects your users and your application from this widespread threat.
## How It Works
Our system continuously monitors data from major public security breaches. When a user attempts to sign up or log in, we check their password against this massive database of known compromised credentials.
This check is performed securely and instantly, without ever exposing or storing the user's password in a reversible format.
For administrators interested in understanding this mechanism, any password starting with `AUTH0-TEST-` will be treated as breached, allowing you to observe the user experience safely.
## The User Experience
#### During Signup
If a new user tries to register with a password that is known to have been breached, the signup is **blocked**. They will receive an error message preventing them from using the compromised password and will be prompted to choose a different, more secure one. This enforces good password hygiene from the very beginning.
#### During Login
If an existing user attempts to log in with credentials that have been identified in a breach since their last login, the attempt is **blocked**. The user is informed that their account is at risk and will be required to reset their password before they can regain access.
## What This Means for Your Security
* **Automatic Enforcement of Password Hygiene:** You don't have to rely on users to follow best practices; the system automatically prevents the use of known-bad passwords.
* **Protection from Credential Stuffing:** This feature is a powerful defense against credential stuffing attacks, where attackers use lists of breached passwords to try and gain access.
* **Enhanced User Trust:** Users are protected even if their credentials are compromised on other platforms, reinforcing the security and integrity of your application.
# Brute-Force Protection
Source: https://altostrat.io/docs/sdx/resources/account-security/brute-force-protection
Safeguard individual user accounts from targeted, repeated login attempts.
# Brute-Force Protection
Brute-force attacks are a common method where an attacker focuses on a single user account and repeatedly tries different passwords, hoping to eventually guess the correct one. Our **always-on** Brute-Force Protection feature is designed to automatically detect and stop this activity.
## How It Works
Our system monitors consecutive failed login attempts for each individual user account.
1. **Detection:** After 10 consecutive failures for a single user from one IP, the system flags the activity as a potential brute-force attack.
2. **Block:** The suspicious IP address is immediately blocked from making any more login attempts *for that specific user account*. This targeted block ensures other users, and the targeted user from other locations, are not affected.
3. **Notification:** An email is automatically sent to the legitimate user, alerting them of the suspicious activity and the temporary block on their account from that IP.
**User-Empowering Security**
The email notification includes a secure link that allows the legitimate user to instantly unblock their account. This empowers them to take immediate control of their security without needing to create a support ticket.
## The User Experience: What Happens During an Attack
* **The Attacker:** Is immediately blocked from making further attempts from their IP address.
* **The Legitimate User:** Receives an email titled "Your account has been blocked". They can review the suspicious activity and, if it was them (e.g., they forgot their password), they can click the unblock link. If it wasn't them, they are alerted to the threat and can take action, such as changing their password.
* **Your Team:** Is protected from an account takeover, and your user is empowered to manage the situation, reducing your support load.
## What to Do if You're Blocked
If you or one of your users are blocked due to legitimately forgetting a password:
1. Check your email for the "Account Blocked" notification.
2. Click the "Unblock Account" link within the email.
3. If you still cannot remember your password, use the "Forgot Password" link on the login page to securely reset it.
# Account Security Overview
Source: https://altostrat.io/docs/sdx/resources/account-security/index
Learn how Altostrat SDX protects your user accounts from common and advanced threats.
# Account Security Overview
At Altostrat, the security of your users and your data is paramount. We've built a multi-layered security strategy directly into our platform to provide robust, automated protection against the most common types of identity-based attacks.
Powered by Okta's enterprise-grade security engine, these features are an integral, **always-on** part of the platform. They work silently in the background to safeguard your login and signup flows, ensuring that your legitimate users have a seamless experience while malicious actors are stopped in their tracks.
There is nothing you need to configure; your tenant is protected from day one. Explore the specific layers of your account security below to understand how we keep you safe.
Proactively identifies and challenges automated bots trying to perform credential stuffing attacks.
Mitigates high-velocity attacks from a single IP address targeting multiple user accounts.
Safeguards individual user accounts from targeted, repeated login attempts.
Prevents the use of passwords that have been compromised in known third-party data breaches.
# Suspicious IP Throttling
Source: https://altostrat.io/docs/sdx/resources/account-security/suspicious-ip-throttling
Protect against high-velocity attacks from single IP addresses targeting multiple user accounts.
# Suspicious IP Throttling
Suspicious IP Throttling is an **always-on** security layer that protects your applications from high-velocity attacks. These attacks occur when a malicious actor from a single IP address rapidly attempts to log in or sign up for many different user accounts.
This feature automatically identifies and blocks these sources of malicious traffic to protect your entire user base.
## How It Works
Our system continuously monitors the rate of login and signup attempts originating from every IP address globally. When the number of attempts from a single IP exceeds a predefined security threshold within a short period, that IP is flagged as suspicious.
Once flagged, the IP is temporarily throttled. Any further login or signup attempts from that IP will receive an `HTTP 429 Too Many Requests` error, effectively neutralizing the attack vector while legitimate users on other networks remain completely unaffected.
## What This Means for You
* **Automatic Protection:** There is nothing you need to configure. This protection is active for your tenant 24/7.
* **Admin Notifications:** When an IP address is throttled due to suspicious activity, your workspace administrators will receive an email notification, keeping you informed of potential threats.
* **Seamless User Experience:** Legitimate users will not be impacted by this feature. It is designed to only target high-velocity, abnormal traffic patterns that are clear indicators of an automated attack.
## Handling Shared IPs and Proxies
We understand that some legitimate scenarios, like users connecting from behind a large corporate NAT or proxy, can generate a high volume of traffic from a single IP. If you have a trusted IP address or range that needs to be exempt from throttling, please **contact Altostrat support**, and we can add it to your tenant's allowlist.
# Infrastructure IPs
Source: https://altostrat.io/docs/sdx/resources/infrastructure-ips
Learn about the static IP addresses used by the Altostrat SDX infrastructure.
This document lists the static IP addresses used by the Altostrat SDX infrastructure. Use this information to configure firewall rules, access control lists (ACLs), and other network policies to ensure your MikroTik devices can communicate reliably with our platform.
While this page provides a human-readable list, we maintain A and AAAA DNS records that contains an up-to-date list of all critical infrastructure IPs. For automated and resilient firewall configurations, we highly recommend using this record.
You can query it using a command-line tool like `dig`:
```bash theme={null}
dig infra-ips.altostrat.io
```
The result will be a list of all necessary IP addresses.
***
## MikroTik Asynchronous Management API
These are the primary endpoints that your MikroTik devices communicate with for asynchronous tasks, such as receiving jobs, sending heartbeats, and completing the adoption process.
| Address | Type |
| :---------------------------------------- | :--- |
| `76.223.125.108` | IPv4 |
| `15.197.194.200` | IPv4 |
| `2600:9000:a60e:db2a:4d51:9241:8951:9094` | IPv6 |
| `2600:9000:a50c:6014:c9e1:e1f7:4258:42e8` | IPv6 |
## WAN Failover Service
These anycast IP addresses are used by the [WAN Failover](/management/wan-failover) service for health checks and monitoring to determine the status of your internet links.
| Address | Type |
| :-------------- | :------ |
| `15.197.71.200` | Anycast |
| `35.71.132.82` | Anycast |
| `15.197.83.84` | Anycast |
| `75.2.53.242` | Anycast |
## Captive Portal Service
These anycast IP addresses are used for DNS and STUN services required for the [Captive Portal](/getting-started/captive-portal-setup) functionality to operate correctly.
| Address | Type |
| :--------------- | :------ |
| `15.197.88.90` | Anycast |
| `13.248.128.212` | Anycast |
## Regional Management Servers
Your devices establish a secure [Management VPN](/management/management-vpn) to one of our regional server clusters for real-time monitoring and synchronous API commands. We use GeoDNS to automatically direct your device to the nearest cluster for optimal performance.
The regional FQDN (e.g., `afr.sdx.altostrat.io`) typically resolves to a load balancer, which then distributes traffic to one of the individual servers in that region.
| Hostname | IP Address | Role |
| :--------------------------- | :--------------- | :-------------- |
| `africa-lb.sdx.altostrat.io` | `139.84.237.24` | Load Balancer |
| `afr1.sdx.altostrat.io` | `139.84.238.238` | Management Node |
| `afr2.sdx.altostrat.io` | `139.84.240.250` | Management Node |
| `afr3.sdx.altostrat.io` | `139.84.238.146` | Management Node |
| `afr4.sdx.altostrat.io` | `139.84.226.47` | Management Node |
| `afr5.sdx.altostrat.io` | `139.84.229.190` | Management Node |
| `afr6.sdx.altostrat.io` | `139.84.238.244` | Management Node |
| Hostname | IP Address | Role |
| :------------------------ | :--------------- | :-------------- |
| `eur-lb.sdx.altostrat.io` | `45.32.158.203` | Load Balancer |
| `eur1.sdx.altostrat.io` | `108.61.179.106` | Management Node |
| `eur2.sdx.altostrat.io` | `140.82.34.249` | Management Node |
| `eur3.sdx.altostrat.io` | `45.76.93.128` | Management Node |
| `eur4.sdx.altostrat.io` | `104.238.159.48` | Management Node |
| `eur5.sdx.altostrat.io` | `95.179.253.71` | Management Node |
| Hostname | IP Address | Role |
| :---------------------- | :------------ | :-------------- |
| `usa1.sdx.altostrat.io` | `66.42.83.99` | Management Node |
The Altostrat SDX Web Portal/Dashboard and the main REST API (`v1.api.altostrat.io`) are served via global Content Delivery Networks (CDNs). The IP addresses for these services are dynamic, geo-located, and subject to change without notice.
You should **not** create firewall rules based on the resolved IP addresses for these services, as they are not guaranteed to be static. The IPs listed on this page are sufficient for all device-to-platform communication.
***
## Firewall Configuration Summary
To ensure full functionality, your network firewall should allow outbound traffic from your MikroTik devices to the IP addresses listed on this page. At a minimum, ensure the following:
* **Outbound TCP/8443**: For the secure Management VPN tunnel to our [Regional Management Servers](#regional-management-servers).
* **Outbound TCP/443**: For the [MikroTik Asynchronous Management API](#mikrotik-asynchronous-management-api).
# Installable PWA
Source: https://altostrat.io/docs/sdx/resources/installable-pwa
Learn how to install Altostrat's Progressive Web App (PWA) for an app-like experience and offline support.
A **Progressive Web App (PWA)** offers a more **app-like** experience for your documentation or portal, complete with offline caching, background updates, and the ability to **launch** from your device’s home screen or application list.
## What is a PWA?
* **Web + Native Fusion**
PWAs combine the best of **web pages** with **native app** elements (e.g., offline capabilities).
* **Standalone Interface**
Once installed, the PWA runs like an app without needing a separate browser tab.
* **Background Updates**
A service worker checks for fresh content and prompts you to refresh if a new version is available.
***
## Installing the Altostrat PWA
Use Google Chrome, Microsoft Edge, or any modern browser that supports PWA
installation. Go to your Altostrat docs or portal URL.
In your browser’s address bar, you may see an Install or + icon. It could also
appear in the browser menu (e.g., Chrome → More Tools → Create shortcut).
A pop-up will ask if you want to install the app. Click Install to add the Altostrat PWA to
your device.
### Launching the Installed App
Once installed, the PWA appears alongside other apps on your **home screen** (mobile) or **application list** (desktop). Log in if necessary, and you’ll have an **immersive** experience without a traditional browser UI.
***
## PWA Updates
When the PWA starts, a **service worker** checks for updates:
1. **Background Download**
If a newer version exists, it silently downloads.
2. **Prompt to Refresh**
You’ll see a notification or dialog asking to refresh the app. Accepting applies the update.
Authentication usually happens at [https://auth.altostrat.app](https://auth.altostrat.app). If you’re not logged in, the PWA
redirects there before returning to the app.
***
## Tips & Best Practices
* **Pin It**: On mobile, place the PWA icon on your home screen for quick access.
* **Offline Usage**: Some content may remain accessible offline, depending on how your caching is configured.
* **Uninstalling**: Remove it like any other app—on desktop, right-click the app icon; on mobile, press and hold to uninstall.
* **Account Security**: If using shared devices, remember to log out of the PWA when done.
By installing the **Altostrat PWA**, you get a streamlined, **app-like** interface for documentation, management tasks, and real-time alerts, all within your device’s native environment. If you have issues or need assistance, reach out to [Altostrat Support](/support).
# Password Policy
Source: https://altostrat.io/docs/sdx/resources/password-policy
Requirements for secure user passwords in Altostrat.
Altostrat enforces **strong password requirements** to enhance account security. This document outlines those requirements and details how passwords are **securely stored**.
## Password Requirements
1. **Minimum Length**: At least **8 characters**.
2. **Required Characters**:
* **Uppercase Letter** (A–Z)
* **Lowercase Letter** (a–z)
* **Number** (0–9)
* **Special Character** (e.g., `!`, `@`, `#`, `$`)
3. **Password History**: You cannot reuse any of your **last 3** passwords.
## Secure Storage
Altostrat **never** stores passwords in plain text. Instead, passwords are hashed (using something like **bcrypt**) so:
* **One-Way Hashing**: During login, Altostrat hashes the entered password and compares it to the stored hash.
* **Hash Comparison**: If they match, the user is authenticated.
* **No Plain Text**: Even if the database is compromised, attackers cannot reverse the hashed passwords.
## Best Practices
* **Use Unique Passwords**: Reusing passwords across multiple services puts all accounts at risk.
* **Enable MFA (2FA)** if available for an extra security layer.
* **Password Manager**: Consider using one to generate and store complex passwords.
* **Regular Rotations**: Change passwords periodically, especially after any security incident.
## Changing or Resetting Your Password
1. **Portal Users**
* Go to your account settings in Altostrat.
* Find the **Change Password** option and enter a new one meeting the criteria above.
2. **Forgotten Password**
* Use the **Forgot Password** link at [https://auth.altostrat.app](https://auth.altostrat.app).
* An email with a reset link will be sent. Check spam or junk folders if not received.
If you are required to adhere to a specific organizational policy that is stricter than Altostrat’s defaults, please
contact your administrator for any additional requirements.
# Supported SMS Regions
Source: https://altostrat.io/docs/sdx/resources/supported-sms-regions
List of countries where Altostrat's SMS delivery is enabled, plus any high-risk or unsupported regions.
SMS delivery services are not available in all regions. Check the lists below to confirm if your country is
supported.
Altostrat uses **phone number prefixes** to determine if SMS delivery is allowed. Some countries are **disabled** due to high risk or minimal user volume.
## Supported Regions
| **Country Name** | **Number Prefix** |
| --------------------------------------------------------------- | ---------------------- |
| Anguilla | +1264 |
| Ascension | +247 |
| Belize | +501 |
| Cayman Islands | +1345 |
| Curaçao & Caribbean Netherlands (Bonaire, Sint Eustatius, Saba) | +599 |
| Dominican Republic | +1849 |
| El Salvador | +503 |
| Guadeloupe | +590 |
| Honduras | +504 |
| Mexico | +52 |
| Panama | +507 |
| St Lucia | +1758 |
| Trinidad & Tobago | +1868 |
| Virgin Islands, British | +1284 |
| Antigua & Barbuda | +1268 |
| Bahamas | +1242 |
| Bermuda | +1441 |
| Costa Rica | +506 |
| Dominica | +1767 |
| Greenland | +299 |
| Guatemala | +502 |
| Jamaica | +1876 |
| Montserrat | +1664 |
| Puerto Rico | +1787 |
| St Pierre & Miquelon | +508 |
| Turks & Caicos Islands | +1649 |
| Virgin Islands, U.S. | +1340 |
| Aruba | +297 |
| Barbados | +1246 |
| Canada | +1 |
| Cuba | +53 |
| Dominican Republic (Alt prefixes) | +1829, +1809, +1809201 |
| Grenada | +1473 |
| Haiti | +509 |
| Martinique | +596 |
| Nicaragua | +505 |
| St Kitts & Nevis | +1869 |
| St Vincent & the Grenadines | +1784 |
| United States | +1 |
| **Country Name** | **Number Prefix** |
| -------------------- | ----------------- |
| Afghanistan | +93 |
| Bahrain | +973 |
| Brunei | +673 |
| East Timor | +670 |
| India | +91 |
| Iraq | +964 |
| Jordan | +962 |
| Kuwait | +965 |
| Lebanon | +961 |
| Maldives | +960 |
| Nepal | +977 |
| Turkmenistan | +993 |
| Vietnam | +84 |
| Armenia | +374 |
| Cambodia | +855 |
| Georgia | +995 |
| Kyrgyzstan | +996 |
| Macau | +853 |
| Mongolia | +976 |
| Philippines | +63 |
| Saudi Arabia | +966 |
| Syria | +963 |
| Thailand | +66 |
| United Arab Emirates | +971 |
| Yemen | +967 |
| Bhutan | +975 |
| China | +86 |
| Hong Kong | +852 |
| Iran | +98 |
| Japan | +81 |
| Korea (Republic of) | +82 |
| Laos | +856 |
| Malaysia | +60 |
| Myanmar | +95 |
| Qatar | +974 |
| Singapore | +65 |
| Taiwan | +886 |
| Türkiye (Turkey) | +90 |
| Uzbekistan | +998 |
| **Country Name** | **Number Prefix** |
| ---------------------------------- | ----------------- |
| Albania | +355 |
| Andorra | +376 |
| Austria | +43 |
| Belarus | +375 |
| Belgium | +32 |
| Bosnia & Herzegovina | +387 |
| Bulgaria | +359 |
| Canary Islands | +3491 |
| Croatia | +385 |
| Cyprus | +357 |
| Czech Republic | +420 |
| Denmark | +45 |
| Estonia | +372 |
| Faroe Islands | +298 |
| Finland/Aland Islands | +358 |
| France | +33 |
| Germany | +49 |
| Gibraltar | +350 |
| Greece | +30 |
| Guernsey/Jersey | +44 |
| Hungary | +36 |
| Iceland | +354 |
| Ireland | +353 |
| Isle of Man | +44 |
| Italy | +39 |
| Kosovo | +383 |
| Latvia | +371 |
| Liechtenstein | +423 |
| Lithuania | +370 |
| Luxembourg | +352 |
| Malta | +356 |
| Moldova | +373 |
| Monaco | +377 |
| Montenegro | +382 |
| Netherlands | +31 |
| Norway | +47 |
| Poland | +48 |
| Portugal | +351 |
| North Macedonia | +389 |
| Romania | +40 |
| San Marino | +378 |
| Serbia | +381 |
| Slovakia | +421 |
| Slovenia | +386 |
| Spain | +34 |
| Sweden | +46 |
| Switzerland | +41 |
| Turkey Republic of Northern Cyprus | +90 |
| Ukraine | +380 |
| United Kingdom | +44 |
| Vatican City | +379 |
| **Country Name** | **Number Prefix** |
| ---------------- | ----------------- |
| Argentina | +54 |
| Bolivia | +591 |
| Brazil | +55 |
| Chile | +56 |
| Colombia | +57 |
| Ecuador | +593 |
| Falkland Islands | +500 |
| French Guiana | +594 |
| Guyana | +592 |
| Paraguay | +595 |
| Peru | +51 |
| Suriname | +597 |
| Uruguay | +598 |
| Venezuela | +58 |
| **Country Name** | **Number Prefix** |
| ---------------------- | ----------------- |
| Angola | +244 |
| Benin | +229 |
| Botswana | +267 |
| Burkina Faso | +226 |
| Burundi | +257 |
| Cameroon | +237 |
| Cape Verde | +238 |
| Central Africa | +236 |
| Chad | +235 |
| Comoros | +269 |
| Congo, Dem Rep | +243 |
| Djibouti | +253 |
| Egypt | +20 |
| Equatorial Guinea | +240 |
| Eritrea | +291 |
| Ethiopia | +251 |
| Gabon | +241 |
| Gambia | +220 |
| Ghana | +233 |
| Guinea | +224 |
| Guinea-Bissau | +245 |
| Ivory Coast | +225 |
| Kenya | +254 |
| Lesotho | +266 |
| Liberia | +231 |
| Libya | +218 |
| Madagascar | +261 |
| Malawi | +265 |
| Mali | +223 |
| Mauritania | +222 |
| Mauritius | +230 |
| Morocco/Western Sahara | +212 |
| Mozambique | +258 |
| Namibia | +264 |
| Niger | +227 |
| Réunion/Mayotte | +262 |
| Rwanda | +250 |
| Sao Tome & Principe | +239 |
| Senegal | +221 |
| Seychelles | +248 |
| Sierra Leone | +232 |
| Somalia | +252 |
| South Africa | +27 |
| South Sudan | +211 |
| Sudan | +249 |
| Swaziland (Eswatini) | +268 |
| Tanzania | +255 |
| Togo | +228 |
| Uganda | +256 |
| Zambia | +260 |
| **Country Name** | **Number Prefix** |
| ------------------------------- | ----------------- |
| American Samoa | +1684 |
| Australia / Cocos / Xmas Island | +61 |
| Cook Islands | +682 |
| Fiji | +679 |
| French Polynesia | +689 |
| Guam | +1671 |
| Kiribati | +686 |
| Marshall Islands | +692 |
| Micronesia | +691 |
| New Caledonia | +687 |
| New Zealand | +64 |
| Niue | +683 |
| Norfolk Island | +672 |
| Northern Mariana Islands | +1670 |
| Palau | +680 |
| Papua New Guinea | +675 |
| Samoa | +685 |
| Solomon Islands | +677 |
| Tonga | +676 |
| Tuvalu | +688 |
| Vanuatu | +678 |
***
## Unsupported Regions & Services
### High-Risk Regions
| **Country Name** | **Number Prefix** | **Region** |
| ------------------- | ----------------- | ---------: |
| Algeria | +213 | Africa |
| Bangladesh | +880 | Asia |
| Nigeria | +234 | Africa |
| Tunisia | +216 | Africa |
| Zimbabwe | +263 | Africa |
| Palestine Territory | +970, +972 | Asia |
| Russia/Kazakhstan | +7 | Asia |
| Sri Lanka | +94 | Asia |
| Tajikistan | +992 | Asia |
| Oman | +968 | Asia |
| Pakistan | +92 | Asia |
| Azerbaijan | +994 | Asia |
### Satellite & International Networks
| **Network** | **Number Prefix** |
| --------------------- | ----------------- |
| Inmarsat Satellite | +870 |
| Iridium Satellite | +881 |
| International Network | +883, +882 |
Service availability can change. Check periodically for updates or contact [Altostrat Support](/support) if you need
an unsupported region enabled.
# API Authentication
Source: https://altostrat.io/docs/sdx/sdx-api/authentication
Securely authenticate requests to the Altostrat SDX API using API Keys or OAuth 2.0.
# API Authentication
Welcome to the Altostrat SDX API documentation. This guide explains how to securely authenticate your requests depending on how you intend to interact with the platform.
**API Base URL:** `https://api.altostrat.io`
## Authentication Methods Overview
Altostrat SDX utilizes distinct authentication methods tailored to different use cases:
1. **API Keys (Developer API):**
* **Use Case:** For external developers, scripts, or services integrating with Altostrat SDX programmatically.
* **Mechanism:** Long-lived, team-specific API Keys used directly as Bearer tokens in the `Authorization` header.
2. **OAuth 2.0 (Web Application / SPA):**
* **Use Case:** Used by the official Altostrat SDX web application and potentially other first-party or trusted client applications authenticating *as a user*.
* **Mechanism:** Standard OAuth 2.0 flows (Authorization Code or Implicit Grant) result in short-lived JWT Bearer tokens managed by the client application.
3. **Internal M2M Tokens:**
* **Use Case:** Communication between Altostrat's internal backend microservices.
* **Mechanism:** Service-specific, private Bearer tokens. **Not available or documented for external use.**
## Developer API Authentication (Using API Keys)
To interact with the main Altostrat SDX API endpoints programmatically (e.g., managing teams, users, billing outside the official web UI), you need an API Key.
### Obtaining an API Key
* API Keys are generated within the Altostrat SDX web application.
* Navigate to your **Team Settings** > **API Credentials** section. *(Note: Exact UI path may vary)*.
* You can create multiple keys, typically one per integration or application, giving each a descriptive name.
* Each API Key is **scoped to the specific Team** it was created under. It can only access resources associated with that team.
### API Key Format
An API Key has the following structure:
`{tokenId}:{teamId}:{secret}`
* `tokenId`: The unique UUID of the API token record.
* `teamId`: The UUID of the team the token belongs to.
* `secret`: A randomly generated secret string (62 characters).
**Important:** The `{secret}` part is only shown **once** upon creation. Store it securely.
### Using the API Key
Include your full API Key in the `Authorization` header of your API requests using the `Bearer` scheme:
```http theme={null}
GET /teams HTTP/1.1
Host: api.altostrat.io
Authorization: Bearer 9c16437d-aaaa-bbbb-cccc-adfbfc156d0c:9b52d930-dddd-eeee-ffff-4c12dff85544:Kq5z...rA9p
Accept: application/json
Content-Type: application/json
```
*(Replace the example key with your actual API Key)*
### Security & Rate Limiting
* **Treat your API Keys like passwords.** Do not expose them in client-side code or public repositories.
* Generate separate keys for different applications and revoke any compromised keys immediately via the web UI.
* API requests using these keys are rate-limited to **60 requests per minute** per key. Exceeding this limit will result in `429 Too Many Requests` errors.
## Web Application / SPA Authentication (OAuth 2.0)
The official Altostrat SDX web application (and potentially other trusted clients) uses OAuth 2.0 to authenticate users.
* **Flow:** Users log in via the web interface (using username/password or an external Identity Provider like Google, Microsoft, GitHub). The application then handles an OAuth 2.0 flow (likely Authorization Code grant) to obtain a JWT (JSON Web Token).
* **Usage:** This JWT is automatically included as a `Bearer` token in the `Authorization` header for subsequent API calls made by the web application itself.
* **End-User Impact:** As an end-user using the web application, you don't typically need to manage these JWTs directly; the application handles their lifecycle (obtaining, refreshing, using).
* **Developer Impact:** If you are building a client application that needs to act *on behalf of an Altostrat SDX user*, you would implement a standard OAuth 2.0 client flow using the endpoints defined in our [OpenID Connect Discovery Document](/api-reference/spa/authentication/authentication-&-user-info/get-openid-connect-configuration).
## Internal Machine-to-Machine APIs
These endpoints are used exclusively for communication between Altostrat SDX's internal services (e.g., syncing site counts, triggering billing events).
* They use separate, internal authentication mechanisms (e.g., `M2mAuth`, `SiteInternalAuth` Bearer tokens).
* These APIs and their authentication details are **not publicly exposed or documented** for external use.
## Summary: Choosing the Right Method
* **Integrating your service/script with Altostrat SDX?** Use the **Developer API Authentication** with an API Key generated for your Team.
* **Using the official Altostrat SDX Web Application?** Authentication is handled automatically via **OAuth 2.0 / JWT**.
* **Building a client that logs users into Altostrat SDX?** Implement an **OAuth 2.0** client flow.
* **Working on Altostrat's internal infrastructure?** Use the designated **Internal M2M Authentication** (details managed internally).
***
*Next Steps:*
* Learn how to [Manage API Credentials](/api-reference/spa/authentication/api-credentials/list-api-credentials-for-team).
# Workflow Actions: Complete Guide to Webhooks, APIs, Data Processing & More
Source: https://altostrat.io/docs/sdx/workflows/actions
Master all workflow actions including webhook calls, API integrations, data transformation, delays, iterations, and text processing. Complete configuration reference with examples.
## What Are Workflow Actions?
Workflow actions are the operational steps that perform tasks in your automation. Actions handle everything from sending API requests to processing data, with each action receiving input from previous steps and producing output for subsequent steps.
**Common action use cases:**
* Send HTTP requests to external APIs
* Transform and map data between different formats
* Add delays and timing controls
* Process arrays and lists with iterations
* Generate dynamic text and notifications
## Universal Action Configuration
### Error Handling: Continue on Error
Many actions share a common property for error handling:
If set to `true`, the workflow will not stop if this specific node fails. Instead, it will proceed down a special "error" path from the node, allowing you to build custom error-handling logic (e.g., sending a notification). If `false`, any failure will immediately stop the entire workflow run.
## Complete Actions Reference
Choose the right action type for your automation needs:
### Webhook Action: Send HTTP Requests to External APIs
The Webhook action sends HTTP requests to external services, making it the foundation for most API integrations. Use webhook actions to connect with third-party services, trigger external processes, or fetch data from remote systems.
#### Configuration
The HTTP method. **Options**: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.
The URL to send the request to. You can use variables from previous steps, like `https://api.example.com/users/{{ node_1.user_id }}`.
For `POST`, `PUT`, and `PATCH` requests, this is the JSON body of the request. Variables are supported.
A list of HTTP headers to include, such as `Content-Type` or `Authorization`. Values can be plain text or references to secrets in your Vault.
For security, requests to private or internal IP addresses are blocked to prevent Server-Side Request Forgery (SSRF) attacks.
### Altostrat API Action: Authenticated Platform Calls
The Altostrat API action makes authenticated calls to the Altostrat platform using your workflow's linked authorization. This action simplifies platform integrations by automatically handling authentication headers and API versioning.
#### Configuration
The HTTP method. **Options**: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.
The API endpoint path, starting with a `/`. Example: `/users?filter[status]=new`.
The JSON body for `POST`, `PUT`, and `PATCH` requests. Variables are supported.
### Delay Action: Add Timing Controls to Workflows
The Delay action pauses workflow execution for a specified duration, allowing you to create timed sequences, rate-limit API calls, or wait for external processes to complete.
#### Configuration
The amount of time to wait.
The unit of time. **Options**: `seconds`, `minutes`, `hours`, `days`.
There is a maximum delay of 15 minutes for a single delay step. For longer delays, you may need to chain multiple steps or use a different architectural approach.
### Iterator Action: Process Arrays and Lists
The Iterator action processes arrays by running a sub-workflow for each item in the list. Essential for batch processing, bulk operations, and handling multiple records from API responses.
#### Configuration
A reference to an array from a previous step. Example: `{{ node_1.data.users }}`.
A complete, self-contained workflow that will be executed for each item in the input array.
#### Sub-Workflow Context
Inside the iterator's sub-workflow, a special `iterator` variable is available with the following properties:
* `iterator.item`: The current item being processed.
* `iterator.index`: The zero-based index of the current item.
* `iterator.first`: `true` if this is the first item in the array.
* `iterator.last`: `true` if this is the last item in the array.
* `iterator.total`: The total number of items in the array.
If any single iteration fails, the entire Iterator step (and the parent workflow) will fail. The results of each iteration are collected and made available as an array to the nodes following the Iterator.
### Trigger Workflow Action: Create Modular Automations
The Trigger Workflow action calls other workflows, enabling modular automation design. Break complex processes into reusable components that can be called from multiple workflows.
#### Configuration
The ID of the workflow you want to trigger.
A JSON object to send as the initial data to the target workflow. Variables are supported.
To prevent infinite loops, the system will detect and block circular dependencies (e.g., Workflow A calls Workflow B, which then calls Workflow A).
### Data Mapper Action: Transform and Reshape Data
The Data Mapper action creates new JSON objects by mapping values from previous workflow steps. Essential for transforming data formats, creating API payloads, and restructuring information between different systems.
For more advanced data manipulation using logic and filters, see our [Liquid Templating documentation](/workflows/liquid/introduction).
#### Configuration
A list of mappings.
* **Key**: The key in the new output object. You can use dot notation to create nested objects (e.g., `user.profile.name`).
* **Value**: The value to assign. This can be a static value, a variable from a previous step, or even a mix of both.
### JSON Parser Action: Convert Strings to Structured Data
The JSON Parser action converts JSON strings into structured objects that subsequent workflow steps can access. Use this action when receiving JSON data as text from APIs or external sources.
#### Configuration
A reference to a string from a previous step that contains valid JSON. Example: `{{ node_1.body }}`.
The key under which the parsed data will be stored. Defaults to `data`.
### Text Transform Action: Dynamic Text Generation with Liquid
The Text Transform action generates dynamic text using Liquid templating language. Create personalized messages, formatted reports, and complex text output with conditional logic and data from previous workflow steps.
Learn more about Liquid syntax and capabilities in our [Liquid Templating documentation](/workflows/liquid/introduction).
#### Configuration
The Liquid template string. You can use variables from previous steps, which will be processed by the Liquid engine. Example: `Hello {{ node_1.user.name | upcase }}`.
The key where the rendered text will be stored. Defaults to `result`.
### Date Transform Action: Date and Time Operations
The Date Transform action performs calculations and formatting on date and time values. Add or subtract time periods, format dates for different systems, or extract specific date components for workflow logic.
#### Configuration
The starting date/time string (e.g., "2025-01-01T12:00:00Z") or a variable.
The operation to perform. **Options**: `add`, `subtract`, `format`, `start_of`, `end_of`.
The value for the operation. For `add`/`subtract`, this is the amount. For `format`, it's the format string (e.g., `Y-m-d`). For `start_of`/`end_of`, it's the unit (e.g., `day`, `week`).
Required for `add` and `subtract`. **Options**: `days`, `weeks`, `months`, `years`, `hours`, `minutes`, `seconds`.
The key where the transformed date will be stored. Defaults to `result`.
### Terminate Action: Controlled Workflow Completion
The Terminate action immediately stops workflow execution with a specified status. Use terminate actions to exit workflows early based on conditions while maintaining control over the final workflow state.
#### Configuration
The final status to set for the workflow run. **Options**: `completed`, `failed`.
An optional message to record in the workflow run's details, explaining why it was terminated.
# Workflow Conditions: Smart Branching with String, Number, Date & Boolean Logic
Source: https://altostrat.io/docs/sdx/workflows/conditions
Complete guide to workflow conditions including string comparison, number evaluation, date checking, boolean logic, array processing, and complex logical groups for intelligent automation branching.
## What Are Workflow Conditions?
Workflow conditions are decision-making nodes that evaluate data and create branching paths in your automation. Conditions enable intelligent workflows that respond dynamically to different data values, user inputs, and business scenarios.
**Key benefits of workflow conditions:**
* Create intelligent, responsive automations
* Handle different scenarios with branching logic
* Validate data before processing
* Implement business rules and policies
* Build sophisticated decision trees
## How Workflow Conditions Create Smart Branching
All workflow conditions follow a consistent evaluation pattern:
1. **Input**: Receive data from previous workflow steps
2. **Comparison**: Apply operators like equals, contains, or greater-than
3. **Result**: Generate true/false outcomes
4. **Routing**: Direct workflow execution down different paths
This pattern enables sophisticated automation logic while maintaining simplicity.
### Practical Condition Example
Here's how condition-based branching works in a real workflow:
```mermaid theme={null}
graph TD
A["Previous Step Output
status: completed"] --> B{"String Condition
input == completed"}
B -->|true| C[Send Success Email]
B -->|false| D[Notify Admin of Issue]
```
You can connect the `true` and `false` output handles to different downstream actions, creating separate execution paths that respond intelligently to your data.
## Complete Condition Types Reference
Select the right condition type for your data evaluation needs. Each condition type provides specialized operators optimized for specific data formats:
### String Condition: Text and Status Evaluation
String conditions compare text values, making them essential for status checking, user input validation, and text-based business logic.
**Common use cases:**
* Check order status ("pending", "completed", "cancelled")
* Validate user roles and permissions
* Filter content by category or tag
* Process form input validation
* Match text patterns with regex
#### Configuration
A reference to the string value to check.
The comparison to perform.
**Options**: `equals`, `not_equals`, `contains`, `not_contains`, `starts_with`, `ends_with`, `regex`.
The value to compare against.
For the `regex` operator, you must provide a full, valid regular expression pattern including delimiters (e.g., `/pattern/i`).
### Number Condition: Numeric Value Comparison
Number conditions evaluate numeric values including integers, decimals, and calculated amounts. Essential for financial calculations, quantity checking, and threshold-based automation.
**Common use cases:**
* Check order amounts and pricing thresholds
* Validate inventory quantities
* Process age and numeric user data
* Implement scoring and rating systems
* Monitor performance metrics
#### Configuration
A reference to the number to check.
The comparison to perform.
**Options**: `equals`, `not_equals`, `greater_than`, `less_than`, `greater_than_or_equal`, `less_than_or_equal`.
The number to compare against.
### Date Condition: Time-Based Logic and Scheduling
Date conditions evaluate dates and times for scheduling logic, deadline checking, and time-based business rules. Handle timezone considerations and relative date comparisons.
**Common use cases:**
* Check subscription expiration dates
* Validate event scheduling conflicts
* Process time-based promotions
* Monitor deadline compliance
* Handle timezone-aware comparisons
#### Configuration
The date/time value to check.
The comparison to perform.
**Options**: `is_past`, `is_future`, `is_today`, `is_weekend`, `is_weekday`, `is_before`, `is_after`, `is_same_day`, `is_within`, `is_not_within`.
Required for `is_before`, `is_after`, `is_same_day`.
Required for `is_within` and `is_not_within` (e.g., `7`).
Required for `is_within` and `is_not_within`. **Options**: `days`, `weeks`, `months`, etc.
### Boolean Condition: True/False Evaluation
Boolean conditions evaluate true/false values with intelligent handling of different truthiness representations. Automatically converts strings, numbers, and other data types to boolean values.
**Common use cases:**
* Check feature flags and settings
* Validate user permissions and access
* Process checkbox and toggle states
* Handle API response success flags
* Implement conditional feature logic
#### Configuration
A reference to the value to check.
The comparison to perform. **Options**: `is_true`, `is_false`.
### Array Condition: List and Collection Processing
Array conditions evaluate lists and collections, enabling batch processing logic and list validation. Check array contents, sizes, and element properties for complex data handling.
**Common use cases:**
* Validate API response data arrays
* Check if users exist in lists
* Process bulk import validation
* Handle shopping cart contents
* Validate multi-select form inputs
#### Configuration
A reference to the array to check.
The comparison to perform.
**Options**: `is_empty`, `is_not_empty`, `count_equals`, `count_not_equals`, `count_greater_than`, `count_less_than`, `contains_value`, `does_not_contain_value`, `any_item_matches`.
Required for count and contains checks.
Required only for `any_item_matches`. This allows you to define a set of conditions that will be tested against each item in the array. If any single item satisfies all the nested conditions, the node returns true.
### Logical Group Condition: Complex Decision Logic
Logical Group conditions combine multiple conditions using AND/OR logic with support for nested groups. Build sophisticated business rules and complex decision trees in a single, maintainable node.
**Common use cases:**
* Complex eligibility rules (age AND location AND status)
* Multi-criteria filtering and search
* Advanced permission checking
* Business rule validation
* Sophisticated approval workflows
#### Configuration
This node has a nested structure. The top-level group defines the primary logic (`AND` or `OR`) and contains a list of rules. Each rule can be either a simple condition or another nested logical group.
The logic for the group. **Options**: `AND`, `OR`.
An array of rules. Each rule is an object that is either a **Condition** or another **Logical Group**.
A reference to the value to check.
The comparison operator (e.g., `equals`, `contains`, `greater_than`).
The value to compare against.
Optional type hint to force comparison as a `string`, `number`, or `date`.
The logic for the nested group (`AND`/`OR`).
An array of more rules, which can again be conditions or further nested groups.
### Switch Condition: Multi-Path Routing
Switch conditions evaluate multiple condition sets in order, routing workflow execution to the first matching path. More efficient and maintainable than chains of individual condition nodes.
**Common use cases:**
* Customer segmentation routing
* Priority-based task assignment
* Multi-tier pricing logic
* Content categorization workflows
* Complex approval routing
#### Configuration
The Switch node is configured with a list of "cases".
An ordered list of cases to evaluate.
A unique name for this case's output handle (e.g., `high_priority`, `needs_review`). This is what you connect your edges to.
A list of conditions that must ALL be true for this case to match.
#### Behavior
* The cases are evaluated from top to bottom.
* The first case where all of its internal conditions are `true` is considered a match.
* The workflow then proceeds down the path connected to that case's unique handle.
* If no cases match, the workflow proceeds down the `default` path.
# Workflow Engine: Build Powerful Automations with Triggers, Actions & Conditions
Source: https://altostrat.io/docs/sdx/workflows/introduction
Complete guide to the Altostrat Workflow Engine. Learn how to create automated business processes using triggers, actions, and conditions with real examples and best practices.
## What is the Altostrat Workflow Engine?
The Altostrat Workflow Engine automates your business processes by connecting triggers, actions, and conditions into powerful automation sequences. Whether you need to send notifications, sync data between systems, or process customer events, the Workflow Engine handles complex automation tasks reliably and efficiently.
**Key capabilities:**
* Automate repetitive business processes
* Connect multiple services and APIs
* Process data with conditional logic
* Monitor and debug automation runs
* Scale from simple notifications to complex integrations
A workflow is an automated sequence of steps designed to accomplish a specific task. Think of it as a visual flowchart for your processes. You build workflows by connecting different building blocks, called **nodes**, to define a path of execution.
## How Workflows Work: The Three Building Blocks
Every workflow automation consists of three core node types that work together to create intelligent, responsive processes:
```mermaid theme={null}
graph TD
subgraph Workflow
A["🎬 Trigger
Starts the workflow"] --> B{"🔀 Condition
Makes a decision"}
B -->|True| C["⚡ Action
Performs a task"]
B -->|False| D["⚡ Action
Performs another task"]
C --> E((End))
D --> E((End))
end
```
### Triggers: What Starts Your Workflow
Triggers are the starting events that launch your workflow automation. Common trigger types include:
* **Scheduled triggers**: Run workflows daily, weekly, or on custom schedules
* **Webhook triggers**: Respond to external API calls and integrations
* **Manual triggers**: Start workflows on-demand from the dashboard
* **System events**: React to platform events like user registrations or payments
### Actions: What Your Workflow Does
Actions perform the actual work in your workflow automation:
* **API calls**: Send HTTP requests to external services
* **Data transformation**: Map, filter, and format data between steps
* **Notifications**: Send emails, SMS, or push notifications
* **Time delays**: Pause workflow execution for specified periods
* **Sub-workflows**: Call other workflows for modular automation
### Conditions: How Your Workflow Makes Decisions
Conditions add intelligence to your workflows by creating branching logic:
* **Data comparison**: Check values, strings, numbers, and dates
* **Boolean logic**: Combine multiple conditions with AND/OR operators
* **Array processing**: Evaluate lists and collections
* **Switch statements**: Route workflows based on multiple criteria
* **Custom logic**: Build complex decision trees for any scenario
## Workflow Execution: How Your Automations Run
Active workflows execute automatically when triggered, with complete monitoring and debugging capabilities:
* **Asynchronous Execution**: When a workflow is triggered, it's immediately queued for execution in the background. This ensures that the triggering system gets a fast response and the workflow can run reliably without being timed out.
* **Run History**: You can view the complete history of every run, see its final status (Completed or Failed), and inspect the data that flowed through it.
* **Detailed Logs**: Each step within a run is meticulously logged, showing the exact input it received and the output it produced. This is invaluable for debugging and understanding how your automations are performing.
* **Resuming Failed Runs**: If a workflow fails due to a temporary issue (like a third-party service being down), you can resume it from the last successful step, saving you from having to re-run the entire process.
## Next Steps
Explore the different ways you can start a workflow.
Discover the variety of tasks you can automate.
# Liquid Syntax Fundamentals: Objects, Tags & Filters with Workflow Examples
Source: https://altostrat.io/docs/sdx/workflows/liquid/basics
Master Liquid templating basics with practical workflow examples. Learn object notation, conditional tags, filter chaining, and data access patterns for dynamic workflow automation.
## Master Liquid Templating Fundamentals
Liquid templating provides powerful yet simple syntax for dynamic workflow automation. These three core concepts enable sophisticated data handling and conditional logic in your workflows.
**What you'll learn:**
* Access workflow data with object notation
* Create conditional content with tags
* Transform data using filters
* Combine all three for complex logic
Objects retrieve and display data from previous workflow steps using double curly brace syntax.
#### How to Access Workflow Data
Use dot notation to navigate through workflow data structures. When a previous workflow step (like `node_1`) produces structured data, access nested properties with dots.
```liquid Accessing a user's name theme={null}
Hello, {{ node_1.user.name }}!
```
```text Output theme={null}
Hello, Alice!
```
#### How to Access Array Elements in Workflows
Access specific array items using square bracket notation with zero-based indexing. Essential for processing API responses and list data.
```liquid Accessing the first product theme={null}
First product is: {{ node_1.products[0] }}
```
```text Output theme={null}
First product is: apple
```
If you try to access a variable that doesn't exist, Liquid will simply output nothing. It will not cause your workflow to fail.
Tags provide conditional logic and control flow without generating output. Use tags to create smart, responsive workflow content that adapts to your data.
#### Conditional Content Example
Create personalized workflow responses using conditional tags:
```liquid Conditional Greeting theme={null}
{% if node_1.user.name == "Alice" %}
Welcome, Alice!
{% endif %}
```
```text Output theme={null}
Welcome, Alice!
```
We cover all the powerful logic tags like `if`, `for`, and `case` in detail on the [Logic and Control Flow Tags](/workflows/liquid/tags) page.
Filters modify object output using pipe notation. Transform data formats, apply calculations, and format content within workflow steps.
#### Basic Filter Example
Transform workflow data with simple filters like text formatting:
```liquid Capitalizing Text theme={null}
Hello, {{ node_1.user.name | upcase }}!
```
```text Output theme={null}
Hello, ALICE!
```
#### How to Chain Multiple Filters
Combine multiple filters for complex data transformations, processing from left to right:
```liquid Chaining Filters theme={null}
{{ "welcome to the jungle" | capitalize | truncate: 15 }}
```
```text Output theme={null}
Welcome to t...
```
Filters can take arguments, like `15` in the `truncate` example above. Explore all the possibilities on the [Working with Filters](/workflows/liquid/filters) page.
# Liquid Filters Reference: String, Number, Array & Date Transformation Functions
Source: https://altostrat.io/docs/sdx/workflows/liquid/filters
Complete Liquid filters guide for workflow automation. Transform strings, perform calculations, manipulate arrays, and handle dates with built-in and custom filters. Includes syntax and examples.
## Liquid Filters for Workflow Data Transformation
Liquid filters are transformation functions that modify workflow data output. Chain multiple filters together to format text, perform calculations, manipulate arrays, and process dates within your automation workflows.
**Filter syntax**: `{{ workflow_data | filter_name: argument1, argument2 }}`
**Common filter use cases:**
* Format API response data for display
* Clean and validate user input
* Perform calculations on numeric values
* Transform arrays from external services
* Format dates for different systems
## String Filters: Text Processing and Formatting
Transform text data from workflow steps with these essential string manipulation filters:
| Filter & Syntax | Description | Example |
| :------------------ | :----------------------------------------------- | :---------------------------------------------------------- |
| `upcase` | Converts a string to uppercase. | `{{ "hello" \| upcase }}` → `HELLO` |
| `downcase` | Converts a string to lowercase. | `{{ "HELLO" \| downcase }}` → `hello` |
| `capitalize` | Capitalizes the first word of a string. | `{{ "hello world" \| capitalize }}` → `Hello world` |
| `truncate: num` | Shortens a string to `num` characters. | `{{ "Hello world" \| truncate: 8 }}` → `Hello...` |
| `split: "char"` | Splits a string into an array on a character. | `{{ "a,b,c" \| split: "," }}` → `["a","b","c"]` |
| `append: "str"` | Adds a string to the end. | `{{ "hello" \| append: " world" }}` → `hello world` |
| `prepend: "str"` | Adds a string to the beginning. | `{{ "world" \| prepend: "hello " }}` → `hello world` |
| `remove: "str"` | Removes all occurrences of a substring. | `{{ "hello world" \| remove: "l" }}` → `heo word` |
| `replace: "a", "b"` | Replaces all occurrences of string "a" with "b". | `{{ "hi hi" \| replace: "hi", "bye" }}` → `bye bye` |
| `escape` | Escapes a string for use in HTML. | `{{ "text
" \| escape }}` → `<p>text</p>` |
## Number Filters: Mathematical Operations and Formatting
Perform calculations and format numeric data from workflow API responses and user inputs:
| Filter & Syntax | Description | Example |
| :---------------- | :--------------------------------------------------------- | :-------------------------------- |
| `plus: num` | Adds a number. | `{{ 5 \| plus: 3 }}` → `8` |
| `minus: num` | Subtracts a number. | `{{ 5 \| minus: 3 }}` → `2` |
| `times: num` | Multiplies by a number. | `{{ 5 \| times: 3 }}` → `15` |
| `divided_by: num` | Divides by a number. | `{{ 15 \| divided_by: 3 }}` → `5` |
| `round: digits` | Rounds to the nearest integer or specified decimal places. | `{{ 4.56 \| round }}` → `5` |
| `ceil` | Rounds up to the nearest integer. | `{{ 4.1 \| ceil }}` → `5` |
| `floor` | Rounds down to the nearest integer. | `{{ 4.9 \| floor }}` → `4` |
## Array Filters: Process Lists and Collections
Manipulate arrays and lists from API responses, database queries, and workflow data:
| Filter & Syntax | Description | Example |
| :-------------- | :----------------------------------------------------------- | :------------------------------------------------ |
| `size` | Returns the number of items in an array. | `{{ [1,2,3] \| size }}` → `3` |
| `first` | Returns the first item of an array. | `{{ ["a","b"] \| first }}` → `a` |
| `last` | Returns the last item of an array. | `{{ ["a","b"] \| last }}` → `b` |
| `join: "char"` | Joins array elements with a character. | `{{ ["a","b"] \| join: ", " }}` → `a, b` |
| `sort: "key"` | Sorts an array. Can sort an array of objects by a key. | `{{ [3,1,2] \| sort }}` → `[1,2,3]` |
| `uniq` | Removes duplicate elements from an array. | `{{ [1,2,2,3] \| uniq }}` → `[1,2,3]` |
| `map: "key"` | Creates an array of values by extracting a key from objects. | `{{ users \| map: "name" }}` → `["Alice", "Bob"]` |
## Date Filters: Advanced Date Processing for Workflows
Custom date filters designed specifically for workflow automation, enabling sophisticated date parsing, formatting, and conditional logic:
### carbon\_date: Parse and Format Dates
The `carbon_date` filter automatically parses various date formats and converts them to your desired output format. Essential for standardizing date formats between different APIs and systems.
**Syntax**: `{{ date_string | carbon_date: "output_format" }}`
```liquid Reformat an ISO 8601 date theme={null}
{{ "2025-12-25T10:30:00Z" | carbon_date: "F j, Y" }}
```
```text Output theme={null}
December 25, 2025
```
**Common Format Codes:**
| Code | Description | Example |
| :--: | :---------------- | :-------------------------- |
| `Y` | Four-digit year | `2025` |
| `m` | Month (01-12) | `12` |
| `d` | Day (01-31) | `25` |
| `H` | Hour (00-23) | `10` |
| `i` | Minute (00-59) | `30` |
| `s` | Second (00-59) | `00` |
| `F` | Full month name | `December` |
| `M` | Short month name | `Dec` |
| `l` | Full day of week | `Thursday` |
| `D` | Short day of week | `Thu` |
| `c` | ISO 8601 format | `2025-12-25T10:30:00+00:00` |
***
### carbon\_condition: Date-Based Workflow Logic
The `carbon_condition` filter enables date-based conditional logic in workflows, returning boolean values for time-based decision making. Perfect for expiration checks, deadline monitoring, and time-sensitive automation.
**Syntax**: `{{ date_string | carbon_condition: "condition_name" }}`
```liquid Check if an expiry date is in the past theme={null}
{% if subscription.expires_at | carbon_condition: "is_past" %}
Your subscription has expired.
{% endif %}
```
**Available Conditions:**
| Condition | Description |
| :------------------- | :---------------------------------------------------------- |
| `is_today` | Is the date today? |
| `is_tomorrow` | Is the date tomorrow? |
| `is_yesterday` | Was the date yesterday? |
| `is_future` | Is the date in the future? |
| `is_past` | Is the date in the past? |
| `is_weekend` | Is the date on a weekend? |
| `is_weekday` | Is the date on a weekday? |
| `in_7_days` | Is the date exactly 7 days from now? |
| `within_14_days` | Is the date between now and 14 days from now? |
| `before_30_days` | Is the date before 30 days from now? |
| `older_than_90_days` | Is the date more than 90 days in the past? |
| `newer_than_3_days` | Is the date within the last 3 days? |
| `after_5_days` | Is the date more than 5 days in the future? |
| `exactly_1_day` | Is the date exactly 1 day from now? (Same as `is_tomorrow`) |
For conditions like `in_X_days`, you can use singular or plural (e.g., `in_1_day` works too).
# Liquid Templating: Dynamic Data & Logic for Workflow Automation
Source: https://altostrat.io/docs/sdx/workflows/liquid/introduction
Complete guide to Liquid templating in workflows. Learn objects, tags, and filters for dynamic content generation, data manipulation, and conditional logic in automation workflows.
## What is Liquid Templating in Workflows?
Liquid templating enables dynamic data handling and conditional logic in your workflow automation. As workflows pass data between steps, Liquid provides the syntax for accessing, transforming, and manipulating that data to create intelligent, responsive automations.
**Common Liquid use cases:**
* Insert dynamic data into messages and API calls
* Transform data formats between workflow steps
* Create conditional content based on workflow data
* Generate personalized notifications and reports
* Build complex data structures for API payloads
Liquid is a simple and secure templating language that allows you to insert dynamic content and use logic within your workflow nodes. It acts as the bridge that lets your workflow steps talk to each other and manipulate data on the fly.
## Core Liquid Syntax: Objects, Tags, and Filters
Liquid templating uses three fundamental syntax elements that work together to create powerful dynamic content:
```mermaid theme={null}
graph TD
subgraph "Liquid Syntax"
A["{{ ... }}
Objects
Outputs data"]
B["{% ... %}
Tags
Adds logic"]
C["| (pipe)
Filters
Modifies data"]
end
```
### Objects: Output Dynamic Data
Objects insert dynamic data from previous workflow steps into your content. Use double curly braces to reference data from any previous node in your workflow.
**Object syntax examples:**
* `{{ node_1.user.name }}` - Access nested object properties
* `{{ node_2.response.data[0] }}` - Reference array elements
* `{{ webhook.body.email }}` - Use webhook payload data
### Tags: Add Logic and Control Flow
Tags provide conditional logic and loops without generating visible output. Use tags to create intelligent content that responds to workflow data conditions.
**Tag examples:**
* `{% if user.premium %}` - Conditional content display
* `{% for item in products %}` - Loop through arrays
* `{% case order.status %}` - Multi-condition switching
### Filters: Transform and Format Data
Filters modify object output using pipe notation. Chain multiple filters together to perform complex data transformations and formatting.
**Filter examples:**
* `{{ name | upcase }}` - Convert text to uppercase
* `{{ price | currency }}` - Format numbers as currency
* `{{ date | date: "%Y-%m-%d" }}` - Format dates
* `{{ text | truncate: 50 | strip }}` - Chain multiple filters
## Where to Use Liquid in Workflows
Liquid templating works in any workflow node that processes text or data:
* **[Webhook Action](/workflows/actions#webhook)**: Dynamically build URLs, headers, and request bodies.
* **[Text Transform Action](/workflows/actions#text-transform)**: Generate complex, formatted text reports or messages.
* **[Data Mapper Action](/workflows/actions#data-mapper)**: Reshape and construct new data objects.
* **[Condition Nodes](/workflows/conditions)**: Specify dynamic input values for your decision logic.
## Next Steps
Dive into the fundamental syntax of Objects, Tags, and Filters.
Learn how to control your workflow's execution with `if`, `for`, and `case`.
See the full reference of all the powerful filters at your disposal.
# Liquid Logic Tags: if/else, for loops, case statements & Conditional Workflow Logic
Source: https://altostrat.io/docs/sdx/workflows/liquid/tags
Complete guide to Liquid control flow tags including if/else conditions, for loops, case statements, unless logic, and conditional operators for intelligent workflow automation.
## Liquid Tags for Workflow Logic
Liquid tags provide programming logic for workflow text and data transformations. Create conditional blocks, loops, and decision trees that respond dynamically to workflow data and business conditions.
**Tag capabilities:**
* Conditional content display with if/else logic
* Data iteration with for loops
* Multi-condition routing with case statements
* Complex boolean operations
* Dynamic workflow responses
## if/else/elsif: Conditional Workflow Logic
The most essential tag for creating smart workflows that respond to data conditions. Build branching logic that displays different content based on workflow data values.
**Common use cases:**
* Personalized notifications based on user data
* Different API calls based on conditions
* Conditional error handling and responses
* Dynamic content generation
### Comparison Operators for Workflow Conditions
Use these operators to create intelligent workflow logic:
* `==` - Equals (exact match)
* `!=` - Not equals (excludes values)
* `>` / `<` - Greater/less than (numeric comparison)
* `>=` / `<=` - Greater/less than or equal
* `and` / `or` - Combine multiple conditions
* `contains` - Check for substrings or array values
```liquid Simple if theme={null}
{% if node_1.item_count > 10 %}
You have many items.
{% endif %}
```
```liquid if / else theme={null}
{% if node_2.status == "completed" %}
Task is complete.
{% else %}
Task is still in progress.
{% endif %}
```
```liquid if / elsif / else theme={null}
{% if node_3.score > 90 %}
Excellent!
{% elsif node_3.score > 60 %}
Good.
{% else %}
Needs improvement.
{% endif %}
```
## unless: Reverse Conditional Logic
The `unless` tag executes content when conditions are **not** met, providing cleaner syntax for negative conditions in workflows.
**When to use unless:**
* Error handling and validation
* Default content when conditions fail
* Cleaner negative condition syntax
```liquid unless example theme={null}
{% unless node_1.is_active == true %}
This user is inactive.
{% endunless %}
```
```text Is the same as theme={null}
{% if node_1.is_active != true %}
This user is inactive.
{% endif %}
```
## case/when: Multi-Condition Workflow Routing
Case statements provide clean, efficient multi-condition logic for workflows. Perfect for handling multiple workflow paths based on status, type, or category values.
**Common workflow applications:**
* Order status handling (pending, processing, shipped)
* User role-based content
* Payment method processing
* Content categorization and routing
```liquid case example theme={null}
{% case node_1.plan_type %}
{% when "free" %}
Plan is Free Tier.
{% when "pro" %}
Plan is Professional.
{% when "enterprise" %}
Plan is Enterprise.
{% else %}
Plan is unknown.
{% endcase %}
```
## for: Process Arrays and Lists in Workflows
For loops iterate through arrays and lists from workflow data, enabling batch processing and dynamic content generation for multiple items.
**Essential for workflows that handle:**
* Multiple user records from API responses
* Product catalogs and inventory lists
* Batch notification processing
* Report generation with multiple data points
### Basic For Loop: Process Workflow Arrays
Iterate through arrays from previous workflow steps to generate dynamic content:
```liquid Process user list from API response theme={null}
User Summary:
{% for user in node_1.users %}
- {{ user.name }} ({{ user.email }})
{% endfor %}
```
```text Generated workflow output theme={null}
User Summary:
- Alice (alice@example.com)
- Bob (bob@example.com)
```
### Loop Variables: Track Iteration Progress
Access loop metadata for advanced workflow logic and formatting:
* `forloop.index` - Current iteration number (starts at 1)
* `forloop.first` - True for the first item
* `forloop.last` - True for the final item
* `forloop.length` - Total number of items in the array
**Use loop variables for:**
* Adding separators between items
* Special formatting for first/last items
* Progress tracking in workflows
* Conditional logic based on position
### Empty Array Handling: Fallback Content
Provide fallback content when workflow arrays are empty using the `else` block within for loops:
```liquid For loop with else theme={null}
{% for user in node_1.users %}
- {{ user.name }}
{% else %}
No users found.
{% endfor %}
```
# Workflow Engine Limits: Timeouts, Performance Limits & Troubleshooting Guide
Source: https://altostrat.io/docs/sdx/workflows/system-limitations
Complete reference for workflow engine limitations including execution timeouts, iterator limits, delay maximums, data retention, and behavioral edge cases for robust automation design.
## Understanding Workflow Engine Limitations
The Altostrat Workflow Engine provides powerful automation capabilities within defined operational boundaries. Understanding these limits and behaviors helps you design robust, efficient workflows that operate reliably at scale.
**Why limits exist:**
* Ensure system stability and performance
* Prevent accidental resource misuse
* Maintain fair resource allocation
* Protect against infinite loops and runaway processes
## Workflow Execution Limits
Execute workflows efficiently within these time and performance boundaries:
### Execution Time Limits: Maximum Duration and Timeouts
Workflow runs have time boundaries to prevent runaway executions and ensure responsive automation:
* **Maximum workflow duration**: 1 hour total execution time
* **Maximum node timeout**: 5 minutes per individual action
* **Timeout behavior**: Exceeding limits automatically terminates workflows with failed status
If you have a very long-running process, consider breaking it into multiple, smaller workflows linked together with the **Trigger Workflow** action.
### Iterator Processing Limits: Batch Size and Nesting Controls
Iterator actions include safeguards to prevent system overload during batch processing:
* **Maximum batch size**: 1,000 items per iterator execution
* **Maximum nesting depth**: 5 levels of nested iterators
* **Failure behavior**: Oversized arrays cause immediate step failure
* **Protection purpose**: Prevents fork bomb scenarios and resource exhaustion
### Delay Action Limits: Maximum Wait Times
Delay actions support short-term workflow pausing with these constraints:
* **Maximum delay duration**: 15 minutes (900 seconds) per delay action
* **Intended use**: Short-term waits and rate limiting
* **For longer delays**: Use separate scheduled workflows for extended timing
This limit is based on the underlying queueing technology. For longer-term scheduled actions, it's better to end the workflow and have a separate scheduled workflow to handle the follow-up task.
### Data Retention: Log Storage and Archiving
Workflow execution data follows these retention policies:
* **Active retention**: 90 days of runs and logs in primary database
* **Archive storage**: Long-term archive for audit and compliance
* **UI access**: Archived data not visible in main interface
* **Retrieval**: Archived data available by request for audit purposes
## Workflow Behavior Guide
Understand these specific behaviors for effective workflow design and debugging:
### Variable Replacement: How Data Types Are Handled
Workflow variable replacement behaves differently based on context and data types:
For more advanced templating capabilities, see our [Liquid Templating documentation](/workflows/liquid/introduction).
* **Simple Replacement (`{{ ... }}` only)**: If a field contains *only* a variable reference, like `{{ node_1.user }}`, the system will replace it with the raw data type. If `node_1.user` is a JSON object, the field will become that JSON object.
* **Embedded Replacement (`Hello {{...}}`)**: If a variable is part of a larger string, like `"User ID is {{ node_1.id }}"`, the system will convert the variable's value to a string before inserting it. If the variable contains a JSON object or array, it will be converted into its JSON string representation.
### Error Handling: Continue on Error Behavior
The "continue on error" setting fundamentally changes workflow execution flow:
* The workflow **does not stop**.
* The node's output becomes an error object (e.g., `{"error": true, "message": "API returned 503"}`). This error object is added to the context.
* The workflow proceeds *only* down the special `error` path from that node. The `true`, `false`, or default success paths are ignored.
* If no `error` path is connected, that branch of the workflow simply terminates without failing the entire run.
### Iterator Error Handling: All-or-Nothing Processing
Iterator actions use atomic error handling for consistent batch processing:
* If **any single item** within the iteration fails its sub-workflow, the **entire Iterator node** is considered to have failed.
* The parent workflow run will be immediately marked as `failed`, and processing of other items in the batch will be stopped. There is no partial success for an Iterator.
### Infinite Loop Prevention: Circular Dependency Protection
The Workflow Engine includes multiple safeguards against infinite workflow loops:
* **On Save**: When you save a workflow, the system checks all **Trigger Workflow** actions. If it detects a path that could lead back to the workflow being saved (e.g., A calls B, which calls C, which calls A), the save operation will be blocked with an error.
* **At Runtime**: As an additional safeguard, the system tracks the "call stack" of a workflow run. If a `workflow.triggered` event is received for a workflow that is already in its own call stack, that trigger will be ignored to prevent a loop from starting.
# Workflow Triggers: Schedule, Webhook, Manual & Event-Based Automation Starters
Source: https://altostrat.io/docs/sdx/workflows/triggers
Complete guide to workflow triggers including scheduled triggers, webhook endpoints, manual execution, SNS events, and workflow-to-workflow calls. Learn trigger configuration and use cases.
## What Are Workflow Triggers?
Workflow triggers are the starting events that launch your automation processes. Every workflow requires exactly one trigger that defines when and how the automation begins executing.
**Available trigger types:**
* **Scheduled**: Run workflows on recurring schedules
* **Webhook**: Respond to external HTTP requests
* **Manual**: Start workflows on-demand from the dashboard
* **SNS Events**: React to internal platform events
* **Workflow Calls**: Enable workflow-to-workflow communication
## Complete Trigger Types Reference
Choose the right trigger type based on how you want to start your workflow automation:
### Scheduled Trigger: Automate Recurring Tasks
Scheduled triggers run workflows automatically on recurring time schedules. Perfect for regular maintenance tasks, periodic data synchronization, automated reports, and time-based business processes.
**Common use cases:**
* Daily backup and maintenance tasks
* Weekly report generation
* Monthly billing and invoicing
* Hourly data synchronization
* Custom interval monitoring
#### Configuration
The type of schedule to use.
**Options**: `interval`, `cron`, `daily`, `weekly`, `monthly`
The value for the schedule. This is required for `interval` and `cron` types.
* **For `interval`**: A string like "5 minutes" or "1 hour".
* **For `cron`**: A standard cron expression like `0 9 * * *` (every day at 9 AM).
An optional description for what this trigger does.
### Webhook Trigger: Real-Time External Integrations
Webhook triggers provide secure, unique URLs that start workflows when external services send HTTP POST requests. Essential for real-time integrations, API callbacks, and event-driven automation.
**Common use cases:**
* Payment processing callbacks
* Form submission handling
* Third-party service notifications
* API integration endpoints
* Real-time data ingestion
The webhook URL is automatically generated and secured by the system when you save the workflow. You do not need to configure it.
#### Configuration
An optional description for what this webhook is for.
#### Behavior
The entire JSON body of the incoming `POST` request, along with all HTTP headers, will be available as the output of this trigger node.
### Manual Trigger: On-Demand Workflow Execution
Manual triggers enable on-demand workflow execution through the user interface. Users can start these workflows manually and provide custom input data for each execution.
**Common use cases:**
* One-time data migrations
* Administrative maintenance tasks
* Testing and debugging workflows
* Custom reporting requests
* Emergency response procedures
#### Configuration
An optional description of the manual process.
#### Behavior
When executed, a user can provide an optional JSON object as the initial data for the workflow run. This allows for passing in specific parameters for that particular execution.
### SNS Trigger: Platform Event Integration
SNS triggers listen for internal platform events, enabling deep integration with other Altostrat services. Advanced users can create workflows that respond automatically to system events and user actions.
**Common use cases:**
* User lifecycle automation (registration, activation)
* Payment and subscription event handling
* System monitoring and alerting
* Cross-service data synchronization
* Audit trail and compliance workflows
#### Configuration
The specific event pattern to listen for. Wildcards (`*`) are supported. For example, `user.created` or `payment.*`. You can listen for multiple patterns by separating them with a comma, but they must share the same root category (e.g., `user.created,user.updated` is valid, but `user.created,payment.succeeded` is not).
An optional description for what this trigger does.
### Workflow Trigger: Create Reusable Workflow Components
Workflow triggers enable workflow-to-workflow communication, creating reusable automation components that can be called from multiple parent workflows. Build modular, maintainable automation systems.
**Common use cases:**
* Shared utility functions (data validation, formatting)
* Common notification workflows
* Reusable integration patterns
* Modular business logic components
* Complex workflow orchestration
A workflow with this trigger cannot be started manually or by a schedule. It can *only* be started by another workflow.
#### Configuration
An optional description of what this callable workflow does.
Define the data structure you expect to receive from the calling workflow. This is for documentation purposes and helps when building the calling workflow.
# Workspace Billing Modes: Single vs Assigned vs Pooled Resource Allocation
Source: https://altostrat.io/docs/workspaces/billing-modes
Complete guide to workspace billing modes including Single mode for unified billing, Assigned mode for isolated accounts, and Pooled mode for shared resources. Choose the right billing strategy for your business structure.
## What are Workspace Billing Modes?
Workspace billing modes define how subscriptions and resources are allocated across organizations within your workspace. This permanent configuration choice, made during workspace creation, determines your financial architecture and resource sharing capabilities.
**Why billing modes matter:**
* Control resource sharing and isolation
* Define financial accountability structures
* Enable different business models (enterprise, MSP, franchise)
* Optimize for compliance and operational requirements
## Complete Billing Modes Reference
Choose from three distinct billing architectures designed for different organizational and financial requirements:
## Single Billing Mode: Unified Resource Pool
Single mode creates a unified billing architecture where one billing account provides all resources for the entire workspace. All organizations share a common resource pool funded by a single subscription source.
**Single mode architecture:**
* One billing account per workspace
* Shared resource pool across all organizations
* Centralized financial management
* Simplified administration and invoicing
```mermaid theme={null}
graph LR
subgraph "Workspace (Single Mode)"
BA[Billing Account
100 Users, 50 Locations]
O1[Org A
Using: 45 Users, 20 Locations]
O2[Org B
Using: 30 Users, 15 Locations]
O3[Org C
Using: 25 Users, 15 Locations]
BA --> O1 & O2 & O3
end
```
### When to Use Single Mode
Single mode works best for organizations with centralized financial management and unified operations:
**Ideal use cases:**
* **Traditional corporations**: Departments sharing centralized budget and resources
* **Small to medium enterprises**: Single entity with unified financial management
* **Startups**: Simple structure for rapid growth and scaling
* **Single-brand organizations**: Unified operations under one business entity
### Single Mode Characteristics
* **Resource sharing**: Complete resource pool sharing across organizations
* **Financial structure**: Single point of billing and payment management
* **Limit enforcement**: Shared limits apply to entire workspace
* **Administration**: Simplest mode for management and monitoring
**Example**: A software company with 100 employees across Sales, Engineering, and Marketing. All teams draw from the same pool of user licenses and product features, with all charges consolidated under one corporate billing account.
## Assigned Billing Mode: Isolated Billing Accounts
Assigned mode creates complete financial and resource isolation by linking each top-level organization to a specific billing account. This architecture ensures strict separation between business units, customers, or geographic regions.
**Assigned mode architecture:**
* Each top-level organization requires dedicated billing account
* Complete resource isolation between organizational silos
* Child organizations inherit parent billing assignments
* Multi-currency and multi-entity support
```mermaid theme={null}
graph TD
subgraph "Workspace (Assigned Mode)"
BA1["Billing Account: USA (USD)"]
BA2["Billing Account: Germany (EUR)"]
BA3["Billing Account: Japan (JPY)"]
O1[Org: USA Operations]
O2[Org: Germany Operations]
O3[Org: Japan Operations]
O1S[USA > Sales Team]
O1E[USA > Engineering Team]
O2S[Germany > Vertriebsteam]
O3P[Japan > 製品部]
BA1 -- Assigned to --> O1
BA2 -- Assigned to --> O2
BA3 -- Assigned to --> O3
O1 --> O1S & O1E
O2 --> O2S
O3 --> O3P
end
```
### When to Use Assigned Mode
Assigned mode provides the highest level of financial and operational separation for complex organizational structures:
**Ideal use cases:**
* **Multinational corporations**: Country-based operations with separate budgets and currencies
* **Multi-tenant SaaS**: Complete customer isolation with dedicated billing
* **Managed service providers**: Client-specific billing and resource allocation
* **Enterprise divisions**: Separate P\&L accountability for business units
* **Compliance requirements**: Strict data and financial separation mandates
### Assigned Mode Characteristics
* **Complete isolation**: No resource sharing between organizational silos
* **Billing inheritance**: Child organizations automatically inherit parent billing accounts
* **Financial accountability**: Clear cost center and budget management
* **Multi-currency support**: Different currencies for global operations
* **Compliance ready**: Meets strict separation and audit requirements
**Example**: A global corporation with operations in the USA, Germany, and Japan. Each country is billed in its local currency and manages its resources independently. The US branch cannot use software licenses allocated to the German branch.
## Pooled Billing Mode: Collaborative Resource Sharing
Pooled mode enables multiple billing accounts to contribute resources to a shared workspace pool while maintaining independent billing relationships. This collaborative architecture supports franchise models, partnerships, and consortiums.
**Pooled mode architecture:**
* Multiple billing accounts contribute to shared resource pool
* Independent billing and payment management per account
* Flexible resource allocation across all organizations
* Collaborative resource sharing with separate financial responsibility
```mermaid theme={null}
graph TD
subgraph "Workspace (Pooled Mode)"
subgraph "Shared Resource Pool"
P[Total: 200 Users, 100 Locations]
BA1[Franchisee A
Contributes: 80 Users, 40 Locations]
BA2[Franchisee B
Contributes: 70 Users, 35 Locations]
BA3[Franchisee C
Contributes: 50 Users, 25 Locations]
BA1 & BA2 & BA3 -- contribute to --> P
end
subgraph "Organizations (Consume from Pool)"
O1[Location 1 - Downtown]
O2[Location 2 - Airport]
O3[Location 3 - Mall]
end
P -.-> O1 & O2 & O3
end
```
### When to Use Pooled Mode
Pooled mode works best for collaborative business models requiring both resource sharing and billing independence:
**Ideal use cases:**
* **Franchise operations**: Independent franchisees sharing brand resources
* **Channel partner networks**: Partners contributing to shared resource pools
* **Joint ventures**: Multiple entities collaborating on shared projects
* **Consortiums**: Industry groups pooling resources for common goals
* **Co-ops and alliances**: Independent members sharing infrastructure costs
### Pooled Mode Characteristics
* **Resource aggregation**: All subscription contributions pool into shared capacity
* **Independent billing**: Separate invoicing and payment processing per contributor
* **Dynamic allocation**: Flexible resource usage across all organizations
* **Scalable collaboration**: Support for multiple independent contributors
* **Shared infrastructure**: Cost-effective resource utilization across partners
**Example**: A franchise with 20 locations. Each franchisee has their own billing account and purchases subscriptions. All of these subscriptions combine into a large pool that any location can use, enabling resource sharing while maintaining the financial independence of each franchisee.
## How to Choose the Right Billing Mode
Select the optimal billing mode based on your organizational structure, financial requirements, and operational model:
### Billing Mode Decision Matrix
| Business Need | Recommended Mode | Key Benefits |
| :---------------------------------------------------------- | :---------------- | :---------------------------------------------------------- |
| **Unified operations and simple billing** | **Single Mode** | Centralized management, shared resources, single invoice |
| **Complete financial and operational separation** | **Assigned Mode** | Isolated billing, compliance-ready, multi-currency support |
| **Collaborative resource sharing with independent billing** | **Pooled Mode** | Shared resource pool, separate billing, flexible allocation |
### Critical Decision: Billing Mode is Permanent
⚠️ **Important**: Billing mode selection is permanent and cannot be changed after workspace creation. Choose carefully based on your long-term business strategy and operational requirements.
## What's Next?
* See [Modeling Your Business](/workspaces/modeling-your-business) for detailed implementation examples of these modes.
* Learn about [Organization Hierarchies](/workspaces/organization-hierarchies) to structure your workspace effectively.
* Understand [Subscriptions and Invoicing](/workspaces/subscriptions-and-invoicing) for details on managing billing.
# Workspace Management: Complete Guide to Billing, Organizations & Multi-Tenant Architecture
Source: https://altostrat.io/docs/workspaces/introduction
Complete guide to workspace architecture including billing accounts, organization hierarchies, member management, and billing modes. Learn how to structure enterprise-grade multi-tenant systems with Auth0 and Stripe integration.
## What is a Workspace?
A workspace provides the foundational architecture for enterprise billing and organizational management. Workspaces act as secure, multi-tenant containers that connect authentication systems (Auth0) with payment processing (Stripe) while providing sophisticated resource allocation and usage tracking capabilities.
**Key workspace capabilities:**
* Multi-tenant billing and organizational isolation
* Hierarchical organization structures with usage aggregation
* Enterprise-grade concurrency and reliability features
* Flexible billing models (Single, Assigned, Pooled)
* Integrated member management with role-based access
## Workspace Architecture: Foundation for Enterprise Billing
Each workspace represents a complete customer account environment containing all resources needed for billing management, organizational structure, and user administration. Workspaces are engineered for enterprise-scale operations with advanced reliability features.
```mermaid theme={null}
graph TD
W[Workspace] --> BA[Billing Accounts]
W --> O[Organizations]
W --> M[Members]
W --> BM[Billing Mode]
BA --> PM[Payment Methods]
BA --> S[Subscriptions]
O --> H[Hierarchy Structure]
O --> U[Usage Tracking]
M --> R[Roles & Permissions]
```
## Core Workspace Components
Workspaces consist of four integrated components that work together to provide comprehensive billing and organizational management:
### Billing Accounts: Financial Management and Payment Processing
Billing accounts manage payment methods, subscriptions, and financial transactions within workspaces. Each billing account connects directly to Stripe for secure payment processing and subscription management.
**Billing account features:**
* Secure payment method storage (up to 5 methods)
* Subscription management and resource pooling
* Automated billing and invoice generation
* Multi-currency support for global operations
### Organizations: Hierarchical Resource Management
Organizations provide flexible hierarchical structures for modeling business relationships and resource allocation. Support up to 10 levels of nesting with automatic usage aggregation and limit inheritance.
**Organization capabilities:**
* Model departments, teams, subsidiaries, or partner networks
* Automatic usage tracking and limit enforcement
* Flexible resource allocation and sharing
* Scalable from simple teams to complex multi-tier structures
### Members: Role-Based Access Control
Workspace members provide secure access control with three distinct permission levels for collaborative management:
* **Owners**: Complete workspace control including billing, member management, and configuration
* **Admins**: Organization management, billing visibility, and member invitation capabilities
* **Viewers**: Read-only access to workspace data and organizational structures
### Billing Modes: Resource Allocation Strategy
Billing modes define how resources and subscriptions are allocated across organizations within your workspace. This permanent configuration choice shapes your workspace's financial and operational structure:
* **Single Mode**: Unified billing with shared resource pool
* **Assigned Mode**: Isolated billing accounts for complete separation
* **Pooled Mode**: Multiple billing accounts contributing to shared resources
## Enterprise-Grade Workspace Features
### Enterprise Reliability and Performance
Workspaces include advanced reliability features designed for mission-critical enterprise operations:
* **Idempotent operations**: Prevent duplicate processing during network issues
* **Distributed locking**: Eliminate race conditions in high-concurrency environments
* **Atomic transactions**: Ensure data consistency across all operations
* **Auto-scaling architecture**: Handle thousands of concurrent requests
### Advanced Resource Management
Sophisticated resource tracking and allocation capabilities for complex organizational needs:
* **Multi-resource tracking**: Users, locations, SSO connections, and custom resources
* **Hierarchical limits**: Set and inherit limits across organizational levels
* **Real-time usage aggregation**: Automatic rollup from leaf to root organizations
* **Dynamic limit enforcement**: Most restrictive limit always applies
### Platform Integration Capabilities
Seamless integration with enterprise authentication and payment systems:
* **Auth0 integration**: Connect existing identity management systems
* **Stripe integration**: Direct payment processing and subscription management
* **API-first design**: Programmatic access to all workspace functionality
* **Dashboard management**: Intuitive web interface for administrative tasks
## How to Set Up Your Workspace
Follow these steps to configure your workspace for optimal billing and organizational management:
1. **Select Billing Mode**: Choose Single, Assigned, or Pooled based on your business requirements (permanent decision)
2. **Configure Billing Accounts**: Connect Stripe customers and add secure payment methods
3. **Design Organization Hierarchy**: Model your business structure using nested organizations
4. **Add Workspace Members**: Invite users with appropriate Owner, Admin, or Viewer roles
5. **Setup Subscriptions**: Configure resource allocations and usage limits for your organizations
## What's Next?
* Learn about [Billing Modes](/workspaces/billing-modes) to choose the right model for your business
* Explore [Modeling Your Business](/workspaces/modeling-your-business) for real-world implementation examples
* Understand [Organization Hierarchies](/workspaces/organization-hierarchies) for complex structures
* Review [System Limitations](/workspaces/limitations) to plan your implementation
# Workspace System Limits: Organization, Billing & Performance Constraints
Source: https://altostrat.io/docs/workspaces/limitations
Complete reference for workspace system limitations including organization hierarchy limits, billing account restrictions, performance considerations, and scaling strategies for enterprise implementations.
## Understanding Workspace System Limitations
Workspace system limitations define operational boundaries designed to ensure optimal performance, reliability, and consistent user experience across all enterprise implementations. Understanding these limits is essential for scalable architecture design and growth planning.
**Why system limits exist:**
* Ensure optimal performance and response times
* Maintain system reliability and stability
* Provide consistent experience across all users
* Prevent resource contention and bottlenecks
* Enable efficient scaling and capacity planning
## Workspace-Level Limits: Enterprise-Scale Boundaries
Workspace-level limits define the maximum capacity for top-level container operations designed for enterprise-scale implementations:
### Workspace Capacity Limits
| Resource | Maximum Limit | Implementation Details |
| :------------------------- | :------------------ | :---------------------------------------------------------------------------- |
| **Total Organizations** | 1,000 per workspace | Total count across all hierarchy levels including root and leaf organizations |
| **Workspace Members** | 100 per workspace | Users with assigned roles (Owner, Admin, Viewer) for workspace management |
| **Billing Mode Selection** | Permanent decision | Single, Assigned, or Pooled mode chosen at creation cannot be modified |
## Organization Hierarchy Limits: Structure and Scalability Constraints
Organization hierarchy limits ensure efficient data traversal, query performance, and management capabilities while supporting complex business structures:
### Hierarchy Structure Limits
| Hierarchy Aspect | Maximum Limit | Technical Details |
| :--------------------------- | :---------------------- | :----------------------------------------------------------------- |
| **Maximum Depth** | 10 levels | Maximum parent-child nesting depth for efficient query performance |
| **Direct Children** | 100 per organization | Maximum immediate children per organization node |
| **Total Descendants** | 1,000 (workspace limit) | Effectively unlimited within workspace organization limit |
| **Organization Name Length** | 50 characters | Display name character limit for UI and API compatibility |
### Visual Hierarchy Limit Examples
These diagrams demonstrate maximum depth and direct children constraints:
```mermaid theme={null}
graph TD
subgraph "Maximum Depth: 10 Levels"
L1[Level 1] --> L2[...]
L2 --> L10[Level 10]
L10 --> X[❌ Level 11 Not Allowed]
end
```
```mermaid theme={null}
graph TD
subgraph "Maximum Direct Children: 100"
P[Parent Organization]
C1[Child 1]
C2[Child 2]
C99["..."]
C100[Child 100]
X[❌ Child 101 Not Allowed]
P --> C1 & C2 & C99 & C100 & X
end
```
## Billing and Subscription Limits: Financial Architecture Constraints
Billing and subscription limits define financial architecture boundaries that vary by workspace billing mode and affect operational structure:
### Billing Architecture Limits
| Financial Resource | Mode-Specific Limit | Implementation Details |
| :------------------------------------- | :-------------------- | :---------------------------------------------------------- |
| **Billing Accounts (Single mode)** | 1 per workspace | Single mode restricts to exactly one billing account |
| **Billing Accounts (Assigned/Pooled)** | 10 per workspace | Assigned and Pooled modes support multiple billing accounts |
| **Active Subscriptions** | 3 per billing account | Maximum concurrent subscriptions for resource pooling |
| **Payment Methods** | 5 per billing account | Secure payment method storage with automated failover |
### Exceeding Subscription Limits: Multi-Billing Account Strategy
When customers require more than 3 separate subscriptions for complex invoicing needs, implement multiple billing accounts within the workspace:
**Example**: MSP client requiring 5 separate departmental invoices
**Implementation Strategy**:
1. **Create multiple billing accounts**: "Client ABC - Billing 1" and "Client ABC - Billing 2"
2. **Distribute subscriptions**: 3 subscriptions on first account, 2 on second account
3. **Assign organizational structure**: Link departments to appropriate billing accounts (requires Assigned mode with departmental top-level organizations)
```mermaid theme={null}
graph TD
subgraph "Workspace for Client ABC (Assigned Mode)"
O1[Org: Marketing Dept] --> BA1[Billing Account 1
1 Subscription]
O2[Org: Sales Dept] --> BA1
O3[Org: IT Dept] --> BA1
O4[Org: Operations Dept] --> BA2[Billing Account 2
1 Subscription]
O5[Org: R&D Dept] --> BA2
end
```
## Performance Characteristics: Operation Complexity and Optimization
Workspace operations are optimized for performance, but complexity varies based on data relationships and scope:
### Operation Performance Characteristics
| Operation Type | Algorithmic Complexity | Performance Details |
| :-------------------------- | :--------------------- | :-------------------------------------------------- |
| **Organization Creation** | O(1) constant time | Single atomic write operation (\< 100ms) |
| **Organization Relocation** | O(n) linear time | Performance scales with descendant count |
| **Usage/Limit Calculation** | O(1) optimized | Batch operations avoid recursive queries (\< 200ms) |
| **Organization Listing** | O(n) paginated | 100-item pages typically load under 500ms |
### Performance Optimization Best Practices
1. **Optimize hierarchy design**: Favor wider, shallower structures over deep nesting for better performance and management
2. **Utilize batch operations**: Use bulk API endpoints for multiple entity operations to improve throughput
3. **Implement pagination**: Always use pagination cursors for large resource lists to ensure responsive performance
4. **Monitor operation patterns**: Track performance metrics to identify optimization opportunities
## Error Handling: Limit Enforcement and Resolution
Comprehensive error handling provides clear guidance when system limits are encountered:
### Common Limit Errors and Solutions
| Error Type | Root Cause | Resolution Strategy |
| :------------------------------ | :-------------------------------------------------- | :------------------------------------------------------------------------- |
| **Hierarchy Depth Exceeded** | Organization nesting beyond 10 levels | Restructure to wider hierarchy; use metadata for additional classification |
| **Maximum Children Exceeded** | More than 100 direct children | Create intermediate organizational layers grouped by function or region |
| **Subscription Limit Exceeded** | More than 3 subscriptions per billing account | Create additional billing accounts for extra subscriptions |
| **Resource Quota Exceeded** | Usage exceeds subscription or organizational limits | Upgrade subscription capacity or optimize resource usage |
## Growth Planning: Proactive Scaling and Monitoring
Proactive monitoring and capacity planning prevent unexpected limit encounters and ensure smooth scaling:
```mermaid theme={null}
graph LR
subgraph "Workspace Monitoring"
M1["Organizations
850 / 1,000
85% ⚠️"]
M2["Hierarchy Depth
Current Max: 7 / 10
70% ✓"]
M3["Billing Accounts
9 / 10
90% ⚠️"]
M4["Subscriptions on BA #1
3 / 3
100% ❌"]
end
```
### Enterprise Scaling Strategies
* **Workspace segmentation**: Split large enterprises across multiple workspaces by geography or business unit
* **Hierarchy optimization**: Regular review and flattening of organizational structures for improved management
* **Enterprise consultation**: Contact support for businesses projecting limit exceedance; enterprise plans offer customizable limits
* **Capacity planning**: Implement monitoring and alerting for proactive limit management
# Business Structure Modeling: Franchise, Enterprise, MSP & Partner Network Examples
Source: https://altostrat.io/docs/workspaces/modeling-your-business
Complete guide to modeling business structures with workspace billing modes and organization hierarchies. Real-world examples for franchises, multinational corporations, MSPs, channel partners, and traditional businesses with implementation steps.
## How to Model Your Business Structure
This comprehensive guide demonstrates how to model complex business structures using workspace billing modes and organization hierarchies. Each real-world scenario provides complete implementation guidance including billing mode selection, hierarchy design, and resource management configuration.
**What you'll learn:**
* Choose optimal billing modes for different business models
* Design organization hierarchies for complex structures
* Configure resource management and usage tracking
* Implement best practices for scalability and management
## Franchise Business Model: Multi-Location Brand Management
### Franchise Business Scenario
A restaurant franchise with 50 locations across multiple regions. Each location is independently owned and requires separate billing, while maintaining brand consistency and enabling resource sharing across the franchise network.
**Business requirements:**
* Independent billing for each franchisee
* Shared resource pool for brand consistency
* Regional management and reporting
* Flexible resource allocation across locations
### Recommended Configuration: Pooled Billing Mode
**Why Pooled Mode?** Enables independent franchisee billing while creating a shared resource pool for brand-wide consistency and resource flexibility.
### Implementation
```mermaid theme={null}
graph TD
subgraph "Franchise Workspace"
subgraph "Resource Pool"
BA1[Franchisee Smith
3 Locations]
BA2[Franchisee Jones
2 Locations]
BA3[Franchisee Chen
5 Locations]
end
subgraph "Organization Structure"
F[Franchise HQ]
R1[Region: Northeast]
R2[Region: Southwest]
L1[Location: Boston]
L2[Location: New York]
L3[Location: Phoenix]
L4[Location: Las Vegas]
F --> R1
F --> R2
R1 --> L1
R1 --> L2
R2 --> L3
R2 --> L4
end
end
```
### Franchise Implementation Steps
1. **Initialize Workspace**: Create workspace with Pooled billing mode for resource sharing
2. **Configure Franchisee Billing**:
* Create individual billing accounts for each franchisee
* Add secure payment methods for each account
* Purchase subscriptions based on franchisee location count and needs
3. **Design Organization Structure**:
* Create regional organizations for geographic management
* Add franchise locations under appropriate regional organizations
* Set location-specific resource limits as needed
4. **Setup Resource Management**:
* Configure subscription pooling across all franchisees
* Enable flexible resource allocation to any location
* Implement usage tracking for franchisee reporting and chargeback
### Franchise Model Benefits
* **Financial independence**: Each franchisee maintains separate billing and payment control
* **Resource flexibility**: Shared pool enables dynamic allocation during peak periods
* **Centralized management**: Brand-wide visibility and control for corporate oversight
* **Scalable growth**: Easy addition of new franchisees and locations to existing structure
## Multinational Corporation: Global Enterprise Structure
### Multinational Corporation Scenario
A global technology company with subsidiaries operating in USA, Germany, and Japan. Each country requires complete operational independence including separate budgets, local currencies, and compliance with regional regulations.
**Business requirements:**
* Complete financial and operational isolation between countries
* Multi-currency billing and reporting
* Regional compliance and audit capabilities
* Independent budget management per subsidiary
### Recommended Configuration: Assigned Billing Mode
**Why Assigned Mode?** Provides complete isolation between subsidiaries for compliance, financial accountability, and independent operations.
### Implementation
```mermaid theme={null}
graph TD
subgraph "Global Corporation Workspace"
BA1[Billing: USA Corp
Currency: USD
Budget: $2M]
BA2[Billing: Germany GmbH
Currency: EUR
Budget: €1.5M]
BA3[Billing: Japan KK
Currency: JPY
Budget: ¥200M]
USA[🇺🇸 USA Operations]
DE[🇩🇪 Germany Operations]
JP[🇯🇵 Japan Operations]
USA_S[Sales Team: 50 users]
USA_E[Engineering: 100 users]
USA_M[Marketing: 30 users]
DE_S[Vertrieb: 40 users]
DE_E[Entwicklung: 80 users]
JP_S[営業部: 30 users]
JP_P[製品部: 50 users]
BA1 --> USA
BA2 --> DE
BA3 --> JP
USA --> USA_S
USA --> USA_E
USA --> USA_M
DE --> DE_S
DE --> DE_E
JP --> JP_S
JP --> JP_P
end
```
### Setup Steps
1. **Create Workspace** with Assigned billing mode
2. **Establish Country Structure**:
* Create top-level organization for each country
* Create billing account for each country entity
* Assign billing account to corresponding organization
3. **Configure Billing Accounts**:
* Set appropriate currency for each account
* Add country-specific payment methods
* Purchase subscriptions based on local needs
4. **Build Department Structure**:
* Create child organizations for departments
* Set resource limits per department
* Configure approval workflows as needed
### Benefits
* Complete financial separation between countries
* Local currency billing and budgeting
* Compliance with regional regulations
* Clear cost center management
## Managed Service Provider (MSP): Multi-Client Service Management
### MSP Business Scenario
A managed service provider delivering IT services to 100+ diverse clients. Each client requires complete billing separation and resource isolation, with enterprise clients needing multiple invoices for different departments.
**Business requirements:**
* Complete client isolation and separate billing
* Scalable client onboarding and management
* Multiple invoice capability for enterprise clients
* Efficient resource allocation and usage tracking
### Recommended Configuration: Assigned Billing Mode
**Why Assigned Mode?** Ensures complete client isolation required for MSP operations while supporting complex enterprise client billing needs.
### Implementation
```mermaid theme={null}
graph TD
subgraph "MSP Workspace"
subgraph "Standard Clients"
BA1[Client A Billing]
O1[Client A Org]
BA1 --> O1
BA2[Client B Billing]
O2[Client B Org]
BA2 --> O2
end
subgraph "Enterprise Client with Multiple Invoices"
BA3["Enterprise Client - Billing Account
Subscription 1: Marketing (20 users)
Subscription 2: Operations (50 users)
Total Pool: 70 users"]
O3[Enterprise Client Org]
O3M[Marketing Dept]
O3O[Operations Dept]
BA3 --> O3
O3 --> O3M
O3 --> O3O
end
end
```
### Setup Steps
1. **Create Workspace** with Assigned billing mode
2. **Onboard Standard Clients**:
* Create organization for each client
* Create corresponding billing account
* Assign billing to organization
3. **Handle Enterprise Clients**:
* Single organization with child departments
* Single billing account with multiple subscriptions
* Each subscription generates separate invoice line
* Resources pool within the billing account
### Advanced Scenarios
#### Multiple Invoice Requirements
When a client needs more than 3 separate invoices (subscription limit):
1. Create additional billing account for same client
2. Use organization hierarchy to maintain unified structure
3. Assign different departments to different billing accounts
### Benefits
* Complete client isolation
* Flexible invoicing options
* Scalable client management
* Clear usage tracking per client
## Channel Partner / Reseller Network
### Scenario
A software vendor selling through a multi-tier partner channel. Need to track usage and manage resources through multiple levels of resellers down to end customers.
### Recommended Configuration
**Organization Hierarchy** (Billing mode depends on commercial model)
### Implementation
```mermaid theme={null}
graph TD
subgraph "Partner Channel Hierarchy"
V[Vendor/Root]
MP1[Master Partner A
Limit: 1000 users]
MP2[Master Partner B
Limit: 500 users]
RP1[Regional Partner 1
Limit: 400 users]
RP2[Regional Partner 2
Limit: 300 users]
RP3[Regional Partner 3
Limit: 200 users]
C1[Customer 1
Usage: 50 users]
C2[Customer 2
Usage: 100 users]
C3[Customer 3
Usage: 75 users]
C4[Customer 4
Usage: 60 users]
V --> MP1
V --> MP2
MP1 --> RP1
MP1 --> RP2
MP2 --> RP3
RP1 --> C1
RP1 --> C2
RP2 --> C3
RP3 --> C4
C1 -.50.-> RP1
C2 -.100.-> RP1
C3 -.75.-> RP2
C4 -.60.-> RP3
RP1 -.150 total.-> MP1
RP2 -.75 total.-> MP1
RP3 -.60 total.-> MP2
end
```
### Setup Steps
1. **Design Channel Structure**:
* Map out partner tiers and relationships
* Determine resource allocation strategy
* Plan for usage reporting needs
2. **Create Organization Hierarchy**:
* Top-level: Master partners
* Mid-level: Regional partners
* Leaf-level: End customers
3. **Configure Resource Limits**:
* Set limits at each partner level
* Limits cascade down the hierarchy
* Most restrictive limit applies
4. **Enable Usage Tracking**:
* Direct usage at customer level
* Automatic aggregation up the tree
* Partner dashboards for visibility
### Benefits
* Complete channel visibility
* Automated usage rollup
* Flexible resource allocation
* Partner-specific limits and controls
## Traditional Business
### Scenario
A mid-size company with 200 employees across Sales, Marketing, Engineering, and Operations. All departments share the same budget and resources.
### Recommended Configuration
**Billing Mode**: Single
### Implementation
```mermaid theme={null}
graph LR
subgraph "Company Workspace"
BA[Company Billing Account
200 User Licenses
Premium Features]
O[Company Root]
S[Sales: 50 users]
M[Marketing: 30 users]
E[Engineering: 80 users]
OP[Operations: 40 users]
BA --> O
O --> S
O --> M
O --> E
O --> OP
end
```
### Setup Steps
1. **Create Workspace** with Single billing mode
2. **Set Up Billing**:
* Create single billing account
* Add payment method
* Purchase subscription for total needs
3. **Create Departments**:
* Create organizations for each department
* Optionally set departmental limits
* All draw from same resource pool
### Benefits
* Simple, unified billing
* Flexible resource sharing
* Easy to manage
* Single invoice for accounting
## Key Considerations
### Choosing the Right Model
1. **Financial Structure**
* Unified budget → Single or Pooled mode
* Separate budgets → Assigned mode
2. **Resource Sharing**
* Full sharing → Single mode
* Controlled sharing → Pooled mode
* No sharing → Assigned mode
3. **Compliance Requirements**
* Strict separation → Assigned mode
* Audit trails → Any mode with proper hierarchy
4. **Scalability**
* Plan for growth in organization structure
* Consider future billing requirements
* Design hierarchy for long-term needs
## What's Next?
* Deep dive into [Organization Hierarchies](/workspaces/organization-hierarchies)
* Learn about [Subscriptions and Invoicing](/workspaces/subscriptions-and-invoicing)
* Review [System Limitations](/workspaces/limitations) for planning
# Organization Hierarchies: Multi-Level Structure Design with Usage Tracking & Limits
Source: https://altostrat.io/docs/workspaces/organization-hierarchies
Complete guide to building organization hierarchies with up to 10 levels of nesting. Learn usage aggregation, limit enforcement, and best practices for modeling complex business structures including enterprises, franchises, and partner networks.
## What are Organization Hierarchies?
Organization hierarchies provide the structural foundation for modeling complex business relationships within workspaces. These flexible tree structures support everything from simple departmental layouts to sophisticated multi-tier partner networks with automatic resource management.
**Organization hierarchy capabilities:**
* Model complex business structures up to 10 levels deep
* Automatic usage aggregation from leaf to root organizations
* Cascading limit enforcement with inheritance
* Scalable from small teams to enterprise partner networks
* Real-time resource tracking and allocation
## How Organization Hierarchies Work
Organization hierarchies create sophisticated tree structures with automatic resource management and limit enforcement:
**Hierarchy structure limits:**
* **Maximum depth**: 10 levels of nesting
* **Maximum children**: 100 direct children per organization
* **Scalable design**: Support for complex enterprise structures
**Automatic resource management:**
* **Usage aggregation**: Resource consumption flows up from children to parents
* **Limit inheritance**: Limits cascade down with most restrictive taking precedence
* **Real-time tracking**: Instant visibility into resource consumption across levels
* **Flexible allocation**: Dynamic resource sharing within hierarchy boundaries
```mermaid theme={null}
graph TD
R[Root Organization]
A[Division A]
B[Division B]
A1[Team A1]
A2[Team A2]
B1[Department B1]
B2[Department B2]
A21[Subteam A21]
A22[Subteam A22]
R --> A
R --> B
A --> A1
A --> A2
B --> B1
B --> B2
A2 --> A21
A2 --> A22
```
## Usage Tracking: Automatic Resource Aggregation
Organization hierarchies provide sophisticated usage tracking with automatic aggregation for complete resource visibility at every level:
### How Usage Tracking Works
Every organization maintains dual usage metrics for comprehensive resource monitoring:
* **Direct Usage**: Resources consumed directly by the organization (excluding children)
* **Subtree Usage**: Combined usage including the organization and all descendants
**Benefits of automatic aggregation:**
* Real-time visibility into resource consumption across all levels
* Accurate cost allocation and chargeback capabilities
* Automatic limit enforcement with hierarchical context
* Simplified reporting and capacity planning
```mermaid theme={null}
graph TD
subgraph "Usage Aggregation Example"
R["Company HQ
Direct: 10
Subtree: 135"]
E["Engineering
Direct: 5
Subtree: 75"]
S["Sales
Direct: 10
Subtree: 50"]
E1["Backend Team
Direct: 30"]
E2["Frontend Team
Direct: 40"]
S1["North Region
Direct: 15"]
S2["South Region
Direct: 25"]
R --> E & S
E --> E1 & E2
S --> S1 & S2
E1 -- "30" --> E
E2 -- "40" --> E
S1 -- "15" --> S
S2 -- "25" --> S
E -- "75" --> R
S -- "50" --> R
end
```
### Usage Aggregation Example
This example demonstrates how resource usage automatically aggregates up the hierarchy:
* **Engineering subtree usage (75)**: Direct usage (5) + children's direct usage (30 + 40)
* **Sales subtree usage (50)**: Direct usage (10) + children's direct usage (15 + 25)
* **Company HQ subtree usage (135)**: Direct usage (10) + children's subtree usage (75 + 50)
## Limit Enforcement: Hierarchical Resource Control
Organization hierarchies provide sophisticated limit enforcement using a "most restrictive wins" approach for precise resource control across complex structures.
### How Hierarchical Limits Work
Effective limits for any organization are determined by the most restrictive value from three sources:
1. **Subscription capacity**: Total resources available from billing account
2. **Organization-specific limits**: Limits set directly on the organization
3. **Parent organization limits**: All limits up the hierarchy chain
### Limit Interpretation Rules
* **No limit set (`null`)**: Inherits from parent or subscription (allows free resource flow)
* **Limit set to `0`**: Explicit resource denial for organization and all descendants
* **Limit set to positive value**: Enforced cap that cannot exceed parent or subscription limits
```mermaid theme={null}
graph TD
subgraph "Limit Inheritance Example"
S["Subscription
Capacity: 100 users"]
R["Root Org
Limit: 80 users"]
D1["Division 1
Limit: 50 users"]
D2["Division 2
Limit: (not set)"]
T1["Team 1
Limit: 30 users
Effective: 30 ✓"]
T2["Team 2
Limit: (not set)
Effective: 50 ✓"]
T3["Team 3
Limit: 60 users
Effective: 50 ⚠️"]
T4["Team 4
Limit: (not set)
Effective: 80 ✓"]
S -.-> R
R --> D1 & D2
D1 --> T1 & T2 & T3
D2 --> T4
end
```
### Limit Inheritance Example
This example shows how limits cascade through the hierarchy:
* **Team 1**: Uses its explicit 30-user limit
* **Team 2**: Inherits 50-user limit from Division 1 parent
* **Team 3**: Requested 60 users but limited to 50 by Division 1 parent
* **Team 4**: Inherits 80-user limit from Root Organization
## Real-World Organization Hierarchy Use Cases
Organization hierarchies support diverse business models and operational structures:
### Multi-Tier Reseller Network: Channel Partner Management
Perfect for software vendors managing complex channel partner relationships with automatic usage aggregation and limit enforcement throughout the partner ecosystem.
**Key benefits:**
* Automatic usage rollup from end customers to vendors
* Cascading limits from master distributors to resellers
* Real-time channel performance visibility
* Flexible resource allocation across partner tiers
```mermaid theme={null}
graph TD
V["Vendor"]
D1["Distributor A
Limit: 1000 licenses"]
D2["Distributor B
Limit: 500 licenses"]
R1["Reseller 1
Limit: 300"]
R2["Reseller 2
Limit: 200"]
R3["Reseller 3
Limit: 400"]
C1["Customer ABC
Using: 50"]
C2["Customer XYZ
Using: 75"]
C3["Customer 123
Using: 100"]
V --> D1 & D2
D1 --> R1 & R2
D2 --> R3
R1 --> C1
R2 --> C2
R3 --> C3
```
### Enterprise Department Structure: Corporate Hierarchy Management
Model sophisticated corporate structures with geographic and functional organization for enterprise resource allocation and compliance management.
**Use cases:**
* Regional resource allocation and budgeting
* Departmental cost center management
* Compliance boundary enforcement
* Global office and subsidiary management
```mermaid theme={null}
graph TD
HQ["Global HQ"]
NA["North America"]
EU["Europe"]
US["United States"]
CA["Canada"]
UK["United Kingdom"]
DE["Germany"]
NYC["New York Office"]
SF["San Francisco Office"]
HQ --> NA & EU
NA --> US & CA
EU --> UK & DE
US --> NYC & SF
```
### Franchise Operations: Multi-Location Brand Management
Organize franchise networks with regional and district structures for comprehensive brand management while maintaining individual franchisee autonomy.
**Capabilities:**
* Regional and district-level organization
* Store-specific resource limits and tracking
* Franchise-wide performance visibility
* Automated usage aggregation for reporting
```mermaid theme={null}
graph TD
F["Franchise Corporate"]
R1["Region: Northeast"]
R2["Region: Southwest"]
D1["District: Boston Metro"]
D2["District: NYC Metro"]
D3["District: Phoenix"]
L1["Store #001"]
L2["Store #002"]
L3["Store #003"]
F --> R1 & R2
R1 --> D1 & D2
R2 --> D3
D1 --> L1 & L2
D3 --> L3
```
## Organization Hierarchy Best Practices
Follow these proven practices for optimal hierarchy design and management:
### Hierarchy Design Principles
1. **Mirror business structure**: Align organization names with actual business units and reporting relationships
2. **Optimize for simplicity**: Use shallow hierarchies when possible for easier management and understanding
3. **Plan for evolution**: Design with future reorganizations in mind as moves affect usage and limits
4. **Consider scale**: Balance hierarchy depth with operational complexity
### Operational Management
1. **Monitor usage patterns**: Regular review of subtree usage for capacity planning and optimization
2. **Implement alerting**: Proactive monitoring for organizations approaching resource limits
3. **Audit hierarchy structure**: Periodic review of organization structure for optimization opportunities
4. **Document relationships**: Maintain clear documentation of business logic behind hierarchy design
## Technical Architecture and Performance
Organization hierarchies are built with enterprise-grade technical capabilities:
### Performance Optimization
* **Atomic operations**: All hierarchy updates use atomic transactions for data consistency
* **Efficient queries**: Path-based queries instead of recursive lookups for better performance
* **Scalable design**: Optimized for deep hierarchies and large organization counts
* **Concurrent support**: High-concurrency operations without performance degradation
### Enterprise Features
* **Complete audit trail**: All modifications logged for compliance and debugging
* **Real-time consistency**: Immediate reflection of changes across all hierarchy levels
* **Distributed locking**: Prevents race conditions in high-traffic environments
# Subscription Management & Invoicing: Resource Pooling, Billing Cycles & Payment Processing
Source: https://altostrat.io/docs/workspaces/subscriptions-and-invoicing
Complete guide to workspace subscription management including resource pooling, trial subscriptions, payment methods, invoicing, and usage metering. Learn billing account limits and subscription lifecycle management.
## What is Subscription Management?
Subscription management defines the resources available to your workspace and how billing is processed. This comprehensive system handles resource allocation, payment processing, usage metering, and invoice generation through integrated Stripe billing.
**Key subscription capabilities:**
* Resource pooling across multiple subscriptions
* Automated billing cycles and invoice generation
* Trial subscription management
* Usage metering and limit enforcement
* Multi-payment method support
## How Subscriptions Work with Billing Accounts
Subscriptions connect billing accounts to resource allocation, providing specific quantities of products (users, locations, SSO connections) that organizations can consume. Each subscription generates automated invoices processed through Stripe integration.
**Subscription architecture:**
* Each subscription belongs to a specific billing account
* Subscriptions provide defined quantities of products/resources
* Multiple subscriptions per billing account enable resource pooling
* Automated invoice generation and payment processing
```mermaid theme={null}
graph LR
BA[Billing Account] --> S1[Subscription 1]
BA --> S2[Subscription 2]
S1 --> P1[Product: Users
Quantity: 50]
S1 --> P2[Product: SSO
Quantity: 1]
S2 --> P3[Product: Users
Quantity: 30]
S2 --> P4[Product: Locations
Quantity: 5]
subgraph "Pooled Resources in Billing Account"
PR[Total Users: 80
Total SSO: 1
Total Locations: 5]
end
P1 & P3 -- contributes to --> PR
P2 -- contributes to --> PR
P4 -- contributes to --> PR
```
## Resource Pooling: Subscription Aggregation in Billing Accounts
Resource pooling automatically combines product quantities from multiple subscriptions within a billing account, creating larger, more flexible resource pools for dynamic allocation.
**How resource pooling works:**
* Multiple subscriptions within a billing account automatically pool resources
* Different product types combine separately (users + users, locations + locations)
* Organizations draw from the combined resource pool
* Enables flexible allocation beyond individual subscription limits
### Resource Pool Access and Allocation
Organizations access pooled resources based on billing account relationships and workspace billing mode configuration:
```mermaid theme={null}
graph TD
subgraph "Billing Account: ACME Corp"
S1["Subscription 1
(Marketing Dept)
20 Users"]
S2["Subscription 2
(Sales Dept)
30 Users"]
S3["Subscription 3
(Engineering Dept)
50 Users"]
subgraph "Available Resource Pool"
Pool["Total Capacity: 100 Users"]
end
S1 --> Pool
S2 --> Pool
S3 --> Pool
end
O1[Marketing Org
Using: 25 users]
O2[Sales Org
Using: 40 users]
O3[Engineering Org
Using: 35 users]
Pool -.-> O1 & O2 & O3
```
### Resource Pooling Benefits
1. **Dynamic allocation**: Organizations can exceed individual subscription limits as long as total usage stays within pooled capacity
2. **Financial flexibility**: Separate invoicing for each subscription enables clear budget tracking and departmental billing
3. **Scalable capacity**: Add temporary subscriptions for seasonal demands without modifying base subscription structure
4. **Cost optimization**: Maximize resource utilization across organizational units
### Subscription Limits and Workarounds
**Important**: Each billing account supports maximum **3 active subscriptions**. For customers requiring additional distinct invoices, create multiple billing accounts to exceed this limit.
## Trial Subscriptions: Free 14-Day Platform Access
New workspaces automatically qualify for comprehensive 14-day trials providing full platform access without upfront payment requirements, enabling complete evaluation of workspace capabilities.
### Trial Eligibility Requirements
Workspace trial eligibility follows strict criteria to ensure fair access:
**Automatic trial qualification requires:**
* ✅ Exactly one billing account in the workspace
* ✅ No prior or existing subscriptions on that billing account
**Trial disqualification occurs when:**
* Multiple billing accounts exist in workspace
* Any subscription has been previously activated
* Trial period has been previously utilized
```mermaid theme={null}
graph LR
NW[New Workspace] --> BA[Create Single Billing Account]
BA -- No subscriptions? --> TRIAL[Activate 14-Day Trial]
TRIAL --> CONVERT{Day 14}
CONVERT -->|Payment Method Added| PAID[Convert to Paid Subscription]
CONVERT -->|No Payment Method| SUSPEND[Access Suspended]
```
### Trial Conversion: Seamless Transition to Paid Service
Ensure uninterrupted service by adding payment methods before trial expiration. The system automatically handles conversion to paid subscriptions with immediate invoice generation.
**Conversion process:**
1. Add default payment method before trial expiration
2. System automatically converts trial to paid subscription
3. First invoice generated immediately upon conversion
4. Uninterrupted access to all workspace features
## Advanced Subscription Management
Comprehensive subscription management capabilities for dynamic resource allocation and billing optimization:
### How to Modify Active Subscriptions
Dynamic subscription modification supports real-time business needs while protecting against service disruption:
**Available modifications:**
* Adjust product quantities (increase or decrease)
* Add or remove products from existing subscriptions
* Change billing cycle frequency (monthly/annual)
* Modify subscription pricing tiers
**Protection mechanisms:**
* Prevent capacity reduction below current usage levels
* Validate changes against organizational limits
* Ensure service continuity during modifications
```mermaid theme={null}
graph TD
CURRENT[Current Subscription
50 Users, Monthly]
MODIFY{Modification Request}
subgraph "Possible Changes"
UP[Upgrade to 100 Users]
DOWN[Downgrade to 25 Users]
ADD[Add 10 Locations]
end
CURRENT --> MODIFY
MODIFY --> UP & DOWN & ADD
UP --> IMMEDIATE[Change takes effect immediately.
Prorated charge on next invoice.]
DOWN --> NEXT_CYCLE[Change takes effect at the start of the next billing cycle.]
ADD --> IMMEDIATE
```
### Subscription Lifecycle
The status of a subscription changes based on user actions and payment events.
```mermaid theme={null}
stateDiagram-v2
[*] --> Trialing: New eligible workspace
[*] --> Active: Direct purchase with payment method
Trialing --> Active: Payment method added
Active --> Canceled: User cancels
Active --> Past_Due: Payment fails
Past_Due --> Active: Payment succeeds
Past_Due --> Unpaid: Grace period ends
Unpaid --> Canceled: Deemed uncollectible
Canceled --> [*]: Subscription terminated
```
## Invoice Management: Automated Billing and Payment Processing
Comprehensive invoice management through Stripe integration provides automated billing cycles, payment processing, and detailed financial reporting.
### Invoice Structure and Components
Detailed invoice breakdowns provide complete transparency for financial tracking and accounting:
**Standard invoice elements:**
* Subscription line items with product quantities and rates
* Tax calculations based on billing address and regulations
* Applied discounts, credits, and promotional adjustments
* Clear subtotals and final amount due
```mermaid theme={null}
graph TD
INV[Invoice #1234]
subgraph "Line Items"
L1[Subscription: User Licenses
50 × $10 = $500]
L2[Subscription: Locations
5 × $50 = $250]
L3[Credit: Promotional
-$50]
end
subgraph "Summary"
SUB[Subtotal: $700]
TAX[Tax: $70]
TOT[Total Due: $770]
end
INV --> L1 & L2 & L3
L1 & L2 & L3 --> SUB
SUB --> TAX
TAX --> TOT
```
### Invoice Preview: Understand Financial Impact Before Changes
Preview upcoming invoices before finalizing subscription modifications to understand complete financial impact including prorated charges and adjustments.
**Preview capabilities:**
* View financial impact of quantity changes
* Calculate prorated charges for mid-cycle modifications
* Understand tax implications of subscription changes
* Preview total cost before confirming modifications
## Payment Method Management: Secure Multi-Method Support
Comprehensive payment method management with secure storage and automated failover capabilities through Stripe integration.
**Payment method capabilities:**
* Store up to 5 payment methods per billing account
* Secure tokenization and PCI compliance through Stripe
* Automated payment method failover and retry logic
* Support for multiple payment types (cards, bank transfers)
```mermaid theme={null}
graph LR
BA[Billing Account]
PM1[💳 Visa ****1234
Default]
PM2[💳 Amex ****5678
Backup]
PM3[🏦 Bank ****9012
For Large Invoices]
BA --> PM1
BA --> PM2
BA --> PM3
```
### Payment Method Hierarchy and Failover
* **Primary payment method**: Default method charged for all invoices and subscriptions
* **Backup payment methods**: Automatic failover when primary method fails
* **Intelligent retry logic**: Systematic retry across available payment methods
* **Proactive notifications**: Automated alerts for payment failures and card expirations
## Usage Metering: Resource Consumption Tracking and Enforcement
Sophisticated usage metering system tracks resource consumption against subscription limits with real-time enforcement and accurate billing protection.
**Usage metering features:**
* Real-time resource consumption tracking
* Automatic limit enforcement across organization hierarchies
* Subscription-based metering (not pay-as-you-go)
* Comprehensive usage reporting and analytics
### Usage Tracking Process and Validation
Usage tracking employs sophisticated validation against organizational limits and subscription pools with real-time enforcement:
**Tracking workflow:**
1. Product services report usage to workspace API
2. System validates against effective organizational limits
3. Subscription pool capacity checked in real-time
4. Usage accepted or rejected based on available capacity
5. Atomic updates ensure data consistency and accuracy
```mermaid theme={null}
sequenceDiagram
participant Product Microservice
participant Workspace API
participant Stripe & DynamoDB
Product Microservice->>+Workspace API: Report Usage (+1 User for Org X)
Workspace API->>+Stripe & DynamoDB: Lock resource pool for Org X
Workspace API->>Workspace API: Check current usage vs. limits
alt Usage is within limits
Workspace API->>+Stripe & DynamoDB: Atomically increment usage counter
Stripe & DynamoDB-->>-Workspace API: Success
Workspace API-->>-Product Microservice: OK (202)
else Usage exceeds limits
Workspace API-->>Product Microservice: Limit Exceeded (422)
end
Stripe & DynamoDB-->>-Workspace API: Release lock
```
### Usage Metering Reliability and Accuracy
Enterprise-grade usage metering with comprehensive protection against billing errors and resource over-consumption:
**Reliability mechanisms:**
* **Race condition prevention**: Distributed locking ensures sequential processing of concurrent usage reports
* **Idempotent operations**: Duplicate usage reports automatically detected and prevented
* **Hierarchical validation**: Most restrictive limits enforced across organization and subscription boundaries
* **Atomic transactions**: Database operations ensure complete consistency and accuracy