Die Suche lädt erst bei Nutzung. Durchsuche unten alle Kategorien.

MCP-Tool

Eine benutzerdefinierte Kennzahl vorab anzeigen

sosoapi_preview_custom_metric

Eine benutzerdefinierte Kennzahl vorab anzeigen. Verwendet den ausdrücklich geprüften Datensatz und die festgelegte Version; die Quelle wird nicht automatisch aktualisiert. Render-Eingaben können per Pipe an sosoapi report render --output FILE übergeben werden.

Als Markdown lesen

Profile und Transporte

Profile: full · Transporte: stdio, http

Wähle core oder full für die sichtbaren Tools deines Clients; dies ändert keine Berechtigungen. Lokaler Dateiupload benötigt stdio und ist über HTTP nicht verfügbar. Setze SOSOAPI_OUTPUT_SCHEMAS=1 für Ausgabeschemas in der Erkennung. Tools liefern unabhängig davon strukturierte Ergebnisse.

Berechtigungen und Nebeneffekte

Annotationen helfen Clients, Tools zu beschreiben. Jeder Aufruf prüft weiterhin Authentifizierung, Rolle, Ressourcenzugriff und erteilte Funktionen des Nutzers.

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

Eingabefelder

Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.

Eingabefelder
Feld / VarianteTyp / erforderlichEinschränkungen
$objectIm Elternobjekt erforderlich
  • additionalProperties: false
workspace_idstringIm Elternobjekt erforderlich
  • format: "uuid"
formulaobjectIm Elternobjekt erforderlich
  • additionalProperties: false
formula.contractVersionstringIm Elternobjekt erforderlich
  • enum: ["analytics-metric/v1"]
formula.idstringIm Elternobjekt erforderlich
  • format: "uuid"
formula.workspaceIdstringIm Elternobjekt erforderlich
  • format: "uuid"
formula.namestringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
formula.versionintegerIm Elternobjekt erforderlich
  • minimum: 1
  • maximum: 1000000
formula.expressionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1000
formula.fieldsarrayIm Elternobjekt erforderlich
  • maxItems: 32
formula.fields[]objectOptional / Element
  • additionalProperties: false
formula.fields[].identifierstringIm Elternobjekt erforderlich
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
formula.fields[].selectorobjectIm Elternobjekt erforderlich
  • additionalProperties: false
formula.fields[].selector.platformstringIm Elternobjekt erforderlich
  • enum: ["facebook","instagram","threads","youtube"]
formula.fields[].selector.keystringIm Elternobjekt erforderlich
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
formula.fields[].selector.definitionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 500
formula.fields[].selector.unitstringIm Elternobjekt erforderlich
  • enum: ["count","seconds","minutes","percent","ratio"]
formula.fields[].selector.grainstringIm Elternobjekt erforderlich
  • enum: ["post","account"]
formula.fields[].selector.measurementKindstringIm Elternobjekt erforderlich
  • enum: ["lifetime","snapshot","period","unknown"]
formula.fields[].selector.nativePeriodstring | nullIm Elternobjekt erforderlich—
formula.fields[].selector.nativePeriodanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
formula.fields[].selector.nativePeriodanyOf 2nullIm Elternobjekt erforderlich—
formula.fields[].selector.timezonestring | nullIm Elternobjekt erforderlich—
formula.fields[].selector.timezoneanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
formula.fields[].selector.timezoneanyOf 2nullIm Elternobjekt erforderlich—
formula.fields[].aggregationstringIm Elternobjekt erforderlich
  • enum: ["single","sum"]
formula.roundingobjectIm Elternobjekt erforderlich
  • additionalProperties: false
formula.rounding.decimalPlacesintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 8
formula.rounding.modestringIm Elternobjekt erforderlich
  • enum: ["half_away_from_zero"]
datasetobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.contractVersionstringIm Elternobjekt erforderlich
  • enum: ["analytics-report/v1"]
dataset.idstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.reviewedAtstringIm Elternobjekt erforderlich
  • 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.selectionobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.selection.workspaceIdstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.selection.accountIdsarrayIm Elternobjekt erforderlich
  • minItems: 1
  • maxItems: 50
dataset.selection.accountIds[]stringOptional / Element
  • format: "uuid"
dataset.selection.platformsarrayIm Elternobjekt erforderlich
  • minItems: 1
  • maxItems: 4
dataset.selection.platforms[]stringOptional / Element
  • enum: ["facebook","instagram","threads","youtube"]
dataset.selection.startDatestringIm Elternobjekt erforderlich
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.endDatestringIm Elternobjekt erforderlich
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.timezonestringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.accountsarrayIm Elternobjekt erforderlich
  • maxItems: 50
dataset.accounts[]objectOptional / Element
  • additionalProperties: false
dataset.accounts[].idstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.accounts[].workspaceIdstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.accounts[].platformstringIm Elternobjekt erforderlich
  • enum: ["facebook","instagram","threads","youtube"]
dataset.accounts[].namestringIm Elternobjekt erforderlich
  • maxLength: 500
dataset.accounts[].connectionStatusstringOptional / Element
  • maxLength: 100
dataset.accounts[].healthMessagestringOptional / Element
  • maxLength: 1000
dataset.postsarrayIm Elternobjekt erforderlich
  • maxItems: 1000
dataset.posts[]objectOptional / Element
  • additionalProperties: false
dataset.posts[].social_post_idstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.posts[].workspace_idstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.posts[].social_account_idstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.posts[].platformstringIm Elternobjekt erforderlich
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provider_post_idstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 512
dataset.posts[].provider_published_atstring | nullIm Elternobjekt erforderlich—
dataset.posts[].provider_published_atanyOf 1stringIm Elternobjekt erforderlich
  • 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 2nullIm Elternobjekt erforderlich—
dataset.posts[].content_formatstring | nullIm Elternobjekt erforderlich—
dataset.posts[].content_formatanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.posts[].content_formatanyOf 2nullIm Elternobjekt erforderlich—
dataset.posts[].permalinkstring | nullIm Elternobjekt erforderlich—
dataset.posts[].permalinkanyOf 1stringIm Elternobjekt erforderlich
  • format: "uri"
  • maxLength: 2048
dataset.posts[].permalinkanyOf 2nullIm Elternobjekt erforderlich—
dataset.posts[].provider_statestringIm Elternobjekt erforderlich
  • enum: ["available","deleted","unavailable","unknown"]
dataset.posts[].first_seen_atstringIm Elternobjekt erforderlich
  • 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_atstringIm Elternobjekt erforderlich
  • 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 | nullIm Elternobjekt erforderlich—
dataset.posts[].scheduled_post_idanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.posts[].scheduled_post_idanyOf 2nullIm Elternobjekt erforderlich—
dataset.posts[].provenanceobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.posts[].provenance.providerstringIm Elternobjekt erforderlich
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provenance.sourcestringIm Elternobjekt erforderlich
  • enum: ["provider_api","provider_webhook","publication_outcome","backfill"]
dataset.posts[].provenance.source_job_idstring | nullIm Elternobjekt erforderlich—
dataset.posts[].provenance.source_job_idanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.posts[].provenance.source_job_idanyOf 2nullIm Elternobjekt erforderlich—
dataset.posts[].provenance.provider_api_versionstring | nullIm Elternobjekt erforderlich—
dataset.posts[].provenance.provider_api_versionanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.provider_api_versionanyOf 2nullIm Elternobjekt erforderlich—
dataset.posts[].provenance.schema_versionstring | nullIm Elternobjekt erforderlich—
dataset.posts[].provenance.schema_versionanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.schema_versionanyOf 2nullIm Elternobjekt erforderlich—
dataset.sourcesarrayIm Elternobjekt erforderlich
  • maxItems: 30
dataset.sources[]objectOptional / Element
  • additionalProperties: false
dataset.sources[].accountIdstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.sources[].platformstringIm Elternobjekt erforderlich
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].resourceKindstringIm Elternobjekt erforderlich
  • enum: ["account","post"]
dataset.sources[].providerResourceIdstring | nullIm Elternobjekt erforderlich—
dataset.sources[].providerResourceIdanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 512
dataset.sources[].providerResourceIdanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].requestIdstring | nullIm Elternobjekt erforderlich—
dataset.sources[].requestIdanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.sources[].requestIdanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].statusstringIm Elternobjekt erforderlich
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].reasonstring | nullIm Elternobjekt erforderlich—
dataset.sources[].reasonanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 8000
dataset.sources[].reasonanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].envelopeobject | nullIm Elternobjekt erforderlich—
dataset.sources[].envelopeanyOf 1objectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.sources[].envelope.contract_versionanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["provider-insights/v1"]
dataset.sources[].envelope.request_idanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.sources[].envelope.platformanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].envelope.resourceanyOf 1objectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.sources[].envelope.resource.kindanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["account","post"]
dataset.sources[].envelope.resource.social_account_idanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.sources[].envelope.resource.provider_resource_idanyOf 1string | nullIm Elternobjekt erforderlich—
dataset.sources[].envelope.provider_api_versionanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.sources[].envelope.fetched_atanyOf 1stringIm Elternobjekt erforderlich
  • 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 1stringIm Elternobjekt erforderlich
  • enum: ["available","partial","unavailable"]
dataset.sources[].envelope.availabilityanyOf 1arrayIm Elternobjekt erforderlich
  • minItems: 1
  • maxItems: 64
dataset.sources[].envelope.availability[]anyOf 1objectOptional / Element
  • additionalProperties: false
dataset.sources[].envelope.availability[].scopeanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].statusanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed"]
dataset.sources[].envelope.availability[].reasonanyOf 1stringOptional / Element
  • minLength: 1
  • maxLength: 2000
dataset.sources[].envelope.availability[].diagnosticsanyOf 1objectOptional / Element
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.http_statusanyOf 1integerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 599
dataset.sources[].envelope.availability[].diagnostics.failed_stepanyOf 1stringOptional / Element
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1number | stringOptional / Element—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 1numberOptional / Element—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 2stringOptional / Element
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1number | stringOptional / Element—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 1numberOptional / Element—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 2stringOptional / Element
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_typeanyOf 1stringOptional / Element
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.is_transientanyOf 1booleanOptional / Element—
dataset.sources[].envelope.availability[].diagnostics.provider_request_idanyOf 1stringOptional / Element
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.accessanyOf 1objectOptional / Element
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.access.login_modeanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["instagram_login","facebook_login","threads_user"]
dataset.sources[].envelope.availability[].diagnostics.access.provider_hostanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.access.required_permissionsanyOf 1arrayIm Elternobjekt erforderlich
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.required_permissions[]anyOf 1stringOptional / Element
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissionsanyOf 1arrayIm Elternobjekt erforderlich
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissions[]anyOf 1stringOptional / Element
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1array | nullIm Elternobjekt erforderlich—
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 1arrayIm Elternobjekt erforderlich
  • maxItems: 128
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissions[]anyOf 1 / anyOf 1stringOptional / Element
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].envelope.availability[].diagnostics.access.grant_evidenceanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["exact","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.permission_stateanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["granted","missing","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.grant_observed_atanyOf 1stringOptional / Element
  • 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 1stringIm Elternobjekt erforderlich
  • enum: ["unverified"]
dataset.sources[].envelope.availability[].diagnostics.access.next_stepanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 1500
dataset.sources[].envelope.provider_dataanyOf 1any JSON value | nullIm Elternobjekt erforderlich—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 1any JSON valueIm Elternobjekt erforderlich—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].envelope.requested_date_rangeanyOf 1object | nullIm Elternobjekt erforderlich—
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 1objectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.sources[].envelope.requested_date_range.start_dateanyOf 1 / anyOf 1stringIm Elternobjekt erforderlich
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_range.end_dateanyOf 1 / anyOf 1stringIm Elternobjekt erforderlich
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].envelope.cacheanyOf 1objectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.sources[].envelope.cache.authoritativeanyOf 1booleanIm Elternobjekt erforderlich
  • enum: [false]
dataset.sources[].envelope.cache.statusanyOf 1stringIm Elternobjekt erforderlich
  • enum: ["stored","hit","bypassed"]
dataset.sources[].envelope.cache.expires_atanyOf 1stringIm Elternobjekt erforderlich
  • 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 2nullIm Elternobjekt erforderlich—
dataset.sources[].metricsarrayIm Elternobjekt erforderlich
  • maxItems: 5000
dataset.sources[].metrics[]objectOptional / Element
  • additionalProperties: false
dataset.sources[].metrics[].keystringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 150
dataset.sources[].metrics[].definitionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1000
dataset.sources[].metrics[].unitstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.sources[].metrics[].grainstringIm Elternobjekt erforderlich
  • enum: ["post","account"]
dataset.sources[].metrics[].valuenumber | nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].availabilitystringIm Elternobjekt erforderlich
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].metrics[].reasonstring | nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].reasonanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 4000
dataset.sources[].metrics[].reasonanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurementobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.sources[].metrics[].measurement.kindstringIm Elternobjekt erforderlich
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.sources[].metrics[].measurement.periodstring | nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurement.periodanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 100
dataset.sources[].metrics[].measurement.periodanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurement.startstring | nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurement.startanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 100
dataset.sources[].metrics[].measurement.startanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurement.endstring | nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurement.endanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 100
dataset.sources[].metrics[].measurement.endanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurement.timezonestring | nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].measurement.timezoneanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 100
dataset.sources[].metrics[].measurement.timezoneanyOf 2nullIm Elternobjekt erforderlich—
dataset.sources[].metrics[].sourcePathstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 2000
dataset.coverageobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.coverage.populationstringIm Elternobjekt erforderlich
  • enum: ["discovered_posts"]
dataset.coverage.postsCompletebooleanIm Elternobjekt erforderlich—
dataset.coverage.nextCursorstring | nullIm Elternobjekt erforderlich—
dataset.coverage.nextCursoranyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 16384
dataset.coverage.nextCursoranyOf 2nullIm Elternobjekt erforderlich—
dataset.coverage.postLimitintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 1000
dataset.coverage.postInsightsLimitintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 20
dataset.coverage.omittedPostInsightsintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 9007199254740991
dataset.coverage.notesarrayIm Elternobjekt erforderlich
  • maxItems: 50
dataset.coverage.notes[]stringOptional / Element
  • maxLength: 2000
dataset.customMetricsarrayIm Elternobjekt erforderlich
  • maxItems: 50
dataset.customMetrics[]objectOptional / Element
  • additionalProperties: false
dataset.customMetrics[].idstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].namestringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].versionintegerIm Elternobjekt erforderlich
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].expressionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].definitionstringIm Elternobjekt erforderlich
  • maxLength: 1000
dataset.customMetrics[].unitstringIm Elternobjekt erforderlich
  • maxLength: 100
dataset.customMetrics[].grainstringIm Elternobjekt erforderlich
  • enum: ["post","account","compatible_sum"]
dataset.customMetrics[].roundingobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.customMetrics[].rounding.decimalPlacesintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].rounding.modestringIm Elternobjekt erforderlich
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].inputsarrayIm Elternobjekt erforderlich
  • maxItems: 5000
dataset.customMetrics[].inputs[]objectOptional / Element
  • additionalProperties: false
dataset.customMetrics[].inputs[].requestIdstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].inputs[].requestIdanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].inputs[].requestIdanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].inputs[].sourcePathstringIm Elternobjekt erforderlich
  • maxLength: 2000
dataset.customMetrics[].inputs[].valuenumber | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].inputs[].availabilitystringIm Elternobjekt erforderlich
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].valuenumber | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].availabilitystringIm Elternobjekt erforderlich
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].reasonstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].reasonanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 4000
dataset.customMetrics[].reasonanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].formulaobjectOptional / Element
  • additionalProperties: false
dataset.customMetrics[].formula.contractVersionstringIm Elternobjekt erforderlich
  • enum: ["analytics-metric/v1"]
dataset.customMetrics[].formula.idstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].formula.workspaceIdstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].formula.namestringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.versionintegerIm Elternobjekt erforderlich
  • minimum: 1
  • maximum: 1000000
dataset.customMetrics[].formula.expressionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].formula.fieldsarrayIm Elternobjekt erforderlich
  • maxItems: 32
dataset.customMetrics[].formula.fields[]objectOptional / Element
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].identifierstringIm Elternobjekt erforderlich
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].formula.fields[].selectorobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].selector.platformstringIm Elternobjekt erforderlich
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].formula.fields[].selector.keystringIm Elternobjekt erforderlich
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].formula.fields[].selector.definitionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].formula.fields[].selector.unitstringIm Elternobjekt erforderlich
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].formula.fields[].selector.grainstringIm Elternobjekt erforderlich
  • enum: ["post","account"]
dataset.customMetrics[].formula.fields[].selector.measurementKindstringIm Elternobjekt erforderlich
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].formula.fields[].selector.nativePeriodstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].formula.fields[].selector.timezonestring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].formula.fields[].aggregationstringIm Elternobjekt erforderlich
  • enum: ["single","sum"]
dataset.customMetrics[].formula.roundingobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.customMetrics[].formula.rounding.decimalPlacesintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].formula.rounding.modestringIm Elternobjekt erforderlich
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].calculationobjectOptional / Element
  • additionalProperties: false
dataset.customMetrics[].calculation.contractVersionstringIm Elternobjekt erforderlich
  • enum: ["analytics-metric/v1"]
dataset.customMetrics[].calculation.workspaceIdstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].calculation.datasetIdstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.formulaIdstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].calculation.namestringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.versionintegerIm Elternobjekt erforderlich
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].calculation.expressionstringIm Elternobjekt erforderlich
  • maxLength: 1000
dataset.customMetrics[].calculation.roundingobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.customMetrics[].calculation.rounding.decimalPlacesintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].calculation.rounding.modestringIm Elternobjekt erforderlich
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].calculation.valuenumber | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.unitstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 200
dataset.customMetrics[].calculation.statusstringIm Elternobjekt erforderlich
  • enum: ["available","not_returned"]
dataset.customMetrics[].calculation.codestringIm Elternobjekt erforderlich
  • enum: ["ok","invalid_expression","missing_input","incompatible_input","zero_denominator","numeric_limit","workspace_mismatch","ambiguous_input","unknown_exclusion"]
dataset.customMetrics[].calculation.reasonstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.reasonanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.reasonanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.excludedInputIdsarrayIm Elternobjekt erforderlich
  • maxItems: 5000
dataset.customMetrics[].calculation.excludedInputIds[]stringOptional / Element
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputsarrayIm Elternobjekt erforderlich
  • maxItems: 5000
dataset.customMetrics[].calculation.inputs[]objectOptional / Element
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].inputIdstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputs[].selectorobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].selector.platformstringIm Elternobjekt erforderlich
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].calculation.inputs[].selector.keystringIm Elternobjekt erforderlich
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].calculation.inputs[].selector.definitionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.inputs[].selector.unitstringIm Elternobjekt erforderlich
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].calculation.inputs[].selector.grainstringIm Elternobjekt erforderlich
  • enum: ["post","account"]
dataset.customMetrics[].calculation.inputs[].selector.measurementKindstringIm Elternobjekt erforderlich
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].selector.timezonestring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].valuenumber | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].availabilitystringIm Elternobjekt erforderlich
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].calculation.inputs[].reasonstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].reasonanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 8000
dataset.customMetrics[].calculation.inputs[].reasonanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurementobjectIm Elternobjekt erforderlich
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].measurement.kindstringIm Elternobjekt erforderlich
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].measurement.periodstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurement.startstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurement.endstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurement.timezonestring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].requestIdstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].sourcePathstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].calculation.inputs[].accountIdstringIm Elternobjekt erforderlich
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].providerResourceIdstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 512
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].fetchedAtstring | nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 1stringIm Elternobjekt erforderlich
  • 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 2nullIm Elternobjekt erforderlich—
dataset.customMetrics[].calculation.inputs[].identifierstringIm Elternobjekt erforderlich
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].calculation.inputs[].includedbooleanIm Elternobjekt erforderlich—
excluded_input_idsarrayOptional / Element
  • maxItems: 5000
excluded_input_ids[]stringOptional / Element
  • maxLength: 4000
Vollständiges JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "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
    },
    "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
    },
    "excluded_input_ids": {
      "maxItems": 5000,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4000
      }
    }
  },
  "required": [
    "workspace_id",
    "formula",
    "dataset"
  ],
  "additionalProperties": false
}

Strukturierte Ausgabe

Dieses Schema beschreibt structuredContent in einem erfolgreichen Tool-Ergebnis. Die MCP-Antwort enthält auch content und kann bei fehlgeschlagenem Aufruf isError setzen. Lies bei Veröffentlichungen das endgültige Beitragsergebnis, statt eine angenommene Anfrage oder Textantwort als Bestätigung zu werten. Die verknüpfte API-Operation erklärt Berechtigungen und Wiederholungsregeln.

Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.

Strukturierte Ausgabe
Feld / VarianteTyp / erforderlichEinschränkungen
$objectIm Elternobjekt erforderlich
  • additionalProperties: false
contractVersionstringIm Elternobjekt erforderlich
  • const: "analytics-metric/v1"
workspaceIdstringIm Elternobjekt erforderlich
  • format: "uuid"
datasetIdstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
formulaIdstringIm Elternobjekt erforderlich
  • format: "uuid"
namestringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
versionintegerIm Elternobjekt erforderlich
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
expressionstringIm Elternobjekt erforderlich
  • maxLength: 1000
roundingobjectIm Elternobjekt erforderlich
  • additionalProperties: false
rounding.decimalPlacesintegerIm Elternobjekt erforderlich
  • minimum: 0
  • maximum: 8
rounding.modestringIm Elternobjekt erforderlich
  • const: "half_away_from_zero"
valuenumber | nullIm Elternobjekt erforderlich—
unitstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 200
statusstringIm Elternobjekt erforderlich
  • enum: ["available","not_returned"]
codestringIm Elternobjekt erforderlich
  • enum: ["ok","invalid_expression","missing_input","incompatible_input","zero_denominator","numeric_limit","workspace_mismatch","ambiguous_input","unknown_exclusion"]
reasonstring | nullIm Elternobjekt erforderlich—
reasonanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 500
reasonanyOf 2nullIm Elternobjekt erforderlich—
excludedInputIdsarrayIm Elternobjekt erforderlich
  • maxItems: 5000
excludedInputIds[]stringOptional / Element
  • minLength: 1
  • maxLength: 1500
inputsarrayIm Elternobjekt erforderlich
  • maxItems: 5000
inputs[]objectOptional / Element
  • additionalProperties: false
inputs[].inputIdstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1500
inputs[].selectorobjectIm Elternobjekt erforderlich
  • additionalProperties: false
inputs[].selector.platformstringIm Elternobjekt erforderlich
  • enum: ["facebook","instagram","threads","youtube"]
inputs[].selector.keystringIm Elternobjekt erforderlich
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
inputs[].selector.definitionstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 500
inputs[].selector.unitstringIm Elternobjekt erforderlich
  • enum: ["count","seconds","minutes","percent","ratio"]
inputs[].selector.grainstringIm Elternobjekt erforderlich
  • enum: ["post","account"]
inputs[].selector.measurementKindstringIm Elternobjekt erforderlich
  • enum: ["lifetime","snapshot","period","unknown"]
inputs[].selector.nativePeriodstring | nullIm Elternobjekt erforderlich—
inputs[].selector.nativePeriodanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
inputs[].selector.nativePeriodanyOf 2nullIm Elternobjekt erforderlich—
inputs[].selector.timezonestring | nullIm Elternobjekt erforderlich—
inputs[].selector.timezoneanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
inputs[].selector.timezoneanyOf 2nullIm Elternobjekt erforderlich—
inputs[].valuenumber | nullIm Elternobjekt erforderlich—
inputs[].availabilitystringIm Elternobjekt erforderlich
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
inputs[].reasonstring | nullIm Elternobjekt erforderlich—
inputs[].reasonanyOf 1stringIm Elternobjekt erforderlich
  • maxLength: 8000
inputs[].reasonanyOf 2nullIm Elternobjekt erforderlich—
inputs[].measurementobjectIm Elternobjekt erforderlich
  • additionalProperties: false
inputs[].measurement.kindstringIm Elternobjekt erforderlich
  • enum: ["lifetime","snapshot","period","unknown"]
inputs[].measurement.periodstring | nullIm Elternobjekt erforderlich—
inputs[].measurement.periodanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
inputs[].measurement.periodanyOf 2nullIm Elternobjekt erforderlich—
inputs[].measurement.startstring | nullIm Elternobjekt erforderlich—
inputs[].measurement.startanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
inputs[].measurement.startanyOf 2nullIm Elternobjekt erforderlich—
inputs[].measurement.endstring | nullIm Elternobjekt erforderlich—
inputs[].measurement.endanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 64
inputs[].measurement.endanyOf 2nullIm Elternobjekt erforderlich—
inputs[].measurement.timezonestring | nullIm Elternobjekt erforderlich—
inputs[].measurement.timezoneanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 100
inputs[].measurement.timezoneanyOf 2nullIm Elternobjekt erforderlich—
inputs[].requestIdstring | nullIm Elternobjekt erforderlich—
inputs[].requestIdanyOf 1stringIm Elternobjekt erforderlich
  • format: "uuid"
inputs[].requestIdanyOf 2nullIm Elternobjekt erforderlich—
inputs[].sourcePathstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 1000
inputs[].accountIdstringIm Elternobjekt erforderlich
  • format: "uuid"
inputs[].providerResourceIdstring | nullIm Elternobjekt erforderlich—
inputs[].providerResourceIdanyOf 1stringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 512
inputs[].providerResourceIdanyOf 2nullIm Elternobjekt erforderlich—
inputs[].fetchedAtstring | nullIm Elternobjekt erforderlich—
inputs[].fetchedAtanyOf 1stringIm Elternobjekt erforderlich
  • 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)))$"
inputs[].fetchedAtanyOf 2nullIm Elternobjekt erforderlich—
inputs[].identifierstringIm Elternobjekt erforderlich
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
inputs[].includedbooleanIm Elternobjekt erforderlich—
Vollständiges JSON Schema
{
  "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"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Beispiel eines Tool-Aufrufs

Diese Beispiele nutzen anhand der Schemas geprüfte fiktive Werte. Ersetze IDs durch autorisierte IDs, Medien durch bereite Assets und Daten durch bestätigte Veröffentlichungszeiten. Prüfe Kontoeignung vor Schreibvorgängen. Diese Seite sendet keine API-Anfragen.

{
  "name": "sosoapi_preview_custom_metric",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "formula": {
      "contractVersion": "analytics-metric/v1",
      "id": "11111111-1111-4111-8111-111111111111",
      "workspaceId": "11111111-1111-4111-8111-111111111111",
      "name": "example",
      "version": 1,
      "expression": "example",
      "fields": [],
      "rounding": {
        "decimalPlaces": 0,
        "mode": "half_away_from_zero"
      }
    },
    "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": []
    }
  }
}

structuredContent

{
  "contractVersion": "analytics-metric/v1",
  "workspaceId": "11111111-1111-4111-8111-111111111111",
  "datasetId": "example",
  "formulaId": "11111111-1111-4111-8111-111111111111",
  "name": "example",
  "version": 1,
  "expression": "example",
  "rounding": {
    "decimalPlaces": 0,
    "mode": "half_away_from_zero"
  },
  "value": 0,
  "unit": "example",
  "status": "available",
  "code": "ok",
  "reason": null,
  "excludedInputIds": [],
  "inputs": []
}
MCP installieren oder verbinden