Sparks API
أنشئ وأدِر AI minds برمجياً بتهيئات وشخصيات مخصصة.
أنشئ وأدِر AI minds (agents) برمجياً. الـ Minds هي مساعدات ذكاء اصطناعي قابلة للتخصيص ذات اختصاصات وشخصيات ومعارف محددة.
Base URL: https://getminds.ai/api/v1 أو https://api.getminds.ai/v1
Get Spark
استرجع mind واحداً بكامل التفاصيل بما في ذلك system prompt وإعدادات المشاركة وعدد عناصر المعرفة.
Endpoint: GET /api/v1/sparks/{sparkId}
Headers:
Authorization: Bearer minds_your_api_key
Response
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Marketing Expert",
"description": "Experienced marketing director",
"type": "expert",
"discipline": "Marketing",
"systemPrompt": "## Core Identity & Personality\n\nYou are a seasoned marketing director...",
"tags": ["marketing", "b2b"],
"isPublic": false,
"isLinkSharingEnabled": false,
"publicShareId": null,
"profileImageUrl": "https://...",
"phoneNumber": null,
"clonedVoiceStatus": null,
"profitSplitOptIn": false,
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-10T12:00:00.000Z",
"knowledgeItemCount": 12
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | المعرّف الفريد للـ mind |
name | string | اسم الـ mind |
description | string | وصف الـ mind |
type | string | creative أو expert أو user |
discipline | string | مجال الاختصاص |
systemPrompt | string | الـ system prompt الكامل الذي يحدد سلوك الـ mind |
tags | array | وسوم التصنيف |
isPublic | boolean | ما إذا كان الـ mind متاحاً للعامة |
isLinkSharingEnabled | boolean | ما إذا كانت مشاركة الروابط مفعَّلة |
publicShareId | string | معرّف المشاركة للوصول العام (null إذا لم يُشارَك) |
profileImageUrl | string | URL صورة الـ avatar |
phoneNumber | string | رقم الهاتف المرتبط (null إذا لا يوجد) |
clonedVoiceStatus | string | حالة استنساخ الصوت (null إذا لم يُستنسَخ) |
profitSplitOptIn | boolean | ما إذا كان تقسيم الأرباح مفعَّلاً |
knowledgeItemCount | number | عدد عناصر المعرفة المرفقة |
Example Request
curl -X GET "https://getminds.ai/api/v1/sparks/{sparkId}" \
-H "Authorization: Bearer minds_your_api_key"
Error Responses
400 Bad Request - صيغة معرّف spark غير صالحة
401 Unauthorized - مفتاح API غير صالح أو مفقود
403 Forbidden - لا وصول إلى هذا الـ mind
404 Not Found - الـ mind غير موجود
List Sparks
استرجع جميع الـ minds التابعة للمستخدم المصادَق.
Endpoint: GET /api/v1/sparks
Headers:
Authorization: Bearer minds_your_api_key
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
search | string | — | تصفية الـ minds بالاسم أو الوصف أو الاختصاص (غير حساس لحالة الأحرف) |
limit | number | 100 | الحد الأقصى لعدد الـ minds المُرجَعة (1–100) |
offset | number | 0 | عدد الـ minds التي يجب تخطيها للترقيم |
Response
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Marketing Expert",
"description": "Experienced marketing director",
"type": "expert",
"discipline": "Marketing",
"tags": ["marketing", "b2b"],
"profileImageUrl": "https://...",
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-10T12:00:00.000Z"
}
],
"pagination": {
"total": 42,
"limit": 100,
"offset": 0
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | مصفوفة كائنات الـ mind |
pagination.total | number | إجمالي عدد الـ minds المطابقة للاستعلام |
pagination.limit | number | الحد الأقصى للنتائج في الصفحة |
pagination.offset | number | عدد النتائج المتخطاة |
Example Request
curl -X GET "https://getminds.ai/api/v1/sparks?limit=10&offset=0" \
-H "Authorization: Bearer minds_your_api_key"
Create Spark
أنشئ AI mind جديداً بتهيئة مخصصة مستخدماً أوضاع تدريب مختلفة.
Endpoint: POST /api/v1/sparks
Headers:
Authorization: Bearer minds_your_api_key
Content-Type: application/json
Request Body
{
"name": "My AI Expert",
"description": "An expert in renewable energy",
"mode": "keywords",
"type": "expert",
"discipline": "Renewable Energy",
"keywords": ["solar", "wind energy", "sustainability", "green tech"],
"personaContext": "Ada Lovelace, pioneering computer scientist",
"contextLink": "https://example.com/profile",
"tags": ["energy", "solar", "sustainability"],
"profileImageUrl": "https://example.com/avatar.jpg"
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | نعم | اسم الـ mind (2-100 حرفاً) |
discipline | string | نعم | مجال اختصاص الـ mind (مثل "Marketing" أو "Engineering") |
mode | string | لا | وضع التدريب: keywords أو clone أو link أو manual. الافتراضي: keywords |
type | string | لا | نوع الـ mind: creative أو expert أو user. الافتراضي: creative |
description | string | لا | وصف غرض الـ mind |
keywords | array | مشروط | مصفوفة كلمات مفتاحية (مطلوبة إذا كان mode هو keywords) |
personaContext | string | مشروط | اسم/سياق الشخص المُراد محاكاته (مطلوب إذا كان mode هو clone؛ يُستخدم أيضاً لاشتقاق الكلمات المفتاحية تلقائياً) |
contextLink | string | مشروط | URL إلى الملف الشخصي/المحتوى (مطلوب إذا كان mode هو link؛ يقوم الخادم بكشطه لاشتقاق الكلمات المفتاحية) |
tags | array | لا | مصفوفة وسوم للتصنيف (حد أقصى 20 وسماً) |
profileImageUrl | string | لا | URL خارجي لصورة الـ avatar (سيتم تنزيلها وتخزينها) |
generateImage | boolean | لا | عند true، يُفعِّل توليد صورة profile بالذكاء الاصطناعي في الخلفية |
cloneVoice | boolean | لا | عند true، يُفعِّل استنساخ الصوت عبر بحث YouTube (تجريبي) |
قيم Mode
يحدد مُعامل mode كيف سيُدرَّب الـ mind:
keywords(الافتراضي) - درِّب الـ mind مستخدماً كلمات مفتاحية مفصولة بفواصل. سيجمع الذكاء الاصطناعي معلومات ذات صلة من مصادر متنوعة بناءً على هذه الكلمات المفتاحية لبناء قاعدة معرفة الـ mind.- الحقل المطلوب:
keywords- مصفوفة كلمات مفتاحية/موضوعات - الأنسب لـ: الاختصاص العام في موضوعات أو نطاقات محددة
- الحقل المطلوب:
clone- استنسخ أسلوب ومعرفة شخص بتقديم اسمه وسياقه. سيبحث الذكاء الاصطناعي ويبني ملفاً شاملاً يحاكي اختصاصه وأسلوب تواصله.- الحقل المطلوب:
personaContext- الاسم وسياق موجز (مثل "Ada Lovelace, pioneering computer scientist") - الأنسب لـ: محاكاة أفراد محددين أو شخصيات تاريخية أو خبراء معروفين
- الحقل المطلوب:
link- درِّب الـ mind مستخدماً محتوى من URL محدد. قدِّم رابطاً لملف شخصي أو portfolio أو موقع ويب، وسيُحلل الذكاء الاصطناعي ويستخرج المعلومات ذات الصلة.- الحقل المطلوب:
contextLink- URL إلى مصدر المحتوى - الأنسب لـ: التدريب على مواقع محددة أو portfolios أو ملفات شخصية على الإنترنت
- الحقل المطلوب:
manual- أنشئ mind بدون تدريب تلقائي. ستقوم يدوياً بتهيئة جميع الإعدادات وإضافة المعرفة لاحقاً عبر knowledge API.- لا حقول إضافية مطلوبة
- الأنسب لـ: التهيئات المخصصة عندما تريد تحكماً كاملاً في بيانات التدريب
معالجة تلقائية: عند استخدام
keywordsأوcloneأوlink، يعكس الـ backend نموذج Add Spark داخل المنتج — يشتق entity keywords (بمساعدة AI للـclone/link) ويدرّب الـ mind بشكل غير متزامن. تابِع هذا التدريب عبر كتلةtrainingفي استجابة الإنشاء والـ endpoint المخصص الموضّح في دورة حياة تدريب الـ mind أدناه. وضعmanualيتخطى هذه الأتمتة لتتمكن من تدريب الـ mind لاحقاً عبر Knowledge API.
قيم Type
creative- للفنانين والمصممين والكتّاب والمحترفين الإبداعيينexpert- للمتخصصين والمستشارين وخبراء النطاقاتuser- لـ user personas والعملاء والنماذج الأصلية للجمهور المستهدف
Response
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My AI Expert",
"description": "An expert in renewable energy",
"type": "expert",
"discipline": "Renewable Energy",
"tags": ["energy", "solar", "sustainability"],
"profileImageUrl": "https://...",
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-10T12:00:00.000Z"
},
"training": {
"status": "queued",
"readyToChat": false,
"message": "Queued for data collection",
"startedAt": null,
"completedAt": null,
"error": null
}
}
تُبلِّغ كتلة training عن دورة حياة الـ mind عند الإنشاء. تبدأ أوضاع keywords وclone وlink بحالة queued وتتدرّب في الخلفية؛ أما minds وضع manual فتعود بحالة completed مع readyToChat مضبوطة على true بالفعل. يوجد id الـ mind بمجرد عودة هذا الطلب، لكن لا يستطيع الـ mind الرد إلا عندما تكون readyToChat بقيمة true. راجع دورة حياة تدريب الـ mind أدناه لمعرفة كيفية الاستقصاء.
Example: Create Mind with Keywords Mode
curl -X POST "https://getminds.ai/api/v1/sparks" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Marketing Expert",
"description": "Experienced marketing director with expertise in B2B SaaS",
"mode": "keywords",
"type": "expert",
"discipline": "Marketing",
"keywords": ["B2B marketing", "SaaS", "growth marketing", "content strategy", "brand positioning", "ROI"],
"tags": ["marketing", "b2b", "saas", "growth"]
}'
Example: Create Mind with Clone Mode
curl -X POST "https://getminds.ai/api/v1/sparks" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Ada Lovelace AI",
"description": "AI trained to emulate Ada Lovelace",
"mode": "clone",
"type": "expert",
"discipline": "Computer Science Pioneer",
"personaContext": "Ada Lovelace, pioneering computer scientist and mathematician, first computer programmer",
"tags": ["computer science", "mathematics", "history"]
}'
Example: Create Mind with Link Mode
curl -X POST "https://getminds.ai/api/v1/sparks" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Brand Voice Expert",
"description": "Trained on company brand guidelines",
"mode": "link",
"type": "creative",
"discipline": "Brand Strategy",
"contextLink": "https://example.com/brand-guidelines",
"tags": ["branding", "copywriting"]
}'
Example: Create Mind with Manual Mode
curl -X POST "https://getminds.ai/api/v1/sparks" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Custom Assistant",
"description": "Custom configured assistant",
"mode": "manual",
"type": "creative",
"discipline": "General Assistant",
"tags": ["custom"]
}'
دورة حياة تدريب الـ mind
إنشاء الـ mind غير متزامن. يُرجِع POST /v1/sparks المُعرّف id فوراً، لكن في أوضاع keywords وclone وlink يظل الـ mind قيد التدريب في الخلفية. وجود id للـ mind لا يعني أن الـ mind جاهز — لا يستطيع الـ mind الرد إلا عندما تكون readyToChat بقيمة true. الاستثناء الوحيد هو وضع manual: تتخطى هذه minds جمع البيانات وتكون completed لحظة إنشائها.
استقصِ endpoint التدريب المخصص حتى يصبح الـ mind جاهزاً:
curl "https://getminds.ai/api/v1/sparks/{sparkId}/training" \
-H "Authorization: Bearer minds_your_api_key"
{
"status": "running",
"readyToChat": false,
"message": "Collecting knowledge...",
"startedAt": "2025-12-10T12:00:01.000Z",
"completedAt": null,
"error": null
}
قيم الحالة
| الحالة | المعنى | readyToChat |
|---|---|---|
queued | التدريب في قائمة الانتظار لكنه لم يبدأ بعد. | false |
running | الـ mind يجمع المعرفة بنشاط ويبني شخصيته (persona). | false |
completed | انتهى التدريب. الـ mind جاهز للمحادثة. | true |
failed | لم يكتمل التدريب. افحص error وأعد التدريب إذا كان قابلاً لإعادة المحاولة. | false |
يُرجِع GET /v1/sparks/{id} أيضاً readyToChat (وtrainingStatus) مع بقية بيانات الـ mind، بحيث تخبرك قراءة واحدة بمن يكون الـ mind وهل يستطيع الرد بعد.
عند فشل التدريب
عندما تكون status بقيمة failed، تتضمن الاستجابة كائن error يحتوي على code وعلم retryable:
| رمز الخطأ | المعنى | retryable |
|---|---|---|
COLLECTION_FAILED | تعذّر إكمال جمع المعرفة. | true |
PROFILE_GEN_FAILED | تعذّر توليد ملف الشخصية (persona). | true |
TIMEOUT | تجاوز التدريب ميزانيته الزمنية فتوقّف. | true |
INTERNAL | حدث خطأ داخلي غير متوقع. | false |
إعادة التدريب
إذا انتهى الـ mind بحالة failed (أو أردت ببساطة إعادة بناء mind بحالة completed)، أعِد تدريبه:
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/retrain" \
-H "Authorization: Bearer minds_your_api_key"
يؤدي هذا إلى إعادة وضع الـ mind في قائمة الانتظار وإرجاع كتلة training جديدة مع status بقيمة queued. تعمل إعادة التدريب فقط على minds التي انتهت: الـ mind الذي ما زال queued أو running يُرجِع 409 Conflict لأن هناك جولة تدريب جارية بالفعل. بعد إعادة التدريب، استقصِ GET /v1/sparks/{id}/training مرة أخرى حتى تصبح readyToChat بقيمة true.
صور Profile
عندما تقدم profileImageUrl:
- تُنزَّل الصورة من الـ URL الخارجي
- تُرفَع إلى تخزين آمن
- يُرجَع الـ URL المُخزَّن في الاستجابة
الصيغ المدعومة: JPG، PNG، GIF، WEBP
كيف يعمل التدريب
يُولِّد النظام تلقائياً system prompt ذكياً بناءً على الوضع والنوع والاختصاص الذي اخترته:
- وضع Keywords: يبني اختصاصاً حول الكلمات المفتاحية المُحددة
- وضع Clone: يبني ملفاً يحاكي أسلوب ومعرفة الشخص المحدد
- وضع Link: يستخرج المعرفة من الـ URL المُقدَّم
- وضع Manual: ينشئ مساعداً أساسياً ستدرِّبه بمعرفة مخصصة
يمكنك تعزيز الـ mind أكثر عبر رفع المعرفة بعد الإنشاء.
حدود الباقات
للباقات المختلفة حدود إنشاء minds مختلفة:
| Plan | Mind Limit |
|---|---|
| Free | غير محدود |
| Premium | 100 |
| Team | غير محدود |
عند الوصول إلى الحد، ستتلقى خطأ 403 Forbidden:
{
"statusCode": 403,
"statusMessage": "Individual plan limit reached",
"message": "Individual plan limit reached",
"url": "/api/v1/sparks",
"error": true,
"data": {
"code": "PLAN_LIMIT",
"limitType": "sparks",
"currentPlan": "premium",
"limit": 100,
"current": 100
}
}
Error Responses
400 Bad Request
مُعاملات مفقودة أو غير صالحة.
{
"statusCode": 400,
"statusMessage": "Name is required"
}
401 Unauthorized
مفتاح API غير صالح أو مفقود.
403 Forbidden
تم الوصول إلى حد الباقة.
500 Internal Server Error
خطأ من جهة الخادم (نادر).
Update Spark
حدِّث تهيئة mind موجود، بما في ذلك الاسم والوصف والـ system prompt والإعدادات الأخرى.
Endpoint: PUT /api/v1/sparks/{sparkId}
Headers:
Authorization: Bearer minds_your_api_key
Content-Type: application/json
Request Body
{
"name": "Updated Name",
"description": "Updated description",
"type": "expert",
"discipline": "Updated Discipline",
"systemPrompt": "Custom system prompt instructions...",
"tags": ["tag1", "tag2"],
"isPublic": false
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | لا | اسم الـ mind (2-100 حرفاً) |
description | string | لا | وصف غرض الـ mind |
type | string | لا | النوع: creative أو expert أو user |
discipline | string | لا | مجال اختصاص الـ mind |
systemPrompt | string | لا | system prompt مخصص يحدد سلوك الـ mind وشخصيته |
tags | array | لا | مصفوفة وسوم للتصنيف (حد أقصى 20 وسماً) |
isPublic | boolean | لا | ما إذا كان الـ mind متاحاً للعامة |
System Prompt
يتيح لك حقل systemPrompt تخصيص كيف يتصرف الـ mind ويستجيب. هذا مفيد لـ:
- تخصيص الـ persona: تحديد سمات شخصية محددة أو أسلوب تواصل أو مجالات اختصاص
- تنسيق الاستجابة: توجيه الـ mind للاستجابة بصيغ محددة (مثل القوائم النقطية أو المرقمة)
- قيود النطاق: حصر الاستجابات في موضوعات أو منظورات محددة
- اللغة/النبرة: تحديد اللغة أو مستوى الرسمية أو نبرة الاستجابات
أمثلة system prompts:
# Survey Response Expert
Du bist ein erfahrener Handwerker. Bei Umfragen antworte immer aus deiner
persönlichen Erfahrung, nicht mit allgemeinen Branchendurchschnittswerten.
Wähle bei Multiple-Choice-Fragen immer genau eine Option.
# Technical Expert
You are a senior software architect. Always provide concrete,
actionable advice. Include code examples when relevant.
Avoid vague statements.
Response
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Updated Name",
"description": "Updated description",
"type": "expert",
"discipline": "Updated Discipline",
"systemPrompt": "Custom system prompt...",
"tags": ["tag1", "tag2"],
"isPublic": false,
"profileImageUrl": "https://...",
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-29T15:30:00.000Z"
}
}
Example: Update System Prompt
curl -X PUT "https://getminds.ai/api/v1/sparks/{sparkId}" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"systemPrompt": "Du bist ein erfahrener Handwerker im Sanitärbereich. Antworte immer aus deiner persönlichen Praxiserfahrung."
}'
Example: Update Multiple Fields
curl -X PUT "https://getminds.ai/api/v1/sparks/{sparkId}" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Senior Plumber Expert",
"description": "Expert plumber with 20 years of experience",
"discipline": "Plumbing & Sanitary Installation",
"tags": ["plumbing", "sanitary", "renovation"]
}'
Error Responses
400 Bad Request - لا حقول صالحة للتحديث أو قيم حقول غير صالحة
401 Unauthorized - مفتاح API غير صالح أو مفقود
403 Forbidden - لا صلاحية لتحديث هذا الـ mind (يجب أن تكون المالك)
404 Not Found - الـ mind غير موجود
Get Spark Knowledge Patterns
استرجع أنماط التفكير والمعرفة المُنظَّمة حسب الإطار لـ mind محدد.
Endpoint: GET /api/v1/sparks/{sparkId}/knowledge/patterns
Headers:
Authorization: Bearer minds_your_api_key
بنية الاستجابة
يُرجع الـ endpoint أنماطاً مُجمَّعة حسب الأطر (مثل AOX Internal، OCEAN، DISC، إلخ)، مع methods وcompetencies تُظهر التكرارات والأدلة.
{
"success": true,
"data": {
"sparkId": "550e8400-e29b-41d4-a716-446655440000",
"sparkName": "Marketing Expert",
"totalPatterns": 47,
"frameworks": [
{
"id": "aox-internal",
"name": "AOX Internal Framework",
"totalOccurrences": 32,
"methods": [
{
"id": "strategic-thinking",
"name": "Strategic Thinking",
"description": "Ability to think strategically and plan long-term",
"occurrences": 15,
"competencies": [
{
"id": "market-analysis",
"name": "Market Analysis",
"description": "Understanding market dynamics and trends",
"occurrences": 8,
"evidence": [
{
"spark": "Market segmentation requires understanding customer pain points and aligning product features with specific needs...",
"portfolioItemId": "abc-123",
"createdAt": "2025-12-10T15:30:00.000Z"
},
{
"spark": "Competitive analysis shows that timing and positioning are critical for market entry...",
"portfolioItemId": "def-456",
"createdAt": "2025-12-10T14:20:00.000Z"
}
]
}
]
}
]
}
]
}
}
فهم الاستجابة
- frameworks: مصفوفة الأطر التي تحتوي على أنماط الـ spark
- totalOccurrences: إجمالي عدد الأنماط في هذا الإطار
- methods: أساليب أو مناهج التفكير المُكتشفة
- occurrences: عدد مرات ظهور هذا الـ method
- competencies: مهارات محددة أو مجالات فرعية ضمن الـ method
- occurrences: عدد أنماط هذا الـ competency
- evidence: مصفوفة الاستشهادات/الاقتباسات المُثبِتة لهذا النمط
- spark: الاقتباس الفعلي أو الرؤية من المحتوى
- portfolioItemId: إشارة إلى المادة المصدر
- createdAt: متى تم تحديد هذا النمط
Example Request
curl -X GET "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge/patterns" \
-H "Authorization: Bearer minds_your_api_key"
حالات الاستخدام
- فهم اختصاص الـ mind: اطّلع على الـ methods والـ competencies التي تعلَّمها الـ mind
- ضمان الجودة: تحقق من استخراج الأنماط بشكل صحيح من بيانات التدريب
- فجوات المعرفة: حدِّد المجالات التي تحتاج إلى مزيد من بيانات التدريب
- مقارنة الأطر: قارن كيف يؤدي الـ mind عبر أطر مختلفة
Error Responses
401 Unauthorized - مفتاح API غير صالح أو مفقود
403 Forbidden - لا وصول إلى هذا الـ mind
404 Not Found - الـ mind غير موجود
Regenerate System Prompt
أعد توليد جميع مكونات الـ system prompt لـ spark مستخدماً قاعدة معرفته الحالية. يستخدم هذا نفس التوليد المدعوم بالذكاء الاصطناعي الذي يستخدمه زر "Generate All" في الواجهة.
Endpoint: POST /api/v1/sparks/{sparkId}/regenerate-prompt
Headers:
Authorization: Bearer minds_your_api_key
كيف يعمل
يحلل الـ endpoint قاعدة معرفة الـ mind (portfolio items، patterns، embeddings) ويُولِّد جميع مكونات الـ prompt:
لـ sparks من نوع user:
- Core Identity & Demographics
- Needs & Motivations
- Pain Points & Challenges
- Tone & Communication Style
- Goals & Desires
- Behavioral Patterns
لـ sparks من نوع expert:
- Core Identity & Personality
- Professional Expertise & Credentials
- Tone & Communication Style
- Professional Approach & Methods
- Domain Knowledge
لـ sparks من نوع creative:
- Core Identity & Personality
- Creative Philosophy & Values
- Tone & Communication Style
- Creative Approach & Methods
- Domain Expertise
Response
{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Spark",
"systemPrompt": "## Core Identity & Demographics\n\n...",
"promptLength": 2847
}
}
Example Request
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/regenerate-prompt" \
-H "Authorization: Bearer minds_your_api_key"
حالات الاستخدام
- بعد إضافة معرفة: أعد توليد الـ prompt ليشمل عناصر المعرفة المُضافة حديثاً
- تنقيح الـ persona: أعد التوليد لتحديث الـ persona بناءً على أنماط المعرفة الحالية
- إعادة ضبط التخصيصات: امحُ التعديلات اليدوية وأعد توليد prompts جديدة من قاعدة المعرفة
Error Responses
401 Unauthorized - مفتاح API غير صالح أو مفقود
403 Forbidden - لا صلاحية لتعديل هذا الـ mind (يجب أن تكون المالك)
404 Not Found - الـ mind غير موجود
500 Internal Server Error - فشل توليد الـ prompt (مثل معرفة غير كافية)
Delete Spark
احذف mind نهائياً وكل البيانات المرتبطة بما فيها المعرفة وعناصر portfolio والملفات.
Endpoint: DELETE /api/v1/sparks/{sparkId}
Headers:
Authorization: Bearer minds_your_api_key
Response
يُرجع 204 No Content بجسم فارغ عند النجاح.
Example Request
curl -X DELETE "https://getminds.ai/api/v1/sparks/{sparkId}" \
-H "Authorization: Bearer minds_your_api_key"
ما الذي يُحذَف
عند حذف mind، تُحذَف التالي نهائياً:
- الـ mind نفسه وجميع تهيئاته
- كل المعرفة وبيانات التدريب
- كل عناصر الـ portfolio والملفات المرتبطة
- كل سجل المحادثات والرسائل
- صور الـ profile والملفات المرفوعة
تحذير: لا يمكن التراجع عن هذا الإجراء.
Error Responses
400 Bad Request - صيغة معرّف spark غير صالحة
401 Unauthorized - مفتاح API غير صالح أو مفقود
403 Forbidden - لا صلاحية لحذف هذا الـ mind (يجب أن تكون المالك)
404 Not Found - الـ mind غير موجود