انتقل إلى المحتوى

الحسابات وتسجيل الدخول ​

تسجيل الدخول، والجلسات، ورموز الوصول الشخصية، والمستخدمون، والمجموعات، وتدقيق الأمان.

عمليات هذه المجموعة مع قاعدة الوصول وقاعدة إعادة المحاولة والمعلمات والاستجابات. يحمل كل طلب مفتاحًا: Authorization: Bearer <key> (راجع «المصادقة»).

العمليات ​

تسجيل الدخول ​

POST /api/v1/auth/login

الوصول: أي شخص، دون مفتاح · إعادة المحاولة: لا تكرّره تلقائيًا

يبادل name وpassword لحساب برمز جلسة token من نوع Bearer صالح لمدة 12 ساعة، مع expiresAt والحساب؛ أرسله بالصيغة Authorization: Bearer. الاسم غير المعروف وكلمة المرور الخاطئة والحساب المعطّل تعطي كلها الردّ نفسه: 401 invalid_credentials. تُقيَّد وتيرة المحاولات لكل عنوان عميل ولكل حساب (429 rate_limited مع Retry-After)، ويحتفظ الحساب بما لا يزيد على 32 جلسة: وجلسة جديدة تنهي الأقدم.

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
namestringنعم—
passwordstring (password)نعم—

الاستجابة 200

الحقلالنوعمطلوبالقواعد
tokenstringنعم—
expiresAtstring (date-time)نعم—
accountobjectنعم—
account.idstring (uuid)نعم—
account.namestringنعم—
account.administratorbooleanنعم—
account.enabledbooleanنعم—

الاستجابات: 200, 400, 401, 403, 405, 413, 415, 429, 503

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>","password":"<password>"}'

تسجيل حساب ​

POST /api/v1/auth/register

الوصول: أي شخص، دون مفتاح · إعادة المحاولة: لا تكرّره تلقائيًا

ينشئ حسابًا عاديًا (وليس مسؤولًا أبدًا) بـ name (من 3 إلى 64 حرفًا من الأحرف والأرقام أو _.-) وpassword (من 12 إلى 128 حرفًا) ويسجّل دخوله، ويردّ بـ 201 مع جلسة مدتها 12 ساعة كما في login. يعمل فقط عندما يسمح الخادم بالتسجيل الذاتي (انظر getAuthOptions)، وإلا كان 403 registration_disabled؛ والاسم المأخوذ هو 409 already_exists. تُقيَّد وتيرة المحاولات لكل عنوان عميل (429 مع Retry-After)، ويتوقف التسجيل الذاتي عند 900 حساب.

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
namestringنعم—
passwordstring (password)نعم—

الاستجابة 201

الحقلالنوعمطلوبالقواعد
tokenstringنعم—
expiresAtstring (date-time)نعم—
accountobjectنعم—
account.idstring (uuid)نعم—
account.namestringنعم—
account.administratorbooleanنعم—
account.enabledbooleanنعم—

الاستجابات: 201, 400, 403, 405, 413, 415, 429, 503

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>","password":"<password>"}'

الحصول على خيارات تسجيل الدخول ​

GET HEAD /api/v1/auth/options

الوصول: أي شخص، دون مفتاح · إعادة المحاولة: آمن للتكرار (قراءة)

يخبر وحدة التحكم قبل تسجيل الدخول بالنماذج التي ينبغي عرضها: تكون selfRegistration صحيحة (true) عندما تكون registerAccount متاحة على هذا الخادم.

الاستجابة 200

الحقلالنوعمطلوبالقواعد
selfRegistrationbooleanنعم—

الاستجابات: 200, 400, 403, 503

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/auth/options"

عرض قائمة رموز الوصول الشخصية الخاصة بك ​

GET HEAD /api/v1/auth/tokens

الوصول: جلسة حساب مسجّل الدخول (لا مفتاح) · إعادة المحاولة: آمن للتكرار (قراءة)

يسرد رموز الوصول الشخصية للحساب الذي سجّل دخوله، الفعّالة أولًا، مع الاسم والبادئة والنطاق وتاريخ الإنشاء والانتهاء وآخر استخدام وما إذا كان الرمز مُبطَلًا؛ ولا تُعرض الأسرار مرة أخرى أبدًا.

الاستجابة 200

الحقلالنوعمطلوبالقواعد
itemsمصفوفة من objectنعمعدد العناصر: 100 كحد أقصى
items[].idstring (uuid)نعم—
items[].namestringنعم—
items[].prefixstringنعم—
items[].scopestringنعمإحدى القيم: read, read-write
items[].createdAtstring (date-time)نعم—
items[].expiresAtstring (date-time)لايمكن أن يكون null
items[].lastUsedAtstring (date-time)لايمكن أن يكون null
items[].revokedbooleanنعم—

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/auth/tokens" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

إنشاء رمز وصول شخصي ​

POST /api/v1/auth/tokens

الوصول: جلسة حساب مسجّل الدخول (لا مفتاح) · إعادة المحاولة: لا تكرّره تلقائيًا

ينشئ رمزًا للنصوص البرمجية والأدوات يعمل بصفة الحساب الذي سجّل دخوله؛ ويظهر السر في هذه الإجابة فقط. لـ name من 1 إلى 64 حرفًا، وتكون expiresAt افتراضيًا بعد 90 يومًا ويجب أن تقع في المستقبل وخلال 365 يومًا، وscope هي read-write (الافتراضي) أو read الذي لا يستطيع تغيير أي شيء أبدًا. الرموز لا تحمل صلاحيات المسؤول أبدًا ولا تستطيع إنشاء رموز، وللحساب 50 رمزًا فعّالًا كحد أقصى (507 token_limit).

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
namestringنعم—
expiresAtstring (date-time)لا—
scopestringلاإحدى القيم: read, read-write

الاستجابة 201

الحقلالنوعمطلوبالقواعد
idstring (uuid)نعم—
namestringنعم—
prefixstringنعم—
scopestringنعمإحدى القيم: read, read-write
createdAtstring (date-time)نعم—
expiresAtstring (date-time)لايمكن أن يكون null
lastUsedAtstring (date-time)لايمكن أن يكون null
revokedbooleanنعم—
tokenstringنعم—

الاستجابات: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/auth/tokens" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>"}'

إبطال رمز الوصول الشخصي الخاص بك ​

DELETE /api/v1/auth/tokens/{id}

الوصول: جلسة حساب مسجّل الدخول (لا مفتاح) · إعادة المحاولة: آمن للتكرار: الطلب نفسه يُحدث الأثر نفسه

يبطل رمز وصول شخصي واحدًا للحساب الذي سجّل دخوله؛ وتفشل الطلبات التي تحمله من الآن فصاعدًا. وإبطال رمز مُبطَل بالفعل ينجح هو الآخر.

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

مثال

bash
curl -X DELETE "$ARKVORY_URL/api/v1/auth/tokens/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

تسجيل الخروج ​

POST /api/v1/auth/logout

الوصول: أي مفتاح أو جلسة صالحة · إعادة المحاولة: آمن للتكرار: الطلب نفسه يُحدث الأثر نفسه

ينهي جلسة الحساب المرسلة في Authorization؛ ويتوقف رمزها عن العمل فورًا. ومع أي بيانات اعتماد أخرى (رمز شخصي أو مفتاح خدمة) يردّ بـ 204 ولا يُبطل شيئًا.

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/auth/logout" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

تغيير كلمة مرورك ​

POST /api/v1/auth/password

الوصول: جلسة حساب مسجّل الدخول (لا مفتاح) · إعادة المحاولة: لا تكرّره تلقائيًا

يعيّن newPassword (من 12 إلى 128 حرفًا) بعد التحقق من currentPassword؛ وكلمة المرور الحالية الخاطئة هي 401 current_password_invalid وتُحتسب ضمن التأخير المتصاعد لتسجيل الدخول (backoff). وعند النجاح تُبطَل كل جلسات الحساب وكل رموز الوصول الشخصية الخاصة به، بما في ذلك الجلسة الحالية، لذا سجّل الدخول من جديد.

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
currentPasswordstring (password)نعم—
newPasswordstring (password)نعم—

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 413, 415, 422, 429, 503, 507

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/auth/password" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"currentPassword":"<currentPassword>","newPassword":"<newPassword>"}'

الحصول على الهوية الحالية ​

GET HEAD /api/v1/auth/me

الوصول: أي مفتاح أو جلسة صالحة · إعادة المحاولة: آمن للتكرار (قراءة)

يعيد صاحب بيانات الاعتماد: id الخاص به، وما إذا كان مسؤولًا، ونوع بيانات الاعتماد (session أو personal-token أو service-key أو file-key)، ونطاق الرمز الشخصي، والمستودعات التي يملك لها وصول read أو write. استخدمه لعرض المستخدم الذي سجّل دخوله ولاختيار مستودع؛ أما الأذونات الدقيقة لمفتاح خدمة مُدار فاستخدم لها getOwnPermissions.

الاستجابة 200

الحقلالنوعمطلوبالقواعد
idstringنعم—
administratorbooleanنعم—
credentialstringلاإحدى القيم: session, personal-token, service-key, file-key
tokenScopestringلاإحدى القيم: read, read-write
grantsمصفوفة من objectنعم—
grants[].repositorystringنعم—
grants[].permissionsمصفوفة من stringنعمكل عنصر: إحدى القيم: read, write

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/auth/me" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

عرض قائمة الحسابات ​

GET HEAD /api/v1/users

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار (قراءة)

يسرد كل حسابات المستخدمين مرتبةً حسب الاسم، مع المعرّف والاسم وعلامة المسؤول وما إذا كانت الحسابات مفعّلة. يحتفظ الخادم بما لا يزيد على 1000 حساب.

الاستجابة 200

الحقلالنوعمطلوبالقواعد
itemsمصفوفة من objectلا—
items[].idstring (uuid)نعم—
items[].namestringنعم—
items[].administratorbooleanنعم—
items[].enabledbooleanنعم—

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/users" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

إنشاء حساب ​

POST /api/v1/users

الوصول: مسؤول · إعادة المحاولة: لا تكرّره تلقائيًا

ينشئ حسابًا بـ name (من 3 إلى 64 حرفًا من الأحرف والأرقام أو _.-) وpassword (من 12 إلى 128 حرفًا) وadministrator (الافتراضي false)، ويردّ بـ 201 معه. الاسم المأخوذ هو 409 already_exists؛ ويحتفظ الخادم بما لا يزيد على 1000 حساب (507 account_limit).

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
namestringنعم—
passwordstring (password)نعم—
administratorbooleanلا—

الاستجابة 201

الحقلالنوعمطلوبالقواعد
idstring (uuid)نعم—
namestringنعم—
administratorbooleanنعم—
enabledbooleanنعم—

الاستجابات: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/users" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>","password":"<password>"}'

تفعيل حساب أو تعطيله أو إعادة تعيينه ​

PATCH /api/v1/users/{id}

الوصول: مسؤول · إعادة المحاولة: لا تكرّره تلقائيًا

يغيّر enabled و/أو يعيّن password جديدة لحساب؛ ولا يمكن تغيير علامة المسؤول هنا. يُنهي التعطيل كل جلسات الحساب وتتوقف رموز وصوله الشخصية عن العمل ما دام معطّلًا؛ وإعادة تعيين كلمة المرور تُنهي كل الجلسات وتُبطل كل رمز شخصي.

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
enabledbooleanلا—
passwordstring (password)لا—

الاستجابة 200

الحقلالنوعمطلوبالقواعد
idstring (uuid)نعم—
namestringنعم—
administratorbooleanنعم—
enabledbooleanنعم—

الاستجابات: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

مثال

bash
curl -X PATCH "$ARKVORY_URL/api/v1/users/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

عرض قائمة رموز الوصول الشخصية لحساب ​

GET HEAD /api/v1/users/{id}/tokens

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار (قراءة)

يسرد رموز الوصول الشخصية لأي حساب، الفعّالة أولًا، مع الاسم والبادئة والنطاق والإنشاء والانتهاء وآخر استخدام والإبطال؛ ولا يعرض الأسرار أبدًا. استخدمه لمراجعة الأتمتة قبل تعطيل الحساب أو إعادة تعيينه.

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—

الاستجابة 200

الحقلالنوعمطلوبالقواعد
itemsمصفوفة من objectنعمعدد العناصر: 100 كحد أقصى
items[].idstring (uuid)نعم—
items[].namestringنعم—
items[].prefixstringنعم—
items[].scopestringنعمإحدى القيم: read, read-write
items[].createdAtstring (date-time)نعم—
items[].expiresAtstring (date-time)لايمكن أن يكون null
items[].lastUsedAtstring (date-time)لايمكن أن يكون null
items[].revokedbooleanنعم—

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/users/$ID/tokens" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

إبطال رمز وصول شخصي لحساب ​

DELETE /api/v1/users/{id}/tokens/{tokenId}

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار: الطلب نفسه يُحدث الأثر نفسه

يبطل رمز وصول شخصي واحدًا للحساب id؛ وتفشل الطلبات التي تحمله من الآن فصاعدًا، ويُسجَّل الحدث في تدقيق الأمان. وإبطال رمز مُبطَل بالفعل ينجح هو الآخر.

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—
tokenIdالمسارstring (uuid)نعم—

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

مثال

bash
curl -X DELETE "$ARKVORY_URL/api/v1/users/$ID/tokens/$TOKENID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

عرض قائمة مجموعات الوصول ​

GET HEAD /api/v1/access-groups

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار (قراءة)

يسرد كل مجموعات الوصول مع معرّفات حسابات أعضائها ومنح المستودعات (read أو write). يحتفظ الخادم بما لا يزيد على 100 مجموعة، وبما لا يزيد على 10 000 عضوية و10 000 منحة.

الاستجابة 200

الحقلالنوعمطلوبالقواعد
itemsمصفوفة من objectلا—
items[].idstring (uuid)نعم—
items[].namestringنعم—
items[].membersمصفوفة من string (uuid)نعم—
items[].grantsمصفوفة من objectنعم—
items[].grants[].repositorystringنعم—
items[].grants[].accessstringنعمإحدى القيم: read, write

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/access-groups" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

إنشاء مجموعة وصول ​

POST /api/v1/access-groups

الوصول: مسؤول · إعادة المحاولة: لا تكرّره تلقائيًا

ينشئ مجموعة فارغة بـ name (من 2 إلى 64 حرفًا من الأحرف والأرقام أو _.-) ويردّ بـ 201 معها؛ والاسم المأخوذ هو 409 already_exists. أضف الأعضاء بـ addGroupMember والمستودعات بـ setGroupGrant.

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
namestringنعم—

الاستجابة 201

الحقلالنوعمطلوبالقواعد
idstring (uuid)نعم—
namestringنعم—
membersمصفوفة من string (uuid)نعم—
grantsمصفوفة من objectنعم—
grants[].repositorystringنعم—
grants[].accessstringنعمإحدى القيم: read, write

الاستجابات: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/access-groups" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>"}'

إضافة حساب إلى مجموعة ​

PUT /api/v1/access-groups/{id}/members/{userId}

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار: الطلب نفسه يُحدث الأثر نفسه

يجعل الحساب userId عضوًا في المجموعة؛ ويكتسب وصول المجموعة إلى المستودعات مع طلبه التالي. وإضافة عضو موجود بالفعل لا تغيّر شيئًا؛ والحد 10 000 عضوية إجمالًا (507 membership_limit).

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—
userIdالمسارstring (uuid)نعم—

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

مثال

bash
curl -X PUT "$ARKVORY_URL/api/v1/access-groups/$ID/members/$USERID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

إزالة حساب من مجموعة ​

DELETE /api/v1/access-groups/{id}/members/{userId}

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار: الطلب نفسه يُحدث الأثر نفسه

يزيل الحساب userId من المجموعة؛ ويزول الوصول الذي كان يملكه عبر المجموعة مع طلبه التالي. وإزالة حساب ليس عضوًا تنجح هي الأخرى.

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—
userIdالمسارstring (uuid)نعم—

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

مثال

bash
curl -X DELETE "$ARKVORY_URL/api/v1/access-groups/$ID/members/$USERID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

منح مجموعة وصولًا إلى مستودع ​

PUT /api/v1/access-groups/{id}/grants/{repository}

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار: الطلب نفسه يُحدث الأثر نفسه

يمنح أعضاء المجموعة وصولًا access من نوع read أو write إلى repository، ويستبدل منحة سابقة للمجموعة هناك؛ ويسري من طلبهم التالي. لا يحتاج المستودع إلى إنشاء منفصل: المنحة تجعله مرئيًا لهم. والحد 10 000 منحة إجمالًا (507 grant_limit).

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—
repositoryالمسارstringنعم—

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
accessstringنعمإحدى القيم: read, write

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

مثال

bash
curl -X PUT "$ARKVORY_URL/api/v1/access-groups/$ID/grants/$REPOSITORY" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"access":"read"}'

إزالة وصول مجموعة إلى مستودع ​

DELETE /api/v1/access-groups/{id}/grants/{repository}

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار: الطلب نفسه يُحدث الأثر نفسه

يزيل منحة المجموعة للمستودع repository؛ ولا يحتفظ أعضاؤها إلا بالوصول الذي يملكونه عبر مجموعات أخرى. وإزالة منحة غير موجودة تنجح هي الأخرى.

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
idالمسارstring (uuid)نعم—
repositoryالمسارstringنعم—

الاستجابات: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

مثال

bash
curl -X DELETE "$ARKVORY_URL/api/v1/access-groups/$ID/grants/$REPOSITORY" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

قراءة تدقيق الأمان ​

GET HEAD /api/v1/security/audit

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار (قراءة)

يعيد السجل الذي لا يقبل إلا الإلحاق (append-only) لتسجيلات الدخول والتسجيلات وتغييرات الحسابات والمجموعات والمنح وكلمات المرور ورموز الوصول الشخصية، بدءًا من الأحدث، لكل منها الفاعل ونوع بيانات الاعتماد والهدف والنتيجة وعنوان العميل؛ ولا تُسجَّل المحاولات المقيَّدة. تحتوي الصفحة على limit مدخلًا (من 1 إلى 100، والافتراضي 50)؛ وللمتابعة اضبط after على قيمة next.

المعلمات

الاسمالموضعالنوعمطلوبالقواعد
afterالاستعلامstringلاعدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية
limitالاستعلامintegerلا1–100

الاستجابة 200

الحقلالنوعمطلوبالقواعد
itemsمصفوفة من objectنعمعدد العناصر: 100 كحد أقصى
items[].idstringنعمعدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية
items[].occurredAtstring (date-time)نعم—
items[].actorstringنعميمكن أن يكون null
items[].credentialstringنعمإحدى القيم: session, personal-token, service-key, file-key; يمكن أن يكون null
items[].clientIpstringنعميمكن أن يكون null
items[].actionstringنعم—
items[].targetstringنعميمكن أن يكون null
items[].outcomestringنعمإحدى القيم: success, failure, denied
items[].codestringنعميمكن أن يكون null
items[].detailsobjectنعم—
nextstringنعميمكن أن يكون null

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/security/audit" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

الحصول على أذوناتك الفعلية ​

GET HEAD /api/v1/auth/permissions

الوصول: أي مفتاح أو جلسة صالحة · إعادة المحاولة: آمن للتكرار (قراءة)

يعيد profile للمستدعي (managed لمفتاح خدمة مُدار، وlegacy فيما عدا ذلك)، ومعرّف مفتاحه، وارتباطاته الفعلية (كل مستودع مع الإجراءات المسموحة فيه بدقة)، وما إذا كان مسؤول الخدمة الأولي (bootstrap). استخدمه لتكييف العميل؛ ومع ذلك يفحص الخادم كل طلب، لذا يسري أي تغيير في الأذونات فورًا.

الاستجابة 200

الحقلالنوعمطلوبالقواعد
idstringنعم—
profilestringنعمإحدى القيم: legacy, managed
bindingsمصفوفة من objectنعمعدد العناصر: 10000 كحد أقصى
bindings[].resourceobjectنعم—
bindings[].resource.kindstringنعمإحدى القيم: repository
bindings[].resource.idstringنعميطابق النمط ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsمصفوفة من stringنعمعدد العناصر: 1–24; بلا عناصر مكرّرة; كل عنصر: إحدى القيم: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
serviceAdministrationbooleanنعم—
credentialIdstring (uuid)لايمكن أن يكون null

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/auth/permissions" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Arkvory · ProAnimaStudio