يُحمّل البحث عند استخدامه فقط. تصفّح جميع الفئات أدناه.

أداة MCP

إنشاء مخرجات قالب تقرير تمت مراجعته

sosoapi_render_report_template

تجهيز مدخلات إخراج القالب التي تمت مراجعتها للمتصفح أو لأمر sosoapi report render. يستخدم مجموعة البيانات والإصدار المحددين صراحةً بعد المراجعة؛ ولا يحدّث المصدر تلقائياً. يمكن تمرير مدخلات الإخراج عبر قناة إلى sosoapi report render --output FILE.

اقرأ بصيغة Markdown

الملفات التعريفية ووسائل النقل

الملفات التعريفية: full · وسائل النقل: stdio, http

اختر core أو full للأدوات التي يراها عميلك؛ لا يغيّر ذلك أذوناته. يحتاج رفع الملفات المحلية stdio ولا يتاح بـ HTTP. اضبط SOSOAPI_OUTPUT_SCHEMAS=1 لمخططات المخرجات بالاكتشاف. النتائج منظّمة بهذا الإعداد أوبدونه.

الأذونات والآثار الجانبية

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

{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}

حقول الإدخال

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

حقول الإدخال
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب
  • additionalProperties: false
workspace_idstringمطلوب في العنصر الأب
  • format: "uuid"
idstringمطلوب في العنصر الأب
  • format: "uuid"
versionintegerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 1000000
datasetobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.contractVersionstringمطلوب في العنصر الأب
  • enum: ["analytics-report/v1"]
dataset.idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.reviewedAtstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.selectionobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.selection.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.selection.accountIdsarrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 50
dataset.selection.accountIds[]stringاختياري / عنصر
  • format: "uuid"
dataset.selection.platformsarrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 4
dataset.selection.platforms[]stringاختياري / عنصر
  • enum: ["facebook","instagram","threads","youtube"]
dataset.selection.startDatestringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.endDatestringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.timezonestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.accountsarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.accounts[]objectاختياري / عنصر
  • additionalProperties: false
dataset.accounts[].idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.accounts[].workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.accounts[].platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.accounts[].namestringمطلوب في العنصر الأب
  • maxLength: 500
dataset.accounts[].connectionStatusstringاختياري / عنصر
  • maxLength: 100
dataset.accounts[].healthMessagestringاختياري / عنصر
  • maxLength: 1000
dataset.postsarrayمطلوب في العنصر الأب
  • maxItems: 1000
dataset.posts[]objectاختياري / عنصر
  • additionalProperties: false
dataset.posts[].social_post_idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].workspace_idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].social_account_idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].platformstringمطلوب في العنصر الأب
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provider_post_idstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 512
dataset.posts[].provider_published_atstring | nullمطلوب في العنصر الأب—
dataset.posts[].provider_published_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].provider_published_atanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].content_formatstring | nullمطلوب في العنصر الأب—
dataset.posts[].content_formatanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.posts[].content_formatanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].permalinkstring | nullمطلوب في العنصر الأب—
dataset.posts[].permalinkanyOf 1stringمطلوب في العنصر الأب
  • format: "uri"
  • maxLength: 2048
dataset.posts[].permalinkanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provider_statestringمطلوب في العنصر الأب
  • enum: ["available","deleted","unavailable","unknown"]
dataset.posts[].first_seen_atstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].last_seen_atstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].scheduled_post_idstring | nullمطلوب في العنصر الأب—
dataset.posts[].scheduled_post_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].scheduled_post_idanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenanceobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.posts[].provenance.providerstringمطلوب في العنصر الأب
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provenance.sourcestringمطلوب في العنصر الأب
  • enum: ["provider_api","provider_webhook","publication_outcome","backfill"]
dataset.posts[].provenance.source_job_idstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.source_job_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].provenance.source_job_idanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenance.provider_api_versionstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.provider_api_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.provider_api_versionanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenance.schema_versionstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.schema_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.schema_versionanyOf 2nullمطلوب في العنصر الأب—
dataset.sourcesarrayمطلوب في العنصر الأب
  • maxItems: 30
dataset.sources[]objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].accountIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].resourceKindstringمطلوب في العنصر الأب
  • enum: ["account","post"]
dataset.sources[].providerResourceIdstring | nullمطلوب في العنصر الأب—
dataset.sources[].providerResourceIdanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 512
dataset.sources[].providerResourceIdanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.sources[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].statusstringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].reasonstring | nullمطلوب في العنصر الأب—
dataset.sources[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 8000
dataset.sources[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelopeobject | nullمطلوب في العنصر الأب—
dataset.sources[].envelopeanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.contract_versionanyOf 1stringمطلوب في العنصر الأب
  • enum: ["provider-insights/v1"]
dataset.sources[].envelope.request_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].envelope.platformanyOf 1stringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].envelope.resourceanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.resource.kindanyOf 1stringمطلوب في العنصر الأب
  • enum: ["account","post"]
dataset.sources[].envelope.resource.social_account_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].envelope.resource.provider_resource_idanyOf 1string | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_api_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.sources[].envelope.fetched_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelope.statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["available","partial","unavailable"]
dataset.sources[].envelope.availabilityanyOf 1arrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 64
dataset.sources[].envelope.availability[]anyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].scopeanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed"]
dataset.sources[].envelope.availability[].reasonanyOf 1stringاختياري / عنصر
  • minLength: 1
  • maxLength: 2000
dataset.sources[].envelope.availability[].diagnosticsanyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.http_statusanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 599
dataset.sources[].envelope.availability[].diagnostics.failed_stepanyOf 1stringاختياري / عنصر
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1number | stringاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 1numberاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 2stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1number | stringاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 1numberاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 2stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_typeanyOf 1stringاختياري / عنصر
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.is_transientanyOf 1booleanاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_request_idanyOf 1stringاختياري / عنصر
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.accessanyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.access.login_modeanyOf 1stringمطلوب في العنصر الأب
  • enum: ["instagram_login","facebook_login","threads_user"]
dataset.sources[].envelope.availability[].diagnostics.access.provider_hostanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.access.required_permissionsanyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.required_permissions[]anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissionsanyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissions[]anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1array | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 128
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissions[]anyOf 1 / anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.availability[].diagnostics.access.grant_evidenceanyOf 1stringمطلوب في العنصر الأب
  • enum: ["exact","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.permission_stateanyOf 1stringمطلوب في العنصر الأب
  • enum: ["granted","missing","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.grant_observed_atanyOf 1stringاختياري / عنصر
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelope.availability[].diagnostics.access.app_accessanyOf 1stringمطلوب في العنصر الأب
  • enum: ["unverified"]
dataset.sources[].envelope.availability[].diagnostics.access.next_stepanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 1500
dataset.sources[].envelope.provider_dataanyOf 1any JSON value | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 1any JSON valueمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.requested_date_rangeanyOf 1object | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.requested_date_range.start_dateanyOf 1 / anyOf 1stringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_range.end_dateanyOf 1 / anyOf 1stringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.cacheanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.cache.authoritativeanyOf 1booleanمطلوب في العنصر الأب
  • enum: [false]
dataset.sources[].envelope.cache.statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["stored","hit","bypassed"]
dataset.sources[].envelope.cache.expires_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelopeanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metricsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.sources[].metrics[]objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].metrics[].keystringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 150
dataset.sources[].metrics[].definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.sources[].metrics[].unitstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.sources[].metrics[].grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.sources[].metrics[].valuenumber | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].metrics[].reasonstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 4000
dataset.sources[].metrics[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurementobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].metrics[].measurement.kindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.sources[].metrics[].measurement.periodstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.periodanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.periodanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.startstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.startanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.startanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.endstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.endanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.endanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.timezonestring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.timezoneanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].sourcePathstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 2000
dataset.coverageobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.coverage.populationstringمطلوب في العنصر الأب
  • enum: ["discovered_posts"]
dataset.coverage.postsCompletebooleanمطلوب في العنصر الأب—
dataset.coverage.nextCursorstring | nullمطلوب في العنصر الأب—
dataset.coverage.nextCursoranyOf 1stringمطلوب في العنصر الأب
  • maxLength: 16384
dataset.coverage.nextCursoranyOf 2nullمطلوب في العنصر الأب—
dataset.coverage.postLimitintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 1000
dataset.coverage.postInsightsLimitintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 20
dataset.coverage.omittedPostInsightsintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
dataset.coverage.notesarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.coverage.notes[]stringاختياري / عنصر
  • maxLength: 2000
dataset.customMetricsarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.customMetrics[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].versionintegerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].expressionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].definitionstringمطلوب في العنصر الأب
  • maxLength: 1000
dataset.customMetrics[].unitstringمطلوب في العنصر الأب
  • maxLength: 100
dataset.customMetrics[].grainstringمطلوب في العنصر الأب
  • enum: ["post","account","compatible_sum"]
dataset.customMetrics[].roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].rounding.modestringمطلوب في العنصر الأب
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].inputsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].inputs[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].inputs[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].inputs[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].sourcePathstringمطلوب في العنصر الأب
  • maxLength: 2000
dataset.customMetrics[].inputs[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 4000
dataset.customMetrics[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formulaobjectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].formula.contractVersionstringمطلوب في العنصر الأب
  • enum: ["analytics-metric/v1"]
dataset.customMetrics[].formula.idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].formula.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].formula.namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.versionintegerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 1000000
dataset.customMetrics[].formula.expressionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].formula.fieldsarrayمطلوب في العنصر الأب
  • maxItems: 32
dataset.customMetrics[].formula.fields[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].identifierstringمطلوب في العنصر الأب
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].formula.fields[].selectorobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].selector.platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].formula.fields[].selector.keystringمطلوب في العنصر الأب
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].formula.fields[].selector.definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].formula.fields[].selector.unitstringمطلوب في العنصر الأب
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].formula.fields[].selector.grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.customMetrics[].formula.fields[].selector.measurementKindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].formula.fields[].selector.nativePeriodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].aggregationstringمطلوب في العنصر الأب
  • enum: ["single","sum"]
dataset.customMetrics[].formula.roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].formula.rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].formula.rounding.modestringمطلوب في العنصر الأب
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].calculationobjectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].calculation.contractVersionstringمطلوب في العنصر الأب
  • enum: ["analytics-metric/v1"]
dataset.customMetrics[].calculation.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.datasetIdstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.formulaIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.versionintegerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].calculation.expressionstringمطلوب في العنصر الأب
  • maxLength: 1000
dataset.customMetrics[].calculation.roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].calculation.rounding.modestringمطلوب في العنصر الأب
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].calculation.valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.unitstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.customMetrics[].calculation.statusstringمطلوب في العنصر الأب
  • enum: ["available","not_returned"]
dataset.customMetrics[].calculation.codestringمطلوب في العنصر الأب
  • enum: ["ok","invalid_expression","missing_input","incompatible_input","zero_denominator","numeric_limit","workspace_mismatch","ambiguous_input","unknown_exclusion"]
dataset.customMetrics[].calculation.reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.reasonanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.excludedInputIdsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].calculation.excludedInputIds[]stringاختياري / عنصر
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].calculation.inputs[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].inputIdstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputs[].selectorobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].selector.platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].calculation.inputs[].selector.keystringمطلوب في العنصر الأب
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].calculation.inputs[].selector.definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.inputs[].selector.unitstringمطلوب في العنصر الأب
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].calculation.inputs[].selector.grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.customMetrics[].calculation.inputs[].selector.measurementKindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].calculation.inputs[].reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 8000
dataset.customMetrics[].calculation.inputs[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurementobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].measurement.kindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].measurement.periodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.startstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.endstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].sourcePathstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].calculation.inputs[].accountIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].providerResourceIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 512
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].fetchedAtstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].identifierstringمطلوب في العنصر الأب
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].calculation.inputs[].includedbooleanمطلوب في العنصر الأب—
reviewed_fingerprintstringمطلوب في العنصر الأب
  • pattern: "^[a-f0-9]{64}$"
outputstringاختياري / عنصر
  • enum: ["native","pdf"]
localestringاختياري / عنصر
  • enum: ["en","zh-Hant"]
مخطط JSON Schema الكامل
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000
    },
    "dataset": {
      "type": "object",
      "properties": {
        "contractVersion": {
          "type": "string",
          "enum": [
            "analytics-report/v1"
          ]
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "reviewedAt": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "selection": {
          "type": "object",
          "properties": {
            "workspaceId": {
              "type": "string",
              "format": "uuid"
            },
            "accountIds": {
              "minItems": 1,
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            },
            "platforms": {
              "minItems": 1,
              "maxItems": 4,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              }
            },
            "startDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "endDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "timezone": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "required": [
            "workspaceId",
            "accountIds",
            "platforms",
            "startDate",
            "endDate",
            "timezone"
          ],
          "additionalProperties": false
        },
        "accounts": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "workspaceId": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "connectionStatus": {
                "type": "string",
                "maxLength": 100
              },
              "healthMessage": {
                "type": "string",
                "maxLength": 1000
              }
            },
            "required": [
              "id",
              "workspaceId",
              "platform",
              "name"
            ],
            "additionalProperties": false
          }
        },
        "posts": {
          "maxItems": 1000,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "social_post_id": {
                "type": "string",
                "format": "uuid"
              },
              "workspace_id": {
                "type": "string",
                "format": "uuid"
              },
              "social_account_id": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "instagram",
                  "facebook",
                  "threads",
                  "youtube"
                ]
              },
              "provider_post_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "provider_published_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "content_format": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "permalink": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 2048,
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provider_state": {
                "type": "string",
                "enum": [
                  "available",
                  "deleted",
                  "unavailable",
                  "unknown"
                ]
              },
              "first_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "last_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "scheduled_post_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provenance": {
                "type": "object",
                "properties": {
                  "provider": {
                    "type": "string",
                    "enum": [
                      "instagram",
                      "facebook",
                      "threads",
                      "youtube"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "provider_api",
                      "provider_webhook",
                      "publication_outcome",
                      "backfill"
                    ]
                  },
                  "source_job_id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uuid"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "provider_api_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "schema_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "provider",
                  "source",
                  "source_job_id",
                  "provider_api_version",
                  "schema_version"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "social_post_id",
              "workspace_id",
              "social_account_id",
              "platform",
              "provider_post_id",
              "provider_published_at",
              "content_format",
              "permalink",
              "provider_state",
              "first_seen_at",
              "last_seen_at",
              "scheduled_post_id",
              "provenance"
            ],
            "additionalProperties": false
          }
        },
        "sources": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "accountId": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "resourceKind": {
                "type": "string",
                "enum": [
                  "account",
                  "post"
                ]
              },
              "providerResourceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "requestId": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 8000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "envelope": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "contract_version": {
                        "type": "string",
                        "enum": [
                          "provider-insights/v1"
                        ]
                      },
                      "request_id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "platform": {
                        "type": "string",
                        "enum": [
                          "facebook",
                          "instagram",
                          "threads",
                          "youtube"
                        ]
                      },
                      "resource": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "enum": [
                              "account",
                              "post"
                            ]
                          },
                          "social_account_id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "provider_resource_id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "social_account_id",
                          "provider_resource_id"
                        ],
                        "additionalProperties": false
                      },
                      "provider_api_version": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "fetched_at": {
                        "type": "string",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                        "format": "date-time"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "available",
                          "partial",
                          "unavailable"
                        ]
                      },
                      "availability": {
                        "minItems": 1,
                        "maxItems": 64,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "scope": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            },
                            "status": {
                              "type": "string",
                              "enum": [
                                "available",
                                "partial",
                                "not_returned",
                                "unsupported",
                                "permission_required",
                                "threshold_not_met",
                                "no_data",
                                "failed"
                              ]
                            },
                            "reason": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 2000
                            },
                            "diagnostics": {
                              "type": "object",
                              "properties": {
                                "http_status": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 599
                                },
                                "failed_step": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 200
                                },
                                "provider_code": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_subcode": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_type": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "is_transient": {
                                  "type": "boolean"
                                },
                                "provider_request_id": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "access": {
                                  "type": "object",
                                  "properties": {
                                    "login_mode": {
                                      "type": "string",
                                      "enum": [
                                        "instagram_login",
                                        "facebook_login",
                                        "threads_user"
                                      ]
                                    },
                                    "provider_host": {
                                      "type": "string",
                                      "maxLength": 200
                                    },
                                    "required_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "current_connection_policy_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "granted_permissions": {
                                      "anyOf": [
                                        {
                                          "maxItems": 128,
                                          "type": "array",
                                          "items": {
                                            "type": "string",
                                            "maxLength": 100
                                          }
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "grant_evidence": {
                                      "type": "string",
                                      "enum": [
                                        "exact",
                                        "unknown"
                                      ]
                                    },
                                    "permission_state": {
                                      "type": "string",
                                      "enum": [
                                        "granted",
                                        "missing",
                                        "unknown"
                                      ]
                                    },
                                    "grant_observed_at": {
                                      "type": "string",
                                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                                      "format": "date-time"
                                    },
                                    "app_access": {
                                      "type": "string",
                                      "enum": [
                                        "unverified"
                                      ]
                                    },
                                    "next_step": {
                                      "type": "string",
                                      "maxLength": 1500
                                    }
                                  },
                                  "required": [
                                    "login_mode",
                                    "provider_host",
                                    "required_permissions",
                                    "current_connection_policy_permissions",
                                    "granted_permissions",
                                    "grant_evidence",
                                    "permission_state",
                                    "app_access",
                                    "next_step"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "http_status"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "scope",
                            "status"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "provider_data": {
                        "anyOf": [
                          {},
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "requested_date_range": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "start_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              },
                              "end_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              }
                            },
                            "required": [
                              "start_date",
                              "end_date"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "cache": {
                        "type": "object",
                        "properties": {
                          "authoritative": {
                            "type": "boolean",
                            "enum": [
                              false
                            ]
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "stored",
                              "hit",
                              "bypassed"
                            ]
                          },
                          "expires_at": {
                            "type": "string",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "authoritative",
                          "status",
                          "expires_at"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "contract_version",
                      "request_id",
                      "platform",
                      "resource",
                      "provider_api_version",
                      "fetched_at",
                      "status",
                      "availability",
                      "provider_data",
                      "requested_date_range",
                      "cache"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metrics": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 150
                    },
                    "definition": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "unit": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "grain": {
                      "type": "string",
                      "enum": [
                        "post",
                        "account"
                      ]
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    },
                    "reason": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 4000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "measurement": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "lifetime",
                            "snapshot",
                            "period",
                            "unknown"
                          ]
                        },
                        "period": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "start": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "end": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "timezone": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "period",
                        "start",
                        "end",
                        "timezone"
                      ],
                      "additionalProperties": false
                    },
                    "sourcePath": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 2000
                    }
                  },
                  "required": [
                    "key",
                    "definition",
                    "unit",
                    "grain",
                    "value",
                    "availability",
                    "reason",
                    "measurement",
                    "sourcePath"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "accountId",
              "platform",
              "resourceKind",
              "providerResourceId",
              "requestId",
              "status",
              "reason",
              "envelope",
              "metrics"
            ],
            "additionalProperties": false
          }
        },
        "coverage": {
          "type": "object",
          "properties": {
            "population": {
              "type": "string",
              "enum": [
                "discovered_posts"
              ]
            },
            "postsComplete": {
              "type": "boolean"
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 16384
                },
                {
                  "type": "null"
                }
              ]
            },
            "postLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            },
            "postInsightsLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 20
            },
            "omittedPostInsights": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "notes": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 2000
              }
            }
          },
          "required": [
            "population",
            "postsComplete",
            "nextCursor",
            "postLimit",
            "postInsightsLimit",
            "omittedPostInsights",
            "notes"
          ],
          "additionalProperties": false
        },
        "customMetrics": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              },
              "version": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "expression": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1000
              },
              "definition": {
                "type": "string",
                "maxLength": 1000
              },
              "unit": {
                "type": "string",
                "maxLength": 100
              },
              "grain": {
                "type": "string",
                "enum": [
                  "post",
                  "account",
                  "compatible_sum"
                ]
              },
              "rounding": {
                "type": "object",
                "properties": {
                  "decimalPlaces": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 8
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "half_away_from_zero"
                    ]
                  }
                },
                "required": [
                  "decimalPlaces",
                  "mode"
                ],
                "additionalProperties": false
              },
              "inputs": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "requestId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uuid"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sourcePath": {
                      "type": "string",
                      "maxLength": 2000
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    }
                  },
                  "required": [
                    "requestId",
                    "sourcePath",
                    "value",
                    "availability"
                  ],
                  "additionalProperties": false
                }
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "availability": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "formula": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "enum": [
                      "analytics-metric/v1"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "expression": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000
                  },
                  "fields": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "aggregation": {
                          "type": "string",
                          "enum": [
                            "single",
                            "sum"
                          ]
                        }
                      },
                      "required": [
                        "identifier",
                        "selector",
                        "aggregation"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "enum": [
                          "half_away_from_zero"
                        ]
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "contractVersion",
                  "id",
                  "workspaceId",
                  "name",
                  "version",
                  "expression",
                  "fields",
                  "rounding"
                ],
                "additionalProperties": false
              },
              "calculation": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "enum": [
                      "analytics-metric/v1"
                    ]
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "datasetId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "formulaId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "expression": {
                    "type": "string",
                    "maxLength": 1000
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "enum": [
                          "half_away_from_zero"
                        ]
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  },
                  "value": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "available",
                      "not_returned"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "enum": [
                      "ok",
                      "invalid_expression",
                      "missing_input",
                      "incompatible_input",
                      "zero_denominator",
                      "numeric_limit",
                      "workspace_mismatch",
                      "ambiguous_input",
                      "unknown_exclusion"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 500
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "excludedInputIds": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1500
                    }
                  },
                  "inputs": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "inputId": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1500
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "value": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "availability": {
                          "type": "string",
                          "enum": [
                            "available",
                            "partial",
                            "not_returned",
                            "unsupported",
                            "permission_required",
                            "threshold_not_met",
                            "no_data",
                            "failed",
                            "pending",
                            "stale"
                          ]
                        },
                        "reason": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 8000
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "measurement": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "period": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "start": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "end": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "kind",
                            "period",
                            "start",
                            "end",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "requestId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "sourcePath": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "accountId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "providerResourceId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 512
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "fetchedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "included": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "inputId",
                        "selector",
                        "value",
                        "availability",
                        "reason",
                        "measurement",
                        "requestId",
                        "sourcePath",
                        "accountId",
                        "providerResourceId",
                        "fetchedAt",
                        "identifier",
                        "included"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "contractVersion",
                  "workspaceId",
                  "datasetId",
                  "formulaId",
                  "name",
                  "version",
                  "expression",
                  "rounding",
                  "value",
                  "unit",
                  "status",
                  "code",
                  "reason",
                  "excludedInputIds",
                  "inputs"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "name",
              "version",
              "expression",
              "definition",
              "unit",
              "grain",
              "rounding",
              "inputs",
              "value",
              "availability",
              "reason"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "contractVersion",
        "id",
        "reviewedAt",
        "selection",
        "accounts",
        "posts",
        "sources",
        "coverage",
        "customMetrics"
      ],
      "additionalProperties": false
    },
    "reviewed_fingerprint": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "output": {
      "type": "string",
      "enum": [
        "native",
        "pdf"
      ]
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "zh-Hant"
      ]
    }
  },
  "required": [
    "workspace_id",
    "id",
    "version",
    "dataset",
    "reviewed_fingerprint"
  ],
  "additionalProperties": false
}

مخرجات منظّمة

يصف المخطط structuredContent في نتيجة أداة ناجحة. تشمل استجابة MCP أيضاً content وقد تضبط isError عند الفشل. للنشر، اقرأ النتيجة النهائية بدلاً من اعتبار القبول أوالنص تأكيداً. تشرح عملية API المرتبطة الأذونات وقواعد المحاولة.

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

مخرجات منظّمة
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب
  • additionalProperties: false
contract_versionstringمطلوب في العنصر الأب
  • const: "analytics-render-input/v1"
kindstringمطلوب في العنصر الأب
  • const: "template"
datasetobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.contractVersionstringمطلوب في العنصر الأب
  • const: "analytics-report/v1"
dataset.idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.reviewedAtstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.selectionobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.selection.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.selection.accountIdsarrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 50
dataset.selection.accountIds[]stringاختياري / عنصر
  • format: "uuid"
dataset.selection.platformsarrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 4
dataset.selection.platforms[]stringاختياري / عنصر
  • enum: ["facebook","instagram","threads","youtube"]
dataset.selection.startDatestringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.endDatestringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.timezonestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.accountsarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.accounts[]objectاختياري / عنصر
  • additionalProperties: false
dataset.accounts[].idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.accounts[].workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.accounts[].platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.accounts[].namestringمطلوب في العنصر الأب
  • maxLength: 500
dataset.accounts[].connectionStatusstringاختياري / عنصر
  • maxLength: 100
dataset.accounts[].healthMessagestringاختياري / عنصر
  • maxLength: 1000
dataset.postsarrayمطلوب في العنصر الأب
  • maxItems: 1000
dataset.posts[]objectاختياري / عنصر
  • additionalProperties: false
dataset.posts[].social_post_idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].workspace_idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].social_account_idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].platformstringمطلوب في العنصر الأب
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provider_post_idstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 512
dataset.posts[].provider_published_atstring | nullمطلوب في العنصر الأب—
dataset.posts[].provider_published_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].provider_published_atanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].content_formatstring | nullمطلوب في العنصر الأب—
dataset.posts[].content_formatanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.posts[].content_formatanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].permalinkstring | nullمطلوب في العنصر الأب—
dataset.posts[].permalinkanyOf 1stringمطلوب في العنصر الأب
  • format: "uri"
  • maxLength: 2048
dataset.posts[].permalinkanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provider_statestringمطلوب في العنصر الأب
  • enum: ["available","deleted","unavailable","unknown"]
dataset.posts[].first_seen_atstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].last_seen_atstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].scheduled_post_idstring | nullمطلوب في العنصر الأب—
dataset.posts[].scheduled_post_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].scheduled_post_idanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenanceobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.posts[].provenance.providerstringمطلوب في العنصر الأب
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provenance.sourcestringمطلوب في العنصر الأب
  • enum: ["provider_api","provider_webhook","publication_outcome","backfill"]
dataset.posts[].provenance.source_job_idstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.source_job_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.posts[].provenance.source_job_idanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenance.provider_api_versionstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.provider_api_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.provider_api_versionanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenance.schema_versionstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.schema_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.schema_versionanyOf 2nullمطلوب في العنصر الأب—
dataset.sourcesarrayمطلوب في العنصر الأب
  • maxItems: 30
dataset.sources[]objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].accountIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].resourceKindstringمطلوب في العنصر الأب
  • enum: ["account","post"]
dataset.sources[].providerResourceIdstring | nullمطلوب في العنصر الأب—
dataset.sources[].providerResourceIdanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 512
dataset.sources[].providerResourceIdanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.sources[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].statusstringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].reasonstring | nullمطلوب في العنصر الأب—
dataset.sources[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 8000
dataset.sources[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelopeobject | nullمطلوب في العنصر الأب—
dataset.sources[].envelopeanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.contract_versionanyOf 1stringمطلوب في العنصر الأب
  • const: "provider-insights/v1"
dataset.sources[].envelope.request_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].envelope.platformanyOf 1stringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].envelope.resourceanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.resource.kindanyOf 1stringمطلوب في العنصر الأب
  • enum: ["account","post"]
dataset.sources[].envelope.resource.social_account_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.sources[].envelope.resource.provider_resource_idanyOf 1string | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_api_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.sources[].envelope.fetched_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelope.statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["available","partial","unavailable"]
dataset.sources[].envelope.availabilityanyOf 1arrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 64
dataset.sources[].envelope.availability[]anyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].scopeanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed"]
dataset.sources[].envelope.availability[].reasonanyOf 1stringاختياري / عنصر
  • minLength: 1
  • maxLength: 2000
dataset.sources[].envelope.availability[].diagnosticsanyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.http_statusanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 599
dataset.sources[].envelope.availability[].diagnostics.failed_stepanyOf 1stringاختياري / عنصر
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1number | stringاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 1numberاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 2stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1number | stringاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 1numberاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 2stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_typeanyOf 1stringاختياري / عنصر
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.is_transientanyOf 1booleanاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_request_idanyOf 1stringاختياري / عنصر
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.accessanyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.access.login_modeanyOf 1stringمطلوب في العنصر الأب
  • enum: ["instagram_login","facebook_login","threads_user"]
dataset.sources[].envelope.availability[].diagnostics.access.provider_hostanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.access.required_permissionsanyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.required_permissions[]anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissionsanyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissions[]anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1array | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 128
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissions[]anyOf 1 / anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.availability[].diagnostics.access.grant_evidenceanyOf 1stringمطلوب في العنصر الأب
  • enum: ["exact","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.permission_stateanyOf 1stringمطلوب في العنصر الأب
  • enum: ["granted","missing","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.grant_observed_atanyOf 1stringاختياري / عنصر
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelope.availability[].diagnostics.access.app_accessanyOf 1stringمطلوب في العنصر الأب
  • const: "unverified"
dataset.sources[].envelope.availability[].diagnostics.access.next_stepanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 1500
dataset.sources[].envelope.provider_dataanyOf 1any JSON value | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 1any JSON valueمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.requested_date_rangeanyOf 1object | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.requested_date_range.start_dateanyOf 1 / anyOf 1stringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_range.end_dateanyOf 1 / anyOf 1stringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.cacheanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.cache.authoritativeanyOf 1booleanمطلوب في العنصر الأب
  • const: false
dataset.sources[].envelope.cache.statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["stored","hit","bypassed"]
dataset.sources[].envelope.cache.expires_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelopeanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metricsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.sources[].metrics[]objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].metrics[].keystringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 150
dataset.sources[].metrics[].definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.sources[].metrics[].unitstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.sources[].metrics[].grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.sources[].metrics[].valuenumber | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].metrics[].reasonstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 4000
dataset.sources[].metrics[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurementobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].metrics[].measurement.kindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.sources[].metrics[].measurement.periodstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.periodanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.periodanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.startstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.startanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.startanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.endstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.endanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.endanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.timezonestring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.timezoneanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].sourcePathstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 2000
dataset.coverageobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.coverage.populationstringمطلوب في العنصر الأب
  • const: "discovered_posts"
dataset.coverage.postsCompletebooleanمطلوب في العنصر الأب—
dataset.coverage.nextCursorstring | nullمطلوب في العنصر الأب—
dataset.coverage.nextCursoranyOf 1stringمطلوب في العنصر الأب
  • maxLength: 16384
dataset.coverage.nextCursoranyOf 2nullمطلوب في العنصر الأب—
dataset.coverage.postLimitintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 1000
dataset.coverage.postInsightsLimitintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 20
dataset.coverage.omittedPostInsightsintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
dataset.coverage.notesarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.coverage.notes[]stringاختياري / عنصر
  • maxLength: 2000
dataset.customMetricsarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.customMetrics[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].versionintegerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].expressionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].definitionstringمطلوب في العنصر الأب
  • maxLength: 1000
dataset.customMetrics[].unitstringمطلوب في العنصر الأب
  • maxLength: 100
dataset.customMetrics[].grainstringمطلوب في العنصر الأب
  • enum: ["post","account","compatible_sum"]
dataset.customMetrics[].roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].rounding.modestringمطلوب في العنصر الأب
  • const: "half_away_from_zero"
dataset.customMetrics[].inputsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].inputs[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].inputs[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].inputs[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].sourcePathstringمطلوب في العنصر الأب
  • maxLength: 2000
dataset.customMetrics[].inputs[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 4000
dataset.customMetrics[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formulaobjectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].formula.contractVersionstringمطلوب في العنصر الأب
  • const: "analytics-metric/v1"
dataset.customMetrics[].formula.idstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].formula.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].formula.namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.versionintegerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 1000000
dataset.customMetrics[].formula.expressionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].formula.fieldsarrayمطلوب في العنصر الأب
  • maxItems: 32
dataset.customMetrics[].formula.fields[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].identifierstringمطلوب في العنصر الأب
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].formula.fields[].selectorobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].selector.platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].formula.fields[].selector.keystringمطلوب في العنصر الأب
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].formula.fields[].selector.definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].formula.fields[].selector.unitstringمطلوب في العنصر الأب
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].formula.fields[].selector.grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.customMetrics[].formula.fields[].selector.measurementKindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].formula.fields[].selector.nativePeriodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].aggregationstringمطلوب في العنصر الأب
  • enum: ["single","sum"]
dataset.customMetrics[].formula.roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].formula.rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].formula.rounding.modestringمطلوب في العنصر الأب
  • const: "half_away_from_zero"
dataset.customMetrics[].calculationobjectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].calculation.contractVersionstringمطلوب في العنصر الأب
  • const: "analytics-metric/v1"
dataset.customMetrics[].calculation.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.datasetIdstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.formulaIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.versionintegerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].calculation.expressionstringمطلوب في العنصر الأب
  • maxLength: 1000
dataset.customMetrics[].calculation.roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].calculation.rounding.modestringمطلوب في العنصر الأب
  • const: "half_away_from_zero"
dataset.customMetrics[].calculation.valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.unitstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.customMetrics[].calculation.statusstringمطلوب في العنصر الأب
  • enum: ["available","not_returned"]
dataset.customMetrics[].calculation.codestringمطلوب في العنصر الأب
  • enum: ["ok","invalid_expression","missing_input","incompatible_input","zero_denominator","numeric_limit","workspace_mismatch","ambiguous_input","unknown_exclusion"]
dataset.customMetrics[].calculation.reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.reasonanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.excludedInputIdsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].calculation.excludedInputIds[]stringاختياري / عنصر
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].calculation.inputs[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].inputIdstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputs[].selectorobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].selector.platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].calculation.inputs[].selector.keystringمطلوب في العنصر الأب
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].calculation.inputs[].selector.definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.inputs[].selector.unitstringمطلوب في العنصر الأب
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].calculation.inputs[].selector.grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.customMetrics[].calculation.inputs[].selector.measurementKindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].calculation.inputs[].reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 8000
dataset.customMetrics[].calculation.inputs[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurementobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].measurement.kindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].measurement.periodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.startstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.endstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].sourcePathstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].calculation.inputs[].accountIdstringمطلوب في العنصر الأب
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].providerResourceIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 512
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].fetchedAtstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].identifierstringمطلوب في العنصر الأب
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].calculation.inputs[].includedbooleanمطلوب في العنصر الأب—
formatstringمطلوب في العنصر الأب
  • enum: ["pptx","docx","xlsx"]
outputstringمطلوب في العنصر الأب
  • enum: ["native","pdf"]
localestringمطلوب في العنصر الأب
  • enum: ["en","zh-Hant"]
templateobjectمطلوب في العنصر الأب
  • additionalProperties: false
template.idstringمطلوب في العنصر الأب
  • format: "uuid"
template.versionintegerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 1000000
template.source_base64stringمطلوب في العنصر الأب
  • maxLength: 12582912
template.source_sha256stringمطلوب في العنصر الأب
  • pattern: "^[a-f0-9]{64}$"
template.mappingsobjectمطلوب في العنصر الأب
  • additionalProperties: {"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"value":{"type":"string","maxLength":2000}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"selection"},"field":{"type":"string","enum":["accounts","period","timezone","platforms","dataset","reviewed","coverage"]}},"required":["kind","field"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"metric"},"platform":{"type":"string","enum":["facebook","instagram","threads","youtube"]},"key":{"type":"string","minLength":1,"maxLength":150},"unit":{"type":"string","minLength":1,"maxLength":100},"grain":{"type":"string","enum":["post","account"]},"measurementKind":{"type":"string","enum":["lifetime","snapshot","period","unknown"]},"accountId":{"type":"string","format":"uuid"},"providerResourceId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"sourcePath":{"type":"string","maxLength":2000},"requestId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]}},"required":["kind","platform","key","unit","grain","measurementKind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"formula"},"id":{"type":"string","format":"uuid"},"version":{"type":"integer","minimum":1,"maximum":1000000}},"required":["kind","id","version"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"table"},"source":{"type":"string","enum":["measurements","formulas"]},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["kind","source","limit"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"chart"},"source":{"type":"string","const":"publication_by_platform"}},"required":["kind","source"],"additionalProperties":false}]}
template.mappings.*objectاختياري / عنصر—
template.mappings.*oneOf 1objectاختياري / عنصر
  • additionalProperties: false
template.mappings.*.kindoneOf 1stringمطلوب في العنصر الأب
  • const: "text"
template.mappings.*.valueoneOf 1stringمطلوب في العنصر الأب
  • maxLength: 2000
template.mappings.*oneOf 2objectاختياري / عنصر
  • additionalProperties: false
template.mappings.*.kindoneOf 2stringمطلوب في العنصر الأب
  • const: "selection"
template.mappings.*.fieldoneOf 2stringمطلوب في العنصر الأب
  • enum: ["accounts","period","timezone","platforms","dataset","reviewed","coverage"]
template.mappings.*oneOf 3objectاختياري / عنصر
  • additionalProperties: false
template.mappings.*.kindoneOf 3stringمطلوب في العنصر الأب
  • const: "metric"
template.mappings.*.platformoneOf 3stringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
template.mappings.*.keyoneOf 3stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 150
template.mappings.*.unitoneOf 3stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
template.mappings.*.grainoneOf 3stringمطلوب في العنصر الأب
  • enum: ["post","account"]
template.mappings.*.measurementKindoneOf 3stringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
template.mappings.*.accountIdoneOf 3stringاختياري / عنصر
  • format: "uuid"
template.mappings.*.providerResourceIdoneOf 3string | nullاختياري / عنصر—
template.mappings.*.providerResourceIdoneOf 3 / anyOf 1stringاختياري / عنصر
  • minLength: 1
  • maxLength: 512
template.mappings.*.providerResourceIdoneOf 3 / anyOf 2nullاختياري / عنصر—
template.mappings.*.sourcePathoneOf 3stringاختياري / عنصر
  • maxLength: 2000
template.mappings.*.requestIdoneOf 3string | nullاختياري / عنصر—
template.mappings.*.requestIdoneOf 3 / anyOf 1stringاختياري / عنصر
  • format: "uuid"
template.mappings.*.requestIdoneOf 3 / anyOf 2nullاختياري / عنصر—
template.mappings.*oneOf 4objectاختياري / عنصر
  • additionalProperties: false
template.mappings.*.kindoneOf 4stringمطلوب في العنصر الأب
  • const: "formula"
template.mappings.*.idoneOf 4stringمطلوب في العنصر الأب
  • format: "uuid"
template.mappings.*.versiononeOf 4integerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 1000000
template.mappings.*oneOf 5objectاختياري / عنصر
  • additionalProperties: false
template.mappings.*.kindoneOf 5stringمطلوب في العنصر الأب
  • const: "table"
template.mappings.*.sourceoneOf 5stringمطلوب في العنصر الأب
  • enum: ["measurements","formulas"]
template.mappings.*.limitoneOf 5integerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 100
template.mappings.*oneOf 6objectاختياري / عنصر
  • additionalProperties: false
template.mappings.*.kindoneOf 6stringمطلوب في العنصر الأب
  • const: "chart"
template.mappings.*.sourceoneOf 6stringمطلوب في العنصر الأب
  • const: "publication_by_platform"
reviewed_fingerprintstringمطلوب في العنصر الأب
  • pattern: "^[a-f0-9]{64}$"
مخطط JSON Schema الكامل
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "analytics-render-input/v1"
    },
    "kind": {
      "type": "string",
      "const": "template"
    },
    "dataset": {
      "type": "object",
      "properties": {
        "contractVersion": {
          "type": "string",
          "const": "analytics-report/v1"
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "reviewedAt": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "selection": {
          "type": "object",
          "properties": {
            "workspaceId": {
              "type": "string",
              "format": "uuid"
            },
            "accountIds": {
              "minItems": 1,
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            },
            "platforms": {
              "minItems": 1,
              "maxItems": 4,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              }
            },
            "startDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "endDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "timezone": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "required": [
            "workspaceId",
            "accountIds",
            "platforms",
            "startDate",
            "endDate",
            "timezone"
          ],
          "additionalProperties": false
        },
        "accounts": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "workspaceId": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "connectionStatus": {
                "type": "string",
                "maxLength": 100
              },
              "healthMessage": {
                "type": "string",
                "maxLength": 1000
              }
            },
            "required": [
              "id",
              "workspaceId",
              "platform",
              "name"
            ],
            "additionalProperties": false
          }
        },
        "posts": {
          "maxItems": 1000,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "social_post_id": {
                "type": "string",
                "format": "uuid"
              },
              "workspace_id": {
                "type": "string",
                "format": "uuid"
              },
              "social_account_id": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "instagram",
                  "facebook",
                  "threads",
                  "youtube"
                ]
              },
              "provider_post_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "provider_published_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "content_format": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "permalink": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 2048,
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provider_state": {
                "type": "string",
                "enum": [
                  "available",
                  "deleted",
                  "unavailable",
                  "unknown"
                ]
              },
              "first_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "last_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "scheduled_post_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provenance": {
                "type": "object",
                "properties": {
                  "provider": {
                    "type": "string",
                    "enum": [
                      "instagram",
                      "facebook",
                      "threads",
                      "youtube"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "provider_api",
                      "provider_webhook",
                      "publication_outcome",
                      "backfill"
                    ]
                  },
                  "source_job_id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uuid"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "provider_api_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "schema_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "provider",
                  "source",
                  "source_job_id",
                  "provider_api_version",
                  "schema_version"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "social_post_id",
              "workspace_id",
              "social_account_id",
              "platform",
              "provider_post_id",
              "provider_published_at",
              "content_format",
              "permalink",
              "provider_state",
              "first_seen_at",
              "last_seen_at",
              "scheduled_post_id",
              "provenance"
            ],
            "additionalProperties": false
          }
        },
        "sources": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "accountId": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "resourceKind": {
                "type": "string",
                "enum": [
                  "account",
                  "post"
                ]
              },
              "providerResourceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "requestId": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 8000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "envelope": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "contract_version": {
                        "type": "string",
                        "const": "provider-insights/v1"
                      },
                      "request_id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "platform": {
                        "type": "string",
                        "enum": [
                          "facebook",
                          "instagram",
                          "threads",
                          "youtube"
                        ]
                      },
                      "resource": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "enum": [
                              "account",
                              "post"
                            ]
                          },
                          "social_account_id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "provider_resource_id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "social_account_id",
                          "provider_resource_id"
                        ],
                        "additionalProperties": false
                      },
                      "provider_api_version": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "fetched_at": {
                        "type": "string",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                        "format": "date-time"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "available",
                          "partial",
                          "unavailable"
                        ]
                      },
                      "availability": {
                        "minItems": 1,
                        "maxItems": 64,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "scope": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            },
                            "status": {
                              "type": "string",
                              "enum": [
                                "available",
                                "partial",
                                "not_returned",
                                "unsupported",
                                "permission_required",
                                "threshold_not_met",
                                "no_data",
                                "failed"
                              ]
                            },
                            "reason": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 2000
                            },
                            "diagnostics": {
                              "type": "object",
                              "properties": {
                                "http_status": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 599
                                },
                                "failed_step": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 200
                                },
                                "provider_code": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_subcode": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_type": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "is_transient": {
                                  "type": "boolean"
                                },
                                "provider_request_id": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "access": {
                                  "type": "object",
                                  "properties": {
                                    "login_mode": {
                                      "type": "string",
                                      "enum": [
                                        "instagram_login",
                                        "facebook_login",
                                        "threads_user"
                                      ]
                                    },
                                    "provider_host": {
                                      "type": "string",
                                      "maxLength": 200
                                    },
                                    "required_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "current_connection_policy_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "granted_permissions": {
                                      "anyOf": [
                                        {
                                          "maxItems": 128,
                                          "type": "array",
                                          "items": {
                                            "type": "string",
                                            "maxLength": 100
                                          }
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "grant_evidence": {
                                      "type": "string",
                                      "enum": [
                                        "exact",
                                        "unknown"
                                      ]
                                    },
                                    "permission_state": {
                                      "type": "string",
                                      "enum": [
                                        "granted",
                                        "missing",
                                        "unknown"
                                      ]
                                    },
                                    "grant_observed_at": {
                                      "type": "string",
                                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                                      "format": "date-time"
                                    },
                                    "app_access": {
                                      "type": "string",
                                      "const": "unverified"
                                    },
                                    "next_step": {
                                      "type": "string",
                                      "maxLength": 1500
                                    }
                                  },
                                  "required": [
                                    "login_mode",
                                    "provider_host",
                                    "required_permissions",
                                    "current_connection_policy_permissions",
                                    "granted_permissions",
                                    "grant_evidence",
                                    "permission_state",
                                    "app_access",
                                    "next_step"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "http_status"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "scope",
                            "status"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "provider_data": {
                        "anyOf": [
                          {},
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "requested_date_range": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "start_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              },
                              "end_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              }
                            },
                            "required": [
                              "start_date",
                              "end_date"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "cache": {
                        "type": "object",
                        "properties": {
                          "authoritative": {
                            "type": "boolean",
                            "const": false
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "stored",
                              "hit",
                              "bypassed"
                            ]
                          },
                          "expires_at": {
                            "type": "string",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "authoritative",
                          "status",
                          "expires_at"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "contract_version",
                      "request_id",
                      "platform",
                      "resource",
                      "provider_api_version",
                      "fetched_at",
                      "status",
                      "availability",
                      "provider_data",
                      "requested_date_range",
                      "cache"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metrics": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 150
                    },
                    "definition": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "unit": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "grain": {
                      "type": "string",
                      "enum": [
                        "post",
                        "account"
                      ]
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    },
                    "reason": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 4000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "measurement": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "lifetime",
                            "snapshot",
                            "period",
                            "unknown"
                          ]
                        },
                        "period": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "start": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "end": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "timezone": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "period",
                        "start",
                        "end",
                        "timezone"
                      ],
                      "additionalProperties": false
                    },
                    "sourcePath": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 2000
                    }
                  },
                  "required": [
                    "key",
                    "definition",
                    "unit",
                    "grain",
                    "value",
                    "availability",
                    "reason",
                    "measurement",
                    "sourcePath"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "accountId",
              "platform",
              "resourceKind",
              "providerResourceId",
              "requestId",
              "status",
              "reason",
              "envelope",
              "metrics"
            ],
            "additionalProperties": false
          }
        },
        "coverage": {
          "type": "object",
          "properties": {
            "population": {
              "type": "string",
              "const": "discovered_posts"
            },
            "postsComplete": {
              "type": "boolean"
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 16384
                },
                {
                  "type": "null"
                }
              ]
            },
            "postLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            },
            "postInsightsLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 20
            },
            "omittedPostInsights": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "notes": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 2000
              }
            }
          },
          "required": [
            "population",
            "postsComplete",
            "nextCursor",
            "postLimit",
            "postInsightsLimit",
            "omittedPostInsights",
            "notes"
          ],
          "additionalProperties": false
        },
        "customMetrics": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              },
              "version": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "expression": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1000
              },
              "definition": {
                "type": "string",
                "maxLength": 1000
              },
              "unit": {
                "type": "string",
                "maxLength": 100
              },
              "grain": {
                "type": "string",
                "enum": [
                  "post",
                  "account",
                  "compatible_sum"
                ]
              },
              "rounding": {
                "type": "object",
                "properties": {
                  "decimalPlaces": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 8
                  },
                  "mode": {
                    "type": "string",
                    "const": "half_away_from_zero"
                  }
                },
                "required": [
                  "decimalPlaces",
                  "mode"
                ],
                "additionalProperties": false
              },
              "inputs": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "requestId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uuid"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sourcePath": {
                      "type": "string",
                      "maxLength": 2000
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    }
                  },
                  "required": [
                    "requestId",
                    "sourcePath",
                    "value",
                    "availability"
                  ],
                  "additionalProperties": false
                }
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "availability": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "formula": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "const": "analytics-metric/v1"
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "expression": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000
                  },
                  "fields": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "aggregation": {
                          "type": "string",
                          "enum": [
                            "single",
                            "sum"
                          ]
                        }
                      },
                      "required": [
                        "identifier",
                        "selector",
                        "aggregation"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "const": "half_away_from_zero"
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "contractVersion",
                  "id",
                  "workspaceId",
                  "name",
                  "version",
                  "expression",
                  "fields",
                  "rounding"
                ],
                "additionalProperties": false
              },
              "calculation": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "const": "analytics-metric/v1"
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "datasetId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "formulaId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "expression": {
                    "type": "string",
                    "maxLength": 1000
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "const": "half_away_from_zero"
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  },
                  "value": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "available",
                      "not_returned"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "enum": [
                      "ok",
                      "invalid_expression",
                      "missing_input",
                      "incompatible_input",
                      "zero_denominator",
                      "numeric_limit",
                      "workspace_mismatch",
                      "ambiguous_input",
                      "unknown_exclusion"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 500
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "excludedInputIds": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1500
                    }
                  },
                  "inputs": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "inputId": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1500
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "value": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "availability": {
                          "type": "string",
                          "enum": [
                            "available",
                            "partial",
                            "not_returned",
                            "unsupported",
                            "permission_required",
                            "threshold_not_met",
                            "no_data",
                            "failed",
                            "pending",
                            "stale"
                          ]
                        },
                        "reason": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 8000
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "measurement": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "period": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "start": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "end": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "kind",
                            "period",
                            "start",
                            "end",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "requestId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "sourcePath": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "accountId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "providerResourceId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 512
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "fetchedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "included": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "inputId",
                        "selector",
                        "value",
                        "availability",
                        "reason",
                        "measurement",
                        "requestId",
                        "sourcePath",
                        "accountId",
                        "providerResourceId",
                        "fetchedAt",
                        "identifier",
                        "included"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "contractVersion",
                  "workspaceId",
                  "datasetId",
                  "formulaId",
                  "name",
                  "version",
                  "expression",
                  "rounding",
                  "value",
                  "unit",
                  "status",
                  "code",
                  "reason",
                  "excludedInputIds",
                  "inputs"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "name",
              "version",
              "expression",
              "definition",
              "unit",
              "grain",
              "rounding",
              "inputs",
              "value",
              "availability",
              "reason"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "contractVersion",
        "id",
        "reviewedAt",
        "selection",
        "accounts",
        "posts",
        "sources",
        "coverage",
        "customMetrics"
      ],
      "additionalProperties": false
    },
    "format": {
      "type": "string",
      "enum": [
        "pptx",
        "docx",
        "xlsx"
      ]
    },
    "output": {
      "type": "string",
      "enum": [
        "native",
        "pdf"
      ]
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "zh-Hant"
      ]
    },
    "template": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "version": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000000
        },
        "source_base64": {
          "type": "string",
          "maxLength": 12582912
        },
        "source_sha256": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        },
        "mappings": {
          "type": "object",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z][A-Za-z0-9_.-]{0,63}$"
          },
          "additionalProperties": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "text"
                  },
                  "value": {
                    "type": "string",
                    "maxLength": 2000
                  }
                },
                "required": [
                  "kind",
                  "value"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "selection"
                  },
                  "field": {
                    "type": "string",
                    "enum": [
                      "accounts",
                      "period",
                      "timezone",
                      "platforms",
                      "dataset",
                      "reviewed",
                      "coverage"
                    ]
                  }
                },
                "required": [
                  "kind",
                  "field"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "metric"
                  },
                  "platform": {
                    "type": "string",
                    "enum": [
                      "facebook",
                      "instagram",
                      "threads",
                      "youtube"
                    ]
                  },
                  "key": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 150
                  },
                  "unit": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "grain": {
                    "type": "string",
                    "enum": [
                      "post",
                      "account"
                    ]
                  },
                  "measurementKind": {
                    "type": "string",
                    "enum": [
                      "lifetime",
                      "snapshot",
                      "period",
                      "unknown"
                    ]
                  },
                  "accountId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "providerResourceId": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 512
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "sourcePath": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "requestId": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uuid"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "kind",
                  "platform",
                  "key",
                  "unit",
                  "grain",
                  "measurementKind"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "formula"
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "version"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "table"
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "measurements",
                      "formulas"
                    ]
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                  }
                },
                "required": [
                  "kind",
                  "source",
                  "limit"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "chart"
                  },
                  "source": {
                    "type": "string",
                    "const": "publication_by_platform"
                  }
                },
                "required": [
                  "kind",
                  "source"
                ],
                "additionalProperties": false
              }
            ]
          }
        }
      },
      "required": [
        "id",
        "version",
        "source_base64",
        "source_sha256",
        "mappings"
      ],
      "additionalProperties": false
    },
    "reviewed_fingerprint": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "contract_version",
    "kind",
    "dataset",
    "format",
    "output",
    "locale",
    "template",
    "reviewed_fingerprint"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

مثال لاستدعاء أداة

تستخدم الأمثلة قيماً خيالية مفحوصة بالمخططات. استبدل المعرّفات بالمفوّض لك، والوسائط بأصول جاهزة، والتواريخ بوقت نشر مؤكد. افحص أهلية الحساب قبل الكتابة. لا تُرسل الصفحة طلبات API.

{
  "name": "sosoapi_render_report_template",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "dataset": {
      "contractVersion": "analytics-report/v1",
      "id": "11111111-1111-4111-8111-111111111111",
      "reviewedAt": "2099-01-15T09:00:00Z",
      "selection": {
        "workspaceId": "11111111-1111-4111-8111-111111111111",
        "accountIds": [
          "11111111-1111-4111-8111-111111111111"
        ],
        "platforms": [
          "facebook"
        ],
        "startDate": "2099-01-15",
        "endDate": "2099-01-15",
        "timezone": "UTC"
      },
      "accounts": [
        {
          "id": "11111111-1111-4111-8111-111111111111",
          "workspaceId": "11111111-1111-4111-8111-111111111111",
          "platform": "facebook",
          "name": "Fictional report account"
        }
      ],
      "posts": [],
      "sources": [],
      "coverage": {
        "population": "discovered_posts",
        "postsComplete": false,
        "nextCursor": null,
        "postLimit": 0,
        "postInsightsLimit": 0,
        "omittedPostInsights": 0,
        "notes": []
      },
      "customMetrics": []
    },
    "reviewed_fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  }
}

structuredContent

{
  "contract_version": "analytics-render-input/v1",
  "kind": "template",
  "dataset": {
    "contractVersion": "analytics-report/v1",
    "id": "11111111-1111-4111-8111-111111111111",
    "reviewedAt": "2099-01-15T09:00:00Z",
    "selection": {
      "workspaceId": "11111111-1111-4111-8111-111111111111",
      "accountIds": [
        "11111111-1111-4111-8111-111111111111"
      ],
      "platforms": [
        "facebook"
      ],
      "startDate": "2099-01-15",
      "endDate": "2099-01-15",
      "timezone": "UTC"
    },
    "accounts": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "workspaceId": "11111111-1111-4111-8111-111111111111",
        "platform": "facebook",
        "name": "Fictional report account"
      }
    ],
    "posts": [],
    "sources": [],
    "coverage": {
      "population": "discovered_posts",
      "postsComplete": false,
      "nextCursor": null,
      "postLimit": 0,
      "postInsightsLimit": 0,
      "omittedPostInsights": 0,
      "notes": []
    },
    "customMetrics": []
  },
  "format": "pptx",
  "output": "native",
  "locale": "en",
  "template": {
    "id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "source_base64": "example",
    "source_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "mappings": {}
  },
  "reviewed_fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
تثبيت MCP أو ربطه