This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

مرجع REST API

تتوفر وثائق API تفاعلية مع أمثلة للطلبات والاستجابات على http://localhost:1349/api/docs.

المواصفات القابلة للقراءة آليًا:

  • /api/v1/openapi.yaml - مواصفات OpenAPI 3.1
  • /llms.txt - ملخص ملائم لنماذج اللغة الكبيرة
  • /llms-full.txt - وثائق كاملة ملائمة لنماذج اللغة الكبيرة

المصادقة

تتطلب جميع نقاط النهاية المصادقة ما لم يكن AUTH_ENABLED=false.

رمز الجلسة

bash
# Login
curl -X POST http://localhost:1349/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin"}'
# Returns: {"token":"<session-token>"}

# Use token
curl http://localhost:1349/api/v1/tools/image/resize \
  -H "Authorization: Bearer <session-token>"

تنتهي صلاحية الجلسات بعد 7 أيام (قابلة للتهيئة عبر SESSION_DURATION_HOURS).

مفاتيح API

bash
# Create a key (returns key once - store it)
curl -X POST http://localhost:1349/api/v1/api-keys \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json" \
  -d '{"name":"my-script"}'
# Returns: {"key":"si_<96 hex chars>","id":"...","name":"my-script"}

# Use the key
curl http://localhost:1349/api/v1/tools/image/resize \
  -H "Authorization: Bearer si_<your-key>"

تُسبق المفاتيح بـ si_ وتُخزَّن كتجزئات scrypt، ويُعرض المفتاح الخام مرة واحدة فقط ولا يمكن استرجاعه أبدًا مرة أخرى.

نقاط نهاية المصادقة

الطريقةالمسارالوصولالوصف
POST/api/auth/loginعامتسجيل الدخول، والحصول على رمز الجلسة
POST/api/auth/logoutمصادَقإنهاء الجلسة الحالية
GET/api/auth/sessionمصادَقالتحقق من صحة الجلسة الحالية
POST/api/auth/change-passwordمصادَقتغيير كلمة المرور الخاصة (يُبطل جميع الجلسات ومفاتيح API الأخرى)
GET/api/auth/usersمسؤولسرد جميع المستخدمين
POST/api/auth/registerمسؤولإنشاء مستخدم جديد
PUT/api/auth/users/:idمسؤولتحديث دور المستخدم أو فريقه
POST/api/auth/users/:id/reset-passwordمسؤولإعادة تعيين كلمة مرور المستخدم
DELETE/api/auth/users/:idمسؤولحذف مستخدم
GET/api/v1/config/authعامالتحقق مما إذا كانت المصادقة مُفعَّلة ({ authEnabled: bool })
POST/api/auth/mfa/enrollمصادَقبدء تسجيل المصادقة متعددة العوامل TOTP MFA. يتطلب ميزة mfa للمؤسسات
POST/api/auth/mfa/verifyمصادَقتأكيد تسجيل MFA باستخدام رمز TOTP
POST/api/auth/mfa/completeعامإكمال تحدي تسجيل دخول MFA معلّق
POST/api/auth/mfa/disableمصادَقتعطيل MFA للمستخدم الحالي
POST/api/auth/users/:id/mfa/resetمسؤول (users:manage)إعادة تعيين MFA لمستخدم
GET/api/auth/oidc/loginعامبدء تسجيل دخول OIDC عند تفعيل OIDC
GET/api/auth/oidc/callbackعاماستدعاء تفويض OIDC
GET/api/auth/saml/metadataعامXML لبيانات وصف SAML SP عند تفعيل SAML
GET/api/auth/saml/loginعامبدء تسجيل دخول SAML
POST/api/auth/saml/callbackعامخدمة استهلاك تأكيدات SAML

عند تفعيل MFA لمستخدم، يُرجع POST /api/auth/login القيمة {"requiresMfa":true,"mfaToken":"...","mfaRequired":true|false} بدلًا من رمز الجلسة. أرسل ذلك mfaToken إضافةً إلى رمز TOTP أو رمز استرداد إلى /api/auth/mfa/complete.

الأذونات

الإذنمسؤولمستخدم
استخدام الأدوات
الملفات/خطوط المعالجة/مفاتيح API الخاصة
رؤية ملفات/خطوط معالجة/مفاتيح جميع المستخدمين-
كتابة الإعدادات-
إدارة المستخدمين والفرق-
إدارة العلامة التجارية-

فحص الصحة

الطريقةالمسارالوصولالوصف
GET/api/v1/healthعامفحص صحة أساسي. يُرجع {"status":"healthy","version":"..."} مع 200، أو {"status":"unhealthy"} مع 503 إذا تعذر الوصول إلى قاعدة البيانات.
GET/api/v1/readyzعامفحص الجاهزية. يفحص PostgreSQL وRedis ومساحة القرص وS3 عند تهيئته. يُرجع 503 عندما لا ينبغي أن يستقبل مثيل الخادم أي حركة مرور.
GET/api/v1/admin/healthمسؤول (system:health)تشخيصات مفصلة تشمل مدة التشغيل، ووضع التخزين، وحالة قاعدة البيانات، وحالة الطابور، وتوفر وحدة معالجة الرسوميات GPU.

استخدام الأدوات

تتبع كل أداة النمط نفسه:

bash
# Single file
curl -X POST http://localhost:1349/api/v1/tools/<section>/<toolId> \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]" \
  -F 'settings={"width":800,"height":600}'

# Batch (returns ZIP)
curl -X POST http://localhost:1349/api/v1/tools/<section>/<toolId>/batch \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={...}'

يكون <section> واحدًا من image أو video أو audio أو pdf أو files.

  • الرفع هو multipart/form-data.
  • settings عبارة عن سلسلة JSON تحمل خيارات خاصة بالأداة.
  • clientJobId حقل نموذج اختياري لربط التقدم المُقدَّم من المستدعي.
  • fileId حقل نموذج اختياري يشير إلى عنصر موجود في مكتبة الملفات. عند وجوده، يُحفظ الناتج المُعالَج كإصدار جديد وتتضمن الاستجابة savedFileId.
  • الأدوات السريعة تُرجع عادةً JSON بحالة 200: {"jobId":"...","downloadUrl":"/api/v1/download/<jobId>/<filename>","originalSize":1234,"processedSize":567}. اجلب الملف المُعالَج من downloadUrl.
  • أي أداة مُدرجة في طابور يمكن أن تُرجع JSON بحالة 202 إذا كانت طويلة التشغيل أو تجاوزت نافذة الانتظار المتزامن: {"jobId":"...","async":true}. اتصل بـ SSE لمتابعة التقدم، ثم نزّل عند الاكتمال (راجع تتبع التقدم).
  • المسارات الدفعية تُرجع أرشيف ZIP يُبَث مباشرةً (مع ترويسة X-Job-Id) للأدوات المُسجَّلة في سجل الدفعات العام.

مرجع الأدوات

إعدادات التحويل الجاهزة

يتضمن الكتالوج المشترك 83 نقطة نهاية مخصصة لإعدادات التحويل الجاهزة مثل jpg-to-png وmov-to-mp4 وm4a-to-mp3 وpdf-to-jpg وexcel-to-csv. الإعدادات الجاهزة هي مسارات أدوات من الدرجة الأولى:

POST /api/v1/tools/<section>/<presetId>

يقفل كل إعداد جاهز صيغة الإخراج ويفوّض إلى أداة أساسية مثل convert أو convert-video أو extract-audio أو convert-audio أو image-to-pdf أو pdf-to-image أو svg-to-raster أو convert-spreadsheet. راجع إعدادات التحويل الجاهزة للاطلاع على جدول المسارات الكامل والإعدادات الاختيارية.

الأساسيات

معرّف الأداةالاسمالإعدادات الرئيسية
resizeتغيير الحجمwidth، height، fit (cover/contain/fill/inside/outside)، percentage، withoutEnlargement، إضافةً إلى 23 إعدادًا جاهزًا لوسائل التواصل الاجتماعي
cropقصleft، top، width، height، unit (px/percent)
rotateتدوير وقلبangle، horizontal (منطقي)، vertical (منطقي)
convertتحويلformat (jpg/png/webp/avif/tiff/gif/heic/heif)، quality
compressضغطmode (quality/targetSize)، quality (1–100)، targetSizeKb

التحسين

معرّف الأداةالاسمالإعدادات الرئيسية
optimize-for-webالتحسين للويبformat (webp/jpeg/avif/png)، quality، maxWidth، maxHeight، progressive، stripMetadata
strip-metadataإزالة البيانات الوصفية-
edit-metadataتحرير البيانات الوصفيةtitle، description، author، copyright، keywords، gps (خط العرض/خط الطول)، dateTime
bulk-renameإعادة التسمية الجماعيةpattern (يدعم {n} و{date} و{original}startIndex، padding
image-to-pdfصورة إلى PDFpageSize (A4/Letter/...)، orientation، margin، targetSize ({value, unit})
faviconمُولِّد Faviconpadding، backgroundColor، borderRadius - يُولِّد جميع الأحجام القياسية

التعديلات

معرّف الأداةالاسمالإعدادات الرئيسية
adjust-colorsضبط الألوانbrightness، contrast، exposure، saturation، temperature، tint، hue، sharpness، red، green، blue، effect (none/grayscale/sepia/invert)
sharpeningالتحديدmethod (adaptive/unsharp-mask/high-pass)، sigma، m1، m2، x1، y2، y3، amount، radius، threshold، strength، kernelSize (3/5)، denoise (off/light/medium/strong)
replace-colorاستبدال اللونsourceColor، targetColor (البديل)، makeTransparent، tolerance
color-blindnessمحاكاة عمى الألوانsimulationType (protanopia/deuteranopia/tritanopia/protanomaly/deuteranomaly/tritanomaly/achromatopsia/blueConeMonochromacy، الافتراضي "deuteranomaly")
duotoneثنائي اللونshadow (hex)، highlight (hex)، intensity (0-100)
pixelateتبكسلblockSize (2-128)، region ({left, top, width, height} للتبكسل الجزئي)
vignetteتظليل حوافstrength (0.1-1)، color (hex)، radius، softness، roundness، centerX، centerY

أدوات الذكاء الاصطناعي

تعمل جميع أدوات الذكاء الاصطناعي على عتادك: على المعالج المركزي CPU افتراضيًا، أو على NVIDIA CUDA عند توفر وحدة معالجة رسوميات NVIDIA مدعومة. لا يُدعم حاليًا تسريع وحدات معالجة الرسوميات المدمجة Intel/AMD iGPU عبر VA-API أو Quick Sync أو OpenCL لاستدلال الذكاء الاصطناعي. لا حاجة إلى اتصال بالإنترنت.

معرّف الأداةالاسمنموذج الذكاء الاصطناعيالإعدادات الرئيسية
remove-backgroundإزالة الخلفيةrembg (BiRefNet / U2-Net)model، backgroundType (transparent/color/gradient/blur/image)، backgroundColor، gradientColor1، gradientColor2، gradientAngle، blurEnabled، blurIntensity، shadowEnabled، shadowOpacity
upscaleتكبير الصورةRealESRGANscale (2/4)، model، faceEnhance، denoise، format، quality
erase-objectممحاة الكائناتLaMa (ONNX)يُرسل القناع كجزء الملف الثاني (اسم الحقل maskformat، quality
ocrOCR / استخراج النصPaddleOCR / Tesseractquality (fast/balanced/best)، language، enhance
blur-facesتمويه الوجه / معلومات التعريف الشخصيةMediaPipeblurRadius، sensitivity
smart-cropقص ذكيMediaPipe + Sharpmode (subject/face/trim)، strategy (attention/entropy)، width، height، padding، facePreset (closeup/head-shoulders/upper-body/half-body)، sensitivity، threshold، padToSquare، padColor، targetSize، quality
image-enhancementتحسين الصورةقائم على التحليلmode (auto/exposure/contrast/color/sharpness)، strength
enhance-facesتحسين الوجهGFPGAN / CodeFormermodel (gfpgan/codeformer)، strength، sensitivity، centerFace
colorizeالتلوين بالذكاء الاصطناعيDDColorintensity، model
noise-removalإزالة الضوضاءإزالة ضوضاء متدرجةtier (quick/balanced/quality/maximum)، strength، detailPreservation، colorNoise، format، quality
red-eye-removalإزالة العين الحمراءمعالم الوجه + تحليل اللونsensitivity، strength
restore-photoترميم الصورخط معالجة متعدد الخطواتmode (auto/light/heavy)، scratchRemoval، faceEnhancement، fidelity، denoise، denoiseStrength، colorize
passport-photoصورة جواز السفرمعالم MediaPipeتدفق ثنائي المرحلة. يستخدم التحليل multipart file؛ ويستخدم الإنشاء JSON مع countryCode وbgColor وprintLayout (none/4x6/a4)، ومعالم، وأبعاد الصورة
content-aware-resizeتغيير الحجم المدرك للمحتوىنحت اللُّحمات (caire)width، height، protectFaces، blurRadius، sobelThreshold، square
transparency-fixerمُصلِح شفافية PNGBiRefNet HR-mattingdefringe (0-100)، outputFormat (png/webp)
background-replaceاستبدال الخلفيةrembg (BiRefNet)backgroundType (color/gradient)، color (hex)، gradientColor1، gradientColor2، gradientAngle، feather (0-20)، format (png/webp)
blur-backgroundتمويه الخلفيةrembg (BiRefNet)intensity (1-100)، feather (0-20)، format (png/webp)
ai-canvas-expandتوسيع اللوحة بالذكاء الاصطناعيLaMa (رسم خارجي)extendTop، extendRight، extendBottom، extendLeft (px)، tier (fast/balanced/high)، format، quality

العلامة المائية والطبقة الفوقية

معرّف الأداةالاسمالإعدادات الرئيسية
watermark-textعلامة مائية نصيةtext، font، fontSize، color، opacity، position، rotation، tile
watermark-imageعلامة مائية بصورةopacity، position، scale - الملف الثاني هو العلامة المائية
text-overlayطبقة نص فوقيةtext، font، fontSize، color، x، y، background، padding، borderRadius
composeتركيب الصورx، y، opacity، blend - يُطبَّق الملف الثاني كطبقة في الأعلى
meme-generatorمُولِّد الميماتtemplateId، textLayout (top-bottom/top-only/bottom-only/center/side-by-side)، textBoxes ([{id, text}])، fontFamily (anton/arial-black/comic-sans/montserrat/bebas-neue/permanent-marker/roboto)، fontSize، textColor، strokeColor، textAlign، allCaps. يدعم وضع القالب (نص JSON مع templateId) أو وضع الصورة المخصصة (multipart مع ملف).

الأدوات المساعدة

معرّف الأداةالاسمالإعدادات الرئيسية
infoمعلومات الصورة- (يُرجع العرض والارتفاع والصيغة والحجم والقنوات وhasAlpha وDPI وEXIF)
compareمقارنة الصورmode (side-by-side/overlay/diff)، diffThreshold - الملف الثاني هو هدف المقارنة
find-duplicatesالعثور على التكراراتthreshold (مسافة التجزئة الإدراكية، الافتراضي 8) - متعدد الملفات
color-paletteلوحة الألوانcount (عدد الألوان السائدة)، format (hex/rgb)
qr-generateمُولِّد رمز QRdata، size، margin، colorDark، colorLight، errorCorrectionLevel، dotStyle، cornerStyle، logo (ملف اختياري)
barcode-readقارئ الباركود- (يكتشف تلقائيًا QR وEAN وCode128 وDataMatrix وغيرها)
image-to-base64صورة إلى Base64format (data-uri/plain)، mimeType
html-to-imageHTML إلى صورةurl، format (png/jpg/webp)، quality، fullPage، devicePreset (desktop/tablet/mobile/custom)، viewportWidth، viewportHeight
histogramالمخطط البيانيscale (linear/log) - يُرجع مخطط رسم بياني RGB + إحصائيات لكل قناة
lqip-placeholderعنصر نائب LQIPwidth (4-64)، blur، strategy (blur/pixelate/solid)، format (webp/png/jpeg)، quality
barcode-generateمُولِّد الباركودtext، type (code128/ean13/upca/code39/itf14/datamatrix)، scale (1-8)، includeText (منطقي). نص JSON، دون رفع ملف.

التخطيط والتركيب

معرّف الأداةالاسمالإعدادات الرئيسية
collageكولاج / شبكةtemplate (أكثر من 25 تخطيطًا)، gap، backgroundColor، borderRadius - متعدد الملفات
stitchخياطة / دمجdirection (horizontal/vertical/grid)، gap، backgroundColor، alignment - متعدد الملفات
splitتقسيم الصورةmode (grid/rows/cols)، rows، cols، tileWidth، tileHeight
borderحدود وإطارwidth، color، style (solid/gradient/pattern)، borderRadius، padding، shadow
beautifyتجميل لقطة الشاشةbackgroundType (solid/linear-gradient/radial-gradient/image/transparent)، gradientStops، padding، borderRadius، shadowPreset، frame (none/macos-light/macos-dark/windows-light/windows-dark/browser-light/browser-dark/iphone/macbook/ipad/...)، socialPreset (none/twitter/linkedin/instagram-square/instagram-story/facebook/producthunt)، watermarkText، outputFormat
circle-cropقص دائريzoom (1-5)، offsetX، offsetY، borderWidth، borderColor، background (transparent/hex)، outputSize
image-padتبطين الصورةtarget (16:9/9:16/1:1/4:3/3:4/custom)، ratioW، ratioH، background (color/transparent/blur)، color (hex)، padding (0-50%)
sprite-sheetورقة العفاريتcolumns (1-16)، padding، background (hex)، format (png/webp/jpeg)، quality - متعدد الملفات (2-64 صورة)

الصيغة والتحويل

معرّف الأداةالاسمالإعدادات الرئيسية
svg-to-rasterSVG إلى صورة نقطيةformat (png/jpeg/webp/avif/tiff/gif/heif)، width، height، scale، dpi، background
vectorizeصورة إلى SVGcolorMode (bw/color)، threshold، colorPrecision، filterSpeckle، pathMode (none/polygon/spline)
gif-toolsأدوات GIFaction (resize/optimize/reverse/speed/extract-frames/rotate/add-text)، معاملات خاصة بالإجراء
gif-webpمحوِّل GIF/WebPquality (1-100)، lossless (منطقي)، resizePercent (10-100)

أدوات الفيديو

معرّف الأداةالاسمالإعدادات الرئيسية
convert-videoتحويل الفيديوformat (mp4/mov/webm/avi/mkv)، quality (high/balanced/small)
compress-videoضغط الفيديوquality (light/balanced/strong)، resolution (original/1080p/720p/480p)
trim-videoقص الفيديوstartS، endS، precise (منطقي، قص دقيق بالإطار)
mute-videoكتم الفيديو-
video-to-gifفيديو إلى GIFfps (1-30)، width، startS، durationS (بحد أقصى 60 ثانية)
resize-videoتغيير حجم الفيديوwidth، height، preset (custom/2160p/1440p/1080p/720p/480p/360p)
crop-videoقص إطار الفيديوwidth، height، x، y
rotate-videoتدوير الفيديوtransform (cw90/ccw90/180/hflip/vflip)
change-fpsتغيير FPSfps (1-120)
video-colorلون الفيديوbrightness، contrast، saturation، gamma
video-speedسرعة الفيديوfactor (0.25-4)، keepPitch (منطقي)
reverse-videoعكس الفيديو- (بحد أقصى 5 دقائق)
video-loudnormتسوية الصوت- (EBU R128)
aspect-padتبطين النسبةtarget (16:9/9:16/1:1/4:3/3:4)، color (hex)
blur-padتبطين بالتمويهtarget (16:9/9:16/1:1/4:3/3:4)، blur (2-50)
watermark-videoعلامة مائية على الفيديوtext، position، fontSize، opacity، color
stabilize-videoتثبيت الفيديوsmoothing (5-60، بالإطارات)
gif-to-videoGIF إلى فيديوformat (mp4/webm/mov)
video-to-webpفيديو إلى WebPfps، width، quality، loop (منطقي)
video-to-framesفيديو إلى إطاراتmode (all/nth/timestamps)، n، timestamps، format (png/jpg)
merge-videosدمج مقاطع الفيديو- (متعدد الملفات، مُطبَّق على دقة الفيديو الأول)
replace-audioاستبدال الصوت- (فيديو + ملف صوتي، ملفان)
burn-subtitlesحرق الترجماتfontSize (8-72) - فيديو + ملف ترجمة
embed-subtitlesتضمين الترجماتlanguage (رمز ISO 639-2/B) - فيديو + ملف ترجمة
extract-subtitlesاستخراج الترجمات- (يُخرج SRT)
images-to-videoصور إلى فيديوsecondsPerImage (0.5-10)، resolution (1080p/720p/square)، fps - متعدد الملفات
video-metadataتنظيف البيانات الوصفية للفيديو-
auto-subtitlesترجمات تلقائية (ذكاء اصطناعي)language (auto/en/de/fr/es/zh/ja/ko/id/th/vi)، format (srt/vtt)
extract-audioاستخراج الصوتformat (mp3/wav/m4a/ogg)

أدوات الصوت

معرّف الأداةالاسمالإعدادات الرئيسية
convert-audioتحويل الصوتformat (mp3/wav/ogg/flac/m4a)، bitrateKbps (32-320)
trim-audioقص الصوتstartS، endS
volume-adjustضبط مستوى الصوتgainDb (-30 إلى 30)
normalize-audioتسوية الصوت- (EBU R128، -16 LUFS)
fade-audioتلاشي الصوتfadeInS (0-30)، fadeOutS (0-30)
reverse-audioعكس الصوت-
audio-speedسرعة الصوتfactor (0.25-4)
pitch-shiftإزاحة النغمةsemitones (-12 إلى 12)
audio-channelsقنوات الصوتmode (stereo-to-mono/mono-to-stereo/swap)
silence-removalإزالة الصمتthresholdDb (-80 إلى -20)، minSilenceS (0.1-5)
noise-reductionتقليل الضوضاءstrength (light/medium/strong)
merge-audioدمج الصوتformat (mp3/wav/flac/m4a) - متعدد الملفات
split-audioتقسيم الصوتmode (time/parts/silence)، segmentS، parts، thresholdDb، minSilenceS
ringtone-makerصانع النغماتstartS، durationS (1-30)
waveform-imageصورة الموجة الصوتيةwidth، height، color (hex)
audio-metadataالبيانات الوصفية للصوتstrip (منطقي)، title، artist، album
transcribe-audioنسخ الصوت (ذكاء اصطناعي)language (auto/en/de/fr/es/zh/ja/ko/id/th/vi)، outputFormat (txt/srt/vtt)

أدوات المستندات

معرّف الأداةالاسمالإعدادات الرئيسية
merge-pdfدمج ملفات PDF- (متعدد الملفات، حتى 20 ملف PDF)
split-pdfتقسيم PDFmode (range/every)، range، everyN (1-500)
compress-pdfضغط PDFmode (quality/targetSize)، quality (1-100)، targetSizeKb
rotate-pdfتدوير PDFangle (90/180/270)، range (نطاق الصفحات)
extract-pagesاستخراج الصفحاتrange (صيغة qpdf، مثال "1-5,8,10-z")
remove-pagesإزالة الصفحاتpages (نطاق qpdf للإزالة)
organize-pdfتنظيم PDForder (ترتيب صفحات qpdf، مثال "3,1,2,5-z")
protect-pdfحماية PDFuserPassword، ownerPassword (AES-256)
unlock-pdfإلغاء قفل PDFpassword
repair-pdfإصلاح PDF-
linearize-pdfتحسين PDF للويب- (تحسين خطي للعرض السريع على الويب)
grayscale-pdfPDF بتدرج رمادي-
pdfa-convertالتحويل إلى PDF/A- (PDF/A-2 للأرشفة)
crop-pdfقص PDFmargin (0-2000 نقطة)
nup-pdfPDF N-upperSheet (2/3/4/8/9/12/16)
booklet-pdfكتيّب PDFperSheet (2/4/6/8)
watermark-pdfعلامة مائية على PDFtext، position، fontSize، opacity، rotation
pdf-page-numbersأرقام صفحات PDFposition (bl/bc/br/tl/tc/tr)، fontSize
flatten-pdfتسطيح PDF- (يدمج النماذج والتعليقات التوضيحية)
redact-pdfتنقيح PDFterms (string[])، caseSensitive (منطقي)
sign-pdfتوقيع PDFمسار multipart مخصص مع PDF file، وملفات التوقيع sig0، وsig1، ومصفوفة JSON placements
pdf-to-textPDF إلى نص-
pdf-to-wordPDF إلى Word-
pdf-metadataالبيانات الوصفية لـ PDFtitle، author، subject، keywords
convert-documentتحويل مستندformat (docx/odt/rtf/txt)
convert-presentationتحويل عرض تقديميformat (pptx/odp)
convert-spreadsheetتحويل جدول بياناتformat (xlsx/ods/csv)
excel-to-pdfExcel إلى PDF-
word-to-pdfWord إلى PDF-
powerpoint-to-pdfPowerPoint إلى PDF-
html-to-pdfHTML إلى PDF- (الموارد البعيدة مُعطَّلة)
markdown-to-docxMarkdown إلى Word-
markdown-to-htmlMarkdown إلى HTML-
markdown-to-pdfMarkdown إلى PDF- (الموارد البعيدة مُعطَّلة)
epub-convertتحويل EPUBformat (pdf/docx/html/md)
to-epubالتحويل إلى EPUB- (يقبل .docx و.md و.html و.txt)
ocr-pdfPDF OCR (ذكاء اصطناعي)quality (fast/balanced/best)، language (auto/en/de/fr/es/zh/ja/ko)، pages
pdf-to-imagePDF إلى صورةpages (all/range)، format، dpi، quality
pdf-to-jpgPDF إلى JPGpages، dpi، quality، colorMode
pdf-to-pngPDF إلى PNGpages، dpi، quality، colorMode
pdf-to-tiffPDF إلى TIFFpages، dpi، quality، colorMode

أدوات الملفات

معرّف الأداةالاسمالإعدادات الرئيسية
chart-makerصانع المخططاتkind (bar/line/pie)، title، width، height
csv-excelCSV إلى Excelsheet (رقم ورقة العمل لإدخال XLSX) - ثنائي الاتجاه
csv-jsonCSV إلى JSONpretty (منطقي) - ثنائي الاتجاه
json-xmlJSON إلى XMLpretty (منطقي) - ثنائي الاتجاه
split-csvتقسيم CSVrowsPerFile (1-1000000)، keepHeader (منطقي)
merge-csvsدمج ملفات CSV- (متعدد الملفات، أعمدة متطابقة)
yaml-jsonYAML / JSON- (ثنائي الاتجاه)
xml-to-csvXML إلى CSV- (يعثر تلقائيًا على العناصر المتكررة)
excel-to-csvExcel إلى CSVإعداد تحويل جاهز مخصص مدعوم بـ convert-spreadsheet
create-zipإنشاء ZIP- (متعدد الملفات، 2-50 ملفًا)
extract-zipاستخراج ZIP- (محمي من قنابل الضغط)

HTML إلى صورة

التقاط صفحة ويب كصورة. على خلاف الأدوات الأخرى، تقبل نقطة النهاية هذه application/json بدلًا من بيانات نموذج multipart (لا حاجة لرفع ملف).

نقطة النهاية: POST /api/v1/tools/image/html-to-image

Content-Type: application/json

المعاملالنوعالافتراضيالوصف
urlسلسلة(مطلوب)عنوان URL للالتقاط (http/https فقط)
formatسلسلة"png"صيغة الإخراج: jpg، png، webp
qualityرقم90الجودة 1-100 (JPG/WebP فقط)
fullPageمنطقيfalseالتقاط الصفحة القابلة للتمرير بالكامل
devicePresetسلسلة"desktop"desktop، tablet، mobile، custom
viewportWidthرقم1280عرض إطار عرض مخصص 320-3840
viewportHeightرقم720ارتفاع إطار عرض مخصص 320-2160

مثال:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://snapotter.com", "format": "png", "devicePreset": "desktop"}'

الاستجابة:

json
{
  "jobId": "uuid",
  "downloadUrl": "/api/v1/download/{jobId}/screenshot.png",
  "originalSize": 0,
  "processedSize": 54321
}

المسارات الفرعية للأدوات

تُتيح بعض الأدوات نقاط نهاية إضافية إلى جانب POST /api/v1/tools/<section>/<toolId> القياسية:

الطريقةالمسارالوصف
GET/api/v1/tools/popularإرجاع معرّفات الأدوات الشائعة، مع الرجوع إلى قائمة افتراضية منسّقة عندما تكون بيانات الاستخدام قليلة
POST/api/v1/tools/image/remove-background/effectsتطبيق تأثيرات الخلفية (لون/تدرج/تمويه/ظل) دون إعادة تشغيل الذكاء الاصطناعي. يستخدم القناع المخزَّن مؤقتًا من عملية الإزالة الأولية.
POST/api/v1/tools/image/edit-metadata/inspectقراءة البيانات الوصفية EXIF/IPTC/XMP الموجودة من صورة
POST/api/v1/tools/image/strip-metadata/inspectفحص حقول البيانات الوصفية قبل إزالتها
POST/api/v1/tools/image/passport-photo/analyzeالمرحلة 1: كشف الوجه بالذكاء الاصطناعي + إزالة الخلفية. يُرجع معالم الوجه والبيانات المخزَّنة مؤقتًا.
POST/api/v1/tools/image/passport-photo/generateالمرحلة 2: القص وتغيير الحجم والتبليط باستخدام التحليل المخزَّن مؤقتًا. دون إعادة تشغيل الذكاء الاصطناعي.
POST/api/v1/tools/image/gif-tools/infoالحصول على البيانات الوصفية لـ GIF (عدد الإطارات، الأبعاد، المدة)
POST/api/v1/tools/pdf/pdf-to-image/infoالحصول على البيانات الوصفية لـ PDF (عدد الصفحات، الأبعاد)
POST/api/v1/tools/pdf/pdf-to-image/previewإنشاء معاينة لصفحة PDF محددة
POST/api/v1/tools/pdf/pdf-to-jpg/infoالحصول على البيانات الوصفية لـ PDF للإعداد الجاهز المخصص لـ JPG
POST/api/v1/tools/pdf/pdf-to-jpg/previewإنشاء معاينة صفحة PDF بإعداد JPG الجاهز
POST/api/v1/tools/pdf/pdf-to-png/infoالحصول على البيانات الوصفية لـ PDF للإعداد الجاهز المخصص لـ PNG
POST/api/v1/tools/pdf/pdf-to-png/previewإنشاء معاينة صفحة PDF بإعداد PNG الجاهز
POST/api/v1/tools/pdf/pdf-to-tiff/infoالحصول على البيانات الوصفية لـ PDF للإعداد الجاهز المخصص لـ TIFF
POST/api/v1/tools/pdf/pdf-to-tiff/previewإنشاء معاينة صفحة PDF بإعداد TIFF الجاهز
POST/api/v1/tools/image/svg-to-raster/batchتحويل دفعي لعدة ملفات SVG إلى صور نقطية
POST/api/v1/tools/image/image-enhancement/analyzeتحليل جودة الصورة وإرجاع توصيات التحسين
POST/api/v1/tools/image/optimize-for-web/previewمعاينة خفيفة لضبط المعاملات المباشر. يُرجع صورة محسَّنة مع ترويسات الحجم.

المعالجة الدفعية

تطبيق أداة عامة مُفعَّلة للدفعات على عدة ملفات دفعةً واحدة. يُرجع أرشيف ZIP. تستخدم المسارات المخصصة متعددة الملفات أو متعددة الخطوات، مثل توقيع PDF وPDF OCR ومسارات الإعدادات الجاهزة PDF إلى صورة، عقد نقطة نهاية خاصة بها بدلًا من مسار /batch العام.

bash
curl -X POST http://localhost:1349/api/v1/tools/image/compress/batch \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"quality":80}'

يتحكم في التزامن CONCURRENT_JOBS (الافتراضي: يُكتشف تلقائيًا من أنوية المعالج). يحدّ MAX_BATCH_SIZE عدد الملفات لكل دفعة (الافتراضي: 100؛ اضبطه على 0 لغير محدود).

خطوط المعالجة

تنفيذ خط معالجة

bash
# Single file
curl -X POST http://localhost:1349/api/v1/pipeline/execute \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]" \
  -F 'pipeline={"steps":[
    {"toolId":"resize","settings":{"width":1200}},
    {"toolId":"compress","settings":{"quality":80}},
    {"toolId":"watermark-text","settings":{"text":"© 2025"}}
  ]}'

# Batch (multiple files → ZIP)
curl -X POST http://localhost:1349/api/v1/pipeline/batch \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'pipeline={"steps":[{"toolId":"resize","settings":{"width":800}}]}'

ناتج كل خطوة هو مدخل الخطوة التالية. تسمح خطوط المعالجة بـ 20 خطوة افتراضيًا، قابلة للتهيئة عبر MAX_PIPELINE_STEPS. اضبط MAX_PIPELINE_STEPS=0 لإزالة الحد.

حفظ خطوط المعالجة وإدارتها

الطريقةالمسارالوصف
POST/api/v1/pipeline/saveحفظ خط معالجة مُسمّى (name، description، steps[])
GET/api/v1/pipeline/listسرد خطوط المعالجة المحفوظة (يرى المسؤولون الكل؛ ويرى المستخدمون ما يخصهم)
DELETE/api/v1/pipeline/:idحذف (المالك أو المسؤول)
GET/api/v1/pipeline/toolsسرد معرّفات الأدوات الصالحة لخطوات خط المعالجة

تتبع التقدم

تُصدر المهام طويلة التشغيل والأدوات المُدرجة في طابور والمهام الدفعية وخطوط المعالجة تقدمًا لحظيًا عبر الأحداث المُرسَلة من الخادم Server-Sent Events. تدفق التقدم عام ومُفهرَس بمعرّف المهمة، لذا لا يحتاج العملاء إلى إرسال ترويسة Authorization لقراءته.

bash
# Connect to the SSE stream (jobId is in the JSON response body from the tool endpoint)
curl -N http://localhost:1349/api/v1/jobs/<jobId>/progress

صيغة الحدث:

data: {"jobId":"...","type":"single","phase":"processing","stage":"Upscaling","percent":42}
data: {"jobId":"...","type":"single","phase":"complete","percent":100,"result":{"downloadUrl":"/api/v1/download/..."}}
data: {"jobId":"...","type":"batch","status":"processing","completedFiles":2,"totalFiles":5,"failedFiles":0,"errors":[]}

يمكنك طلب إلغاء مهمة مُدرجة في طابور أو قيد التشغيل باستخدام POST /api/v1/jobs/:jobId/cancel. الاستجابة هي {"canceled":true|false}.

مكتبة الملفات

تخزين ملفات دائم مع سجل الإصدارات.

الطريقةالمسارالوصف
POST/api/v1/uploadرفع الملفات إلى مساحة العمل (معالجة مؤقتة)
POST/api/v1/files/uploadرفع الملفات إلى مكتبة الملفات الدائمة
POST/api/v1/files/save-resultحفظ نتيجة معالجة أداة كإصدار ملف جديد
GET/api/v1/filesسرد الملفات المحفوظة (مُقسَّم إلى صفحات، مع البحث)
GET/api/v1/files/:idالحصول على البيانات الوصفية للملف + سلسلة الإصدارات
GET/api/v1/files/:id/downloadتنزيل الملف
GET/api/v1/files/:id/thumbnailالحصول على صورة مصغرة JPEG بحجم 300 بكسل
DELETE/api/v1/filesحذف جماعي للملفات وسلاسل إصداراتها (النص: { ids: [...] })
POST/api/v1/fetch-urlsجلب عناوين URL بعيدة إلى مساحة العمل للاستيراد المستند إلى URL
POST/api/v1/previewإنشاء معاينة WebP متوافقة مع المتصفح (لصيغ HEIC/HEIF/RAW)
GET/api/v1/files/:id/previewبث معاينة مخزَّنة مؤقتًا أو مُنشأة ومتوافقة مع المتصفح لملف PDF أو مستند Office أو فيديو أو صوت محفوظ
POST/api/v1/preview/generateإنشاء معاينة MP4 أو MP3 عند الطلب لملف وسائط مرفوع دون حفظه أولًا
GET/api/v1/download/:jobId/:filenameتنزيل ملف مُعالَج من مساحة عمل

لحفظ نتيجة أداة تلقائيًا في المكتبة، ضمّن fileId كحقل نموذج multipart يشير إلى ملف موجود في المكتبة. ستُحفظ النتيجة المُعالَجة كإصدار جديد.

إدارة مفاتيح API

الطريقةالمسارالوصولالوصف
POST/api/v1/api-keysمصادَقإنشاء مفتاح جديد - يُعرض مرة واحدة
GET/api/v1/api-keysمصادَقسرد المفاتيح (الاسم، المعرّف، lastUsedAt - لا المفتاح الخام)
DELETE/api/v1/api-keys/:idمصادَقحذف المفتاح

الفرق

الطريقةالمسارالوصولالوصف
GET/api/v1/teamsمسؤول (teams:manage)سرد الفرق
POST/api/v1/teamsمسؤول (teams:manage)إنشاء فريق
PUT/api/v1/teams/:idمسؤول (teams:manage)إعادة تسمية فريق
DELETE/api/v1/teams/:idمسؤول (teams:manage)حذف فريق (لا يمكن حذف الفريق الافتراضي أو الفرق التي بها أعضاء)

الإعدادات

تهيئة مفتاح-قيمة أثناء التشغيل (يقرؤها أي مستخدم مصادَق، ويكتبها المسؤول فقط).

الطريقةالمسارالوصف
GET/api/v1/settingsالحصول على جميع الإعدادات
PUT/api/v1/settingsتحديث الإعدادات جماعيًا (نص JSON مع أزواج مفتاح-قيمة)
GET/api/v1/settings/:keyالحصول على إعداد محدد بالمفتاح

المفاتيح المعروفة: disabledTools (مصفوفة JSON من معرّفات الأدوات)، enableExperimentalTools (سلسلة منطقية)، loginAttemptLimit (رقم).

التفضيلات

تفضيلات كل مستخدم منفصلة عن إعدادات مثيل الخادم. يمكن لأي مستخدم مصادَق قراءة خريطة تفضيلاته الخاصة وتحديثها.

الطريقةالمسارالوصف
GET/api/v1/preferencesالحصول على تفضيلات المستخدم الحالي كـ { "preferences": { ... } }
PUT/api/v1/preferencesإدراج أو تحديث مفتاح تفضيل واحد أو أكثر للمستخدم الحالي

الأدوار

إدارة أدوار مخصصة بأذونات دقيقة.

الطريقةالمسارالوصولالوصف
GET/api/v1/rolesمسؤول (audit:read)سرد جميع الأدوار مع أعداد المستخدمين
POST/api/v1/rolesمسؤول (security:manage)إنشاء دور مخصص (name، description، permissions)
PUT/api/v1/roles/:idمسؤول (security:manage)تحديث دور مخصص (لا يمكن تعديل الأدوار المدمجة)
DELETE/api/v1/roles/:idمسؤول (security:manage)حذف دور مخصص (لا يمكن حذف الأدوار المدمجة؛ يعود المستخدمون المتأثرون إلى الدور user)

الأذونات المتاحة (17): tools:use، files:own، files:all، apikeys:own، apikeys:all، pipelines:own، pipelines:all، settings:read، settings:write، users:manage، teams:manage، features:manage، system:health، audit:read، compliance:manage، webhooks:manage، security:manage.

سجل التدقيق

نقطة نهاية للمسؤول فقط لمراجعة الإجراءات المتعلقة بالأمان.

الطريقةالمسارالوصولالوصف
GET/api/v1/audit-logمسؤول (audit:read)سجل تدقيق مُقسَّم إلى صفحات مع مرشحات اختيارية

معاملات الاستعلام:

المعاملالوصف
pageرقم الصفحة (الافتراضي: 1)
limitالمدخلات لكل صفحة (الافتراضي: 50، الحد الأقصى: 100)
actionالتصفية حسب نوع الإجراء (مثال ROLE_CREATED، ROLE_DELETED)
ipالتصفية حسب عنوان IP المصدر
fromتصفية المدخلات بعد تاريخ ISO 8601 هذا
toتصفية المدخلات قبل تاريخ ISO 8601 هذا

التحليلات

الطريقةالمسارالوصولالوصف
GET/api/v1/config/analyticsعامالحصول على تهيئة التحليلات الفعلية (مفتاح PostHog، DSN لـ Sentry، معدل أخذ العينات). تكون المفاتيح وDSN ومعرّف مثيل الخادم فارغة عند إيقاف التحليلات، سواءً من التضمين وقت الترجمة أو من إعداد analyticsEnabled لمثيل الخادم.
POST/api/v1/feedbackمصادَقإرسال ملاحظات المستخدم الصريحة إلى مشروع PostHog المهيَّأ كـ feedback_submitted. يحترم المسار بوابة التحليلات، ويحدّ معدل الإرسال، ويزيل حقول الاتصال ما لم يكن contactOk صحيحًا، ولا يقبل أبدًا محتويات الملفات أو أسماء الملفات أو مسارات الرفع أو نص الخطأ الخاص الخام. عند تعطيل التحليلات، يُرجع { "ok": true, "accepted": false }.
PUT/api/v1/settingsمسؤول (settings:write)تعيين إلغاء الاشتراك على مستوى مثيل الخادم. أرسل نص JSON { "analyticsEnabled": "false" } لإيقاف التحليلات للجميع، أو "true" لإعادة تشغيلها.

الميزات / حزم الذكاء الاصطناعي

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

الطريقةالمسارالوصولالوصف
GET/api/v1/featuresمصادَقسرد جميع حزم الميزات وحالة تثبيتها
POST/api/v1/admin/features/:bundleId/installمسؤول (features:manage)تثبيت حزمة ميزة (غير متزامن، يُرجع jobId لتتبع التقدم)
POST/api/v1/admin/tools/:toolId/features/installمسؤول (features:manage)تثبيت كل حزمة تتطلبها أداة؛ يُرجع حالة مُدرَج في الطابور/متخطى لكل حزمة
POST/api/v1/admin/features/:bundleId/uninstallمسؤول (features:manage)إلغاء تثبيت حزمة ميزة وتنظيف ملفات النموذج
GET/api/v1/admin/features/disk-usageمسؤول (features:manage)الحصول على إجمالي استخدام القرص لنماذج الذكاء الاصطناعي
POST/api/v1/admin/features/importمسؤول (features:manage)استيراد أرشيف حزمة ذكاء اصطناعي دون اتصال

عمليات الإدارة

نقاط نهاية تشغيلية للرصد والدعم وإعداد تقارير الاستخدام وحالة النسخ الاحتياطي.

الطريقةالمسارالوصولالوصف
GET/api/v1/admin/log-levelمسؤول (settings:write)قراءة مستوى سجل التشغيل الحالي
POST/api/v1/admin/log-levelمسؤول (settings:write)تغيير مستوى سجل التشغيل (fatal، error، warn، info، debug، trace، أو silent)
GET/api/v1/metricsمسؤول (system:health)مقاييس Prometheus بصيغة نصية
GET/api/v1/admin/support-bundleمسؤول (system:health)تنزيل حزمة دعم تشخيصية ZIP مُنقَّحة
GET/api/v1/admin/usageمسؤول (audit:read)بيانات لوحة معلومات الاستخدام، مع معامل استعلام days اختياري
GET/api/v1/admin/backup-statusمسؤول (system:health)قراءة البيانات الوصفية لآخر نسخة احتياطية وحالة حداثتها
POST/api/v1/admin/backup-statusمسؤول (system:health)تسجيل نسخة احتياطية مكتملة (type، sizeBytes اختياري، notes اختياري)

واجهات برمجة تطبيقات المؤسسات

هذه المسارات مقيَّدة بالترخيص عبر ميزة المؤسسة المرتبطة بها. وما زالت تتطلب إذن SnapOtter المُدرَج.

الطريقةالمسارالوصولالوصف
GET/api/v1/enterprise/audit/exportمسؤول (audit:read)تصدير مدخلات التدقيق كـ JSON أو CSV مع مرشحات
GET/api/v1/enterprise/config/exportمسؤول (system:health)تصدير تهيئة مثيل الخادم المُنقَّحة والأدوار المخصصة والفرق
POST/api/v1/enterprise/config/importمسؤول (system:health)استيراد التهيئة، مع تشغيل تجريبي اختياري
GET/api/v1/enterprise/ip-allowlistمسؤول (security:manage)قراءة قائمة CIDR المسموح بها المهيَّأة
PUT/api/v1/enterprise/ip-allowlistمسؤول (security:manage)تحديث قائمة CIDR المسموح بها مع منع الإقفال الذاتي
GET/api/v1/enterprise/legal-holdمسؤول (compliance:manage)سرد الحجوزات القانونية للمستخدمين والفرق
PUT/api/v1/enterprise/legal-holdمسؤول (compliance:manage)تطبيق أو رفع حجز قانوني على مستخدم أو فريق
POST/api/v1/enterprise/scim/tokenمسؤول (users:manage)إنشاء رمز حامل SCIM، يُرجع مرة واحدة
DELETE/api/v1/enterprise/scim/tokenمسؤول (users:manage)إبطال رمز حامل SCIM الحالي
GET/api/v1/enterprise/siem/configمسؤول (webhooks:manage)قراءة تهيئة إعادة توجيه SIEM
PUT/api/v1/enterprise/siem/configمسؤول (webhooks:manage)تحديث تهيئة إعادة توجيه SIEM
GET/api/v1/enterprise/webhooksمسؤول (webhooks:manage)سرد وجهات الويب هوك
POST/api/v1/enterprise/webhooksمسؤول (webhooks:manage)إنشاء وجهة ويب هوك
PUT/api/v1/enterprise/webhooks/:indexمسؤول (webhooks:manage)تحديث وجهة ويب هوك
DELETE/api/v1/enterprise/webhooks/:indexمسؤول (webhooks:manage)حذف وجهة ويب هوك
POST/api/v1/enterprise/webhooks/:index/testمسؤول (webhooks:manage)إرسال حمولة ويب هوك تجريبية
POST/api/v1/enterprise/users/:id/exportمسؤول (compliance:manage)بدء مهمة تصدير مستخدم بموجب GDPR
GET/api/v1/enterprise/users/:id/export/:jobIdمسؤول (compliance:manage)قراءة حالة تصدير GDPR ورابط التنزيل
DELETE/api/v1/enterprise/users/:id/purgeمسؤول (compliance:manage)تطهير بيانات مستخدم نهائيًا بعد التأكيد
DELETE/api/v1/enterprise/teams/:id/purgeمسؤول (compliance:manage)تطهير بيانات فريق نهائيًا بعد التأكيد
GET/api/v1/admin/versionمسؤول (system:health)قراءة البيانات الوصفية لإصدار التطبيق والبناء وNode والمخطط
GET/api/v1/admin/migrations/pendingمسؤول (system:health)مقارنة عمليات الترحيل المُحزَّمة بعمليات الترحيل المُطبَّقة
GET/api/v1/admin/upgrade-checkمسؤول (system:health)تشغيل فحوصات جاهزية الترقية

SCIM 2.0

نقاط نهاية اكتشاف SCIM عامة. تتطلب نقاط نهاية المستخدمين والمجموعات رمز حامل SCIM المُنشأ أعلاه.

الطريقةالمسارالوصولالوصف
GET/api/v1/scim/v2/ServiceProviderConfigعامقدرات خادم SCIM
GET/api/v1/scim/v2/Schemasعاماكتشاف مخطط SCIM
GET/api/v1/scim/v2/ResourceTypesعاماكتشاف نوع مورد SCIM
GET/api/v1/scim/v2/Usersرمز SCIMسرد المستخدمين، مع مرشح SCIM اختياري
POST/api/v1/scim/v2/Usersرمز SCIMإنشاء مستخدم
GET/api/v1/scim/v2/Users/:idرمز SCIMالحصول على مستخدم
PUT/api/v1/scim/v2/Users/:idرمز SCIMاستبدال مستخدم
DELETE/api/v1/scim/v2/Users/:idرمز SCIMإلغاء تفعيل مستخدم بشكل مرن
GET/api/v1/scim/v2/Groupsرمز SCIMسرد الفرق كمجموعات SCIM
POST/api/v1/scim/v2/Groupsرمز SCIMإنشاء فريق
GET/api/v1/scim/v2/Groups/:idرمز SCIMالحصول على فريق
PUT/api/v1/scim/v2/Groups/:idرمز SCIMاستبدال فريق وعضوية مجموعة
DELETE/api/v1/scim/v2/Groups/:idرمز SCIMحذف فريق

قوالب الميمات

واجهة برمجة تطبيقات داعمة لأداة مُولِّد الميمات.

الطريقةالمسارالوصولالوصف
GET/api/v1/meme-templatesمصادَقسرد جميع قوالب الميمات المتاحة مع مواضع مربعات النص
GET/api/v1/meme-templates/full/:filenameمصادَقتقديم صورة القالب بالحجم الكامل
GET/api/v1/meme-templates/thumbs/:filenameمصادَقتقديم صورة مصغرة للقالب
GET/api/v1/meme-templates/fonts/:filenameمصادَقتقديم ملف الخط المستخدم في عرض نص الميم

استجابات الأخطاء

تُرجع جميع الأخطاء JSON:

json
{
  "error": "Human-readable message",
  "code": "MACHINE_READABLE_CODE"
}
الحالةالمعنى
400طلب غير صالح / فشل التحقق
401غير مصادَق
403أذونات غير كافية
404المورد غير موجود
413الملف كبير جدًا (راجع MAX_UPLOAD_SIZE_MB)
422فشلت المعالجة بعد التحقق
429تم تحديد المعدل (راجع RATE_LIMIT_PER_MIN)
501حزمة ميزة الذكاء الاصطناعي المطلوبة غير مثبَّتة (FEATURE_NOT_INSTALLED)
500خطأ داخلي في الخادم