La recherche se charge uniquement lorsque vous l’utilisez. Parcourez toutes les catégories ci-dessous.

Outil MCP

Exporter les données d’analyse vérifiées

sosoapi_export_analytics_report

Préparer les données d’entrée d’analyse vérifiées pour la génération dans le navigateur ou avec sosoapi report render. Utilise le jeu de données et la version explicitement vérifiés ; les sources ne sont pas actualisées automatiquement. Les données d’entrée de génération peuvent être transmises par un tube à sosoapi report render --output FILE.

Lire en Markdown

Profils et transports

Profils : full · Transports : stdio, http

Choisissez core ou full pour définir les outils visibles du client ; cela ne change pas ses autorisations. Le téléversement local nécessite stdio et n’est pas disponible sur HTTP. Définissez SOSOAPI_OUTPUT_SCHEMAS=1 pour inclure les schémas de sortie à la découverte. Les outils renvoient des résultats structurés avec ou sans ce réglage.

Autorisations et effets de bord

Les annotations aident les clients à décrire un outil. Chaque appel vérifie toujours l’authentification, le rôle, l’accès aux ressources et les capacités accordées de l’utilisateur.

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

Champs d’entrée

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Champs d’entrée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
workspace_idstringRequis dans le parent
  • format: "uuid"
datasetobjectRequis dans le parent
  • additionalProperties: false
dataset.contractVersionstringRequis dans le parent
  • enum: ["analytics-report/v1"]
dataset.idstringRequis dans le parent
  • format: "uuid"
dataset.reviewedAtstringRequis dans le parent
  • 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.selectionobjectRequis dans le parent
  • additionalProperties: false
dataset.selection.workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.selection.accountIdsarrayRequis dans le parent
  • minItems: 1
  • maxItems: 50
dataset.selection.accountIds[]stringFacultatif / élément
  • format: "uuid"
dataset.selection.platformsarrayRequis dans le parent
  • minItems: 1
  • maxItems: 4
dataset.selection.platforms[]stringFacultatif / élément
  • enum: ["facebook","instagram","threads","youtube"]
dataset.selection.startDatestringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.endDatestringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.timezonestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.accountsarrayRequis dans le parent
  • maxItems: 50
dataset.accounts[]objectFacultatif / élément
  • additionalProperties: false
dataset.accounts[].idstringRequis dans le parent
  • format: "uuid"
dataset.accounts[].workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.accounts[].platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.accounts[].namestringRequis dans le parent
  • maxLength: 500
dataset.accounts[].connectionStatusstringFacultatif / élément
  • maxLength: 100
dataset.accounts[].healthMessagestringFacultatif / élément
  • maxLength: 1000
dataset.postsarrayRequis dans le parent
  • maxItems: 1000
dataset.posts[]objectFacultatif / élément
  • additionalProperties: false
dataset.posts[].social_post_idstringRequis dans le parent
  • format: "uuid"
dataset.posts[].workspace_idstringRequis dans le parent
  • format: "uuid"
dataset.posts[].social_account_idstringRequis dans le parent
  • format: "uuid"
dataset.posts[].platformstringRequis dans le parent
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provider_post_idstringRequis dans le parent
  • minLength: 1
  • maxLength: 512
dataset.posts[].provider_published_atstring | nullRequis dans le parent—
dataset.posts[].provider_published_atanyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
dataset.posts[].content_formatstring | nullRequis dans le parent—
dataset.posts[].content_formatanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.posts[].content_formatanyOf 2nullRequis dans le parent—
dataset.posts[].permalinkstring | nullRequis dans le parent—
dataset.posts[].permalinkanyOf 1stringRequis dans le parent
  • format: "uri"
  • maxLength: 2048
dataset.posts[].permalinkanyOf 2nullRequis dans le parent—
dataset.posts[].provider_statestringRequis dans le parent
  • enum: ["available","deleted","unavailable","unknown"]
dataset.posts[].first_seen_atstringRequis dans le parent
  • 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_atstringRequis dans le parent
  • 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 | nullRequis dans le parent—
dataset.posts[].scheduled_post_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.posts[].scheduled_post_idanyOf 2nullRequis dans le parent—
dataset.posts[].provenanceobjectRequis dans le parent
  • additionalProperties: false
dataset.posts[].provenance.providerstringRequis dans le parent
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provenance.sourcestringRequis dans le parent
  • enum: ["provider_api","provider_webhook","publication_outcome","backfill"]
dataset.posts[].provenance.source_job_idstring | nullRequis dans le parent—
dataset.posts[].provenance.source_job_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.posts[].provenance.source_job_idanyOf 2nullRequis dans le parent—
dataset.posts[].provenance.provider_api_versionstring | nullRequis dans le parent—
dataset.posts[].provenance.provider_api_versionanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.provider_api_versionanyOf 2nullRequis dans le parent—
dataset.posts[].provenance.schema_versionstring | nullRequis dans le parent—
dataset.posts[].provenance.schema_versionanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.schema_versionanyOf 2nullRequis dans le parent—
dataset.sourcesarrayRequis dans le parent
  • maxItems: 30
dataset.sources[]objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].accountIdstringRequis dans le parent
  • format: "uuid"
dataset.sources[].platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].resourceKindstringRequis dans le parent
  • enum: ["account","post"]
dataset.sources[].providerResourceIdstring | nullRequis dans le parent—
dataset.sources[].providerResourceIdanyOf 1stringRequis dans le parent
  • maxLength: 512
dataset.sources[].providerResourceIdanyOf 2nullRequis dans le parent—
dataset.sources[].requestIdstring | nullRequis dans le parent—
dataset.sources[].requestIdanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.sources[].requestIdanyOf 2nullRequis dans le parent—
dataset.sources[].statusstringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].reasonstring | nullRequis dans le parent—
dataset.sources[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 8000
dataset.sources[].reasonanyOf 2nullRequis dans le parent—
dataset.sources[].envelopeobject | nullRequis dans le parent—
dataset.sources[].envelopeanyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.contract_versionanyOf 1stringRequis dans le parent
  • enum: ["provider-insights/v1"]
dataset.sources[].envelope.request_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.sources[].envelope.platformanyOf 1stringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].envelope.resourceanyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.resource.kindanyOf 1stringRequis dans le parent
  • enum: ["account","post"]
dataset.sources[].envelope.resource.social_account_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.sources[].envelope.resource.provider_resource_idanyOf 1string | nullRequis dans le parent—
dataset.sources[].envelope.provider_api_versionanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.sources[].envelope.fetched_atanyOf 1stringRequis dans le parent
  • 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 1stringRequis dans le parent
  • enum: ["available","partial","unavailable"]
dataset.sources[].envelope.availabilityanyOf 1arrayRequis dans le parent
  • minItems: 1
  • maxItems: 64
dataset.sources[].envelope.availability[]anyOf 1objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].envelope.availability[].scopeanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].statusanyOf 1stringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed"]
dataset.sources[].envelope.availability[].reasonanyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 2000
dataset.sources[].envelope.availability[].diagnosticsanyOf 1objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.http_statusanyOf 1integerRequis dans le parent
  • minimum: 0
  • maximum: 599
dataset.sources[].envelope.availability[].diagnostics.failed_stepanyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1number | stringFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 1numberFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 2stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1number | stringFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 1numberFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 2stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_typeanyOf 1stringFacultatif / élément
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.is_transientanyOf 1booleanFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_request_idanyOf 1stringFacultatif / élément
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.accessanyOf 1objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.access.login_modeanyOf 1stringRequis dans le parent
  • enum: ["instagram_login","facebook_login","threads_user"]
dataset.sources[].envelope.availability[].diagnostics.access.provider_hostanyOf 1stringRequis dans le parent
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.access.required_permissionsanyOf 1arrayRequis dans le parent
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.required_permissions[]anyOf 1stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissionsanyOf 1arrayRequis dans le parent
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissions[]anyOf 1stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1array | nullRequis dans le parent—
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 1arrayRequis dans le parent
  • maxItems: 128
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissions[]anyOf 1 / anyOf 1stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 2nullRequis dans le parent—
dataset.sources[].envelope.availability[].diagnostics.access.grant_evidenceanyOf 1stringRequis dans le parent
  • enum: ["exact","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.permission_stateanyOf 1stringRequis dans le parent
  • enum: ["granted","missing","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.grant_observed_atanyOf 1stringFacultatif / élément
  • 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 1stringRequis dans le parent
  • enum: ["unverified"]
dataset.sources[].envelope.availability[].diagnostics.access.next_stepanyOf 1stringRequis dans le parent
  • maxLength: 1500
dataset.sources[].envelope.provider_dataanyOf 1any JSON value | nullRequis dans le parent—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 1any JSON valueRequis dans le parent—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 2nullRequis dans le parent—
dataset.sources[].envelope.requested_date_rangeanyOf 1object | nullRequis dans le parent—
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.requested_date_range.start_dateanyOf 1 / anyOf 1stringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_range.end_dateanyOf 1 / anyOf 1stringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 2nullRequis dans le parent—
dataset.sources[].envelope.cacheanyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.cache.authoritativeanyOf 1booleanRequis dans le parent
  • enum: [false]
dataset.sources[].envelope.cache.statusanyOf 1stringRequis dans le parent
  • enum: ["stored","hit","bypassed"]
dataset.sources[].envelope.cache.expires_atanyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
dataset.sources[].metricsarrayRequis dans le parent
  • maxItems: 5000
dataset.sources[].metrics[]objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].metrics[].keystringRequis dans le parent
  • minLength: 1
  • maxLength: 150
dataset.sources[].metrics[].definitionstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.sources[].metrics[].unitstringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.sources[].metrics[].grainstringRequis dans le parent
  • enum: ["post","account"]
dataset.sources[].metrics[].valuenumber | nullRequis dans le parent—
dataset.sources[].metrics[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].metrics[].reasonstring | nullRequis dans le parent—
dataset.sources[].metrics[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 4000
dataset.sources[].metrics[].reasonanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurementobjectRequis dans le parent
  • additionalProperties: false
dataset.sources[].metrics[].measurement.kindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.sources[].metrics[].measurement.periodstring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.periodanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.periodanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurement.startstring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.startanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.startanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurement.endstring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.endanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.endanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurement.timezonestring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.timezoneanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.timezoneanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].sourcePathstringRequis dans le parent
  • minLength: 1
  • maxLength: 2000
dataset.coverageobjectRequis dans le parent
  • additionalProperties: false
dataset.coverage.populationstringRequis dans le parent
  • enum: ["discovered_posts"]
dataset.coverage.postsCompletebooleanRequis dans le parent—
dataset.coverage.nextCursorstring | nullRequis dans le parent—
dataset.coverage.nextCursoranyOf 1stringRequis dans le parent
  • maxLength: 16384
dataset.coverage.nextCursoranyOf 2nullRequis dans le parent—
dataset.coverage.postLimitintegerRequis dans le parent
  • minimum: 0
  • maximum: 1000
dataset.coverage.postInsightsLimitintegerRequis dans le parent
  • minimum: 0
  • maximum: 20
dataset.coverage.omittedPostInsightsintegerRequis dans le parent
  • minimum: 0
  • maximum: 9007199254740991
dataset.coverage.notesarrayRequis dans le parent
  • maxItems: 50
dataset.coverage.notes[]stringFacultatif / élément
  • maxLength: 2000
dataset.customMetricsarrayRequis dans le parent
  • maxItems: 50
dataset.customMetrics[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].idstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].namestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].versionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].expressionstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].definitionstringRequis dans le parent
  • maxLength: 1000
dataset.customMetrics[].unitstringRequis dans le parent
  • maxLength: 100
dataset.customMetrics[].grainstringRequis dans le parent
  • enum: ["post","account","compatible_sum"]
dataset.customMetrics[].roundingobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].rounding.decimalPlacesintegerRequis dans le parent
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].rounding.modestringRequis dans le parent
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].inputsarrayRequis dans le parent
  • maxItems: 5000
dataset.customMetrics[].inputs[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].inputs[].requestIdstring | nullRequis dans le parent—
dataset.customMetrics[].inputs[].requestIdanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].inputs[].requestIdanyOf 2nullRequis dans le parent—
dataset.customMetrics[].inputs[].sourcePathstringRequis dans le parent
  • maxLength: 2000
dataset.customMetrics[].inputs[].valuenumber | nullRequis dans le parent—
dataset.customMetrics[].inputs[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].valuenumber | nullRequis dans le parent—
dataset.customMetrics[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].reasonstring | nullRequis dans le parent—
dataset.customMetrics[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 4000
dataset.customMetrics[].reasonanyOf 2nullRequis dans le parent—
dataset.customMetrics[].formulaobjectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].formula.contractVersionstringRequis dans le parent
  • enum: ["analytics-metric/v1"]
dataset.customMetrics[].formula.idstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].formula.workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].formula.namestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.versionintegerRequis dans le parent
  • minimum: 1
  • maximum: 1000000
dataset.customMetrics[].formula.expressionstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].formula.fieldsarrayRequis dans le parent
  • maxItems: 32
dataset.customMetrics[].formula.fields[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].identifierstringRequis dans le parent
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].formula.fields[].selectorobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].selector.platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].formula.fields[].selector.keystringRequis dans le parent
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].formula.fields[].selector.definitionstringRequis dans le parent
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].formula.fields[].selector.unitstringRequis dans le parent
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].formula.fields[].selector.grainstringRequis dans le parent
  • enum: ["post","account"]
dataset.customMetrics[].formula.fields[].selector.measurementKindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].formula.fields[].selector.nativePeriodstring | nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 2nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].selector.timezonestring | nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 2nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].aggregationstringRequis dans le parent
  • enum: ["single","sum"]
dataset.customMetrics[].formula.roundingobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].formula.rounding.decimalPlacesintegerRequis dans le parent
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].formula.rounding.modestringRequis dans le parent
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].calculationobjectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].calculation.contractVersionstringRequis dans le parent
  • enum: ["analytics-metric/v1"]
dataset.customMetrics[].calculation.workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.datasetIdstringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.formulaIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.namestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.versionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].calculation.expressionstringRequis dans le parent
  • maxLength: 1000
dataset.customMetrics[].calculation.roundingobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].calculation.rounding.decimalPlacesintegerRequis dans le parent
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].calculation.rounding.modestringRequis dans le parent
  • enum: ["half_away_from_zero"]
dataset.customMetrics[].calculation.valuenumber | nullRequis dans le parent—
dataset.customMetrics[].calculation.unitstringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.customMetrics[].calculation.statusstringRequis dans le parent
  • enum: ["available","not_returned"]
dataset.customMetrics[].calculation.codestringRequis dans le parent
  • enum: ["ok","invalid_expression","missing_input","incompatible_input","zero_denominator","numeric_limit","workspace_mismatch","ambiguous_input","unknown_exclusion"]
dataset.customMetrics[].calculation.reasonstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.reasonanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.reasonanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.excludedInputIdsarrayRequis dans le parent
  • maxItems: 5000
dataset.customMetrics[].calculation.excludedInputIds[]stringFacultatif / élément
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputsarrayRequis dans le parent
  • maxItems: 5000
dataset.customMetrics[].calculation.inputs[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].inputIdstringRequis dans le parent
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputs[].selectorobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].selector.platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].calculation.inputs[].selector.keystringRequis dans le parent
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].calculation.inputs[].selector.definitionstringRequis dans le parent
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.inputs[].selector.unitstringRequis dans le parent
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].calculation.inputs[].selector.grainstringRequis dans le parent
  • enum: ["post","account"]
dataset.customMetrics[].calculation.inputs[].selector.measurementKindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].selector.timezonestring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].valuenumber | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].calculation.inputs[].reasonstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 8000
dataset.customMetrics[].calculation.inputs[].reasonanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurementobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].measurement.kindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].measurement.periodstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.startstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.endstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.timezonestring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].requestIdstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].sourcePathstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].calculation.inputs[].accountIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].providerResourceIdstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 512
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].fetchedAtstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].identifierstringRequis dans le parent
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].calculation.inputs[].includedbooleanRequis dans le parent—
formatstringRequis dans le parent
  • enum: ["csv","xlsx","pdf"]
localestringFacultatif / élément
  • enum: ["en","zh-Hant"]
titlestringFacultatif / élément
  • maxLength: 160
JSON Schema complet
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "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
    },
    "format": {
      "type": "string",
      "enum": [
        "csv",
        "xlsx",
        "pdf"
      ]
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "zh-Hant"
      ]
    },
    "title": {
      "type": "string",
      "maxLength": 160
    }
  },
  "required": [
    "workspace_id",
    "dataset",
    "format"
  ],
  "additionalProperties": false
}

Sortie structurée

Ce schéma décrit structuredContent dans un résultat d’outil réussi. La réponse MCP contient aussi content et peut définir isError en cas d’échec. Pour publier, lisez le résultat final de la publication plutôt que de considérer une requête acceptée ou une réponse texte comme une confirmation. L’opération API liée explique les autorisations et règles de nouvelle tentative.

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Sortie structurée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
contract_versionstringRequis dans le parent
  • const: "analytics-render-input/v1"
kindstringRequis dans le parent
  • const: "standard"
datasetobjectRequis dans le parent
  • additionalProperties: false
dataset.contractVersionstringRequis dans le parent
  • const: "analytics-report/v1"
dataset.idstringRequis dans le parent
  • format: "uuid"
dataset.reviewedAtstringRequis dans le parent
  • 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.selectionobjectRequis dans le parent
  • additionalProperties: false
dataset.selection.workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.selection.accountIdsarrayRequis dans le parent
  • minItems: 1
  • maxItems: 50
dataset.selection.accountIds[]stringFacultatif / élément
  • format: "uuid"
dataset.selection.platformsarrayRequis dans le parent
  • minItems: 1
  • maxItems: 4
dataset.selection.platforms[]stringFacultatif / élément
  • enum: ["facebook","instagram","threads","youtube"]
dataset.selection.startDatestringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.endDatestringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.timezonestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.accountsarrayRequis dans le parent
  • maxItems: 50
dataset.accounts[]objectFacultatif / élément
  • additionalProperties: false
dataset.accounts[].idstringRequis dans le parent
  • format: "uuid"
dataset.accounts[].workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.accounts[].platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.accounts[].namestringRequis dans le parent
  • maxLength: 500
dataset.accounts[].connectionStatusstringFacultatif / élément
  • maxLength: 100
dataset.accounts[].healthMessagestringFacultatif / élément
  • maxLength: 1000
dataset.postsarrayRequis dans le parent
  • maxItems: 1000
dataset.posts[]objectFacultatif / élément
  • additionalProperties: false
dataset.posts[].social_post_idstringRequis dans le parent
  • format: "uuid"
dataset.posts[].workspace_idstringRequis dans le parent
  • format: "uuid"
dataset.posts[].social_account_idstringRequis dans le parent
  • format: "uuid"
dataset.posts[].platformstringRequis dans le parent
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provider_post_idstringRequis dans le parent
  • minLength: 1
  • maxLength: 512
dataset.posts[].provider_published_atstring | nullRequis dans le parent—
dataset.posts[].provider_published_atanyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
dataset.posts[].content_formatstring | nullRequis dans le parent—
dataset.posts[].content_formatanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.posts[].content_formatanyOf 2nullRequis dans le parent—
dataset.posts[].permalinkstring | nullRequis dans le parent—
dataset.posts[].permalinkanyOf 1stringRequis dans le parent
  • format: "uri"
  • maxLength: 2048
dataset.posts[].permalinkanyOf 2nullRequis dans le parent—
dataset.posts[].provider_statestringRequis dans le parent
  • enum: ["available","deleted","unavailable","unknown"]
dataset.posts[].first_seen_atstringRequis dans le parent
  • 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_atstringRequis dans le parent
  • 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 | nullRequis dans le parent—
dataset.posts[].scheduled_post_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.posts[].scheduled_post_idanyOf 2nullRequis dans le parent—
dataset.posts[].provenanceobjectRequis dans le parent
  • additionalProperties: false
dataset.posts[].provenance.providerstringRequis dans le parent
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provenance.sourcestringRequis dans le parent
  • enum: ["provider_api","provider_webhook","publication_outcome","backfill"]
dataset.posts[].provenance.source_job_idstring | nullRequis dans le parent—
dataset.posts[].provenance.source_job_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.posts[].provenance.source_job_idanyOf 2nullRequis dans le parent—
dataset.posts[].provenance.provider_api_versionstring | nullRequis dans le parent—
dataset.posts[].provenance.provider_api_versionanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.provider_api_versionanyOf 2nullRequis dans le parent—
dataset.posts[].provenance.schema_versionstring | nullRequis dans le parent—
dataset.posts[].provenance.schema_versionanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.schema_versionanyOf 2nullRequis dans le parent—
dataset.sourcesarrayRequis dans le parent
  • maxItems: 30
dataset.sources[]objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].accountIdstringRequis dans le parent
  • format: "uuid"
dataset.sources[].platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].resourceKindstringRequis dans le parent
  • enum: ["account","post"]
dataset.sources[].providerResourceIdstring | nullRequis dans le parent—
dataset.sources[].providerResourceIdanyOf 1stringRequis dans le parent
  • maxLength: 512
dataset.sources[].providerResourceIdanyOf 2nullRequis dans le parent—
dataset.sources[].requestIdstring | nullRequis dans le parent—
dataset.sources[].requestIdanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.sources[].requestIdanyOf 2nullRequis dans le parent—
dataset.sources[].statusstringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].reasonstring | nullRequis dans le parent—
dataset.sources[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 8000
dataset.sources[].reasonanyOf 2nullRequis dans le parent—
dataset.sources[].envelopeobject | nullRequis dans le parent—
dataset.sources[].envelopeanyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.contract_versionanyOf 1stringRequis dans le parent
  • const: "provider-insights/v1"
dataset.sources[].envelope.request_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.sources[].envelope.platformanyOf 1stringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].envelope.resourceanyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.resource.kindanyOf 1stringRequis dans le parent
  • enum: ["account","post"]
dataset.sources[].envelope.resource.social_account_idanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.sources[].envelope.resource.provider_resource_idanyOf 1string | nullRequis dans le parent—
dataset.sources[].envelope.provider_api_versionanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.sources[].envelope.fetched_atanyOf 1stringRequis dans le parent
  • 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 1stringRequis dans le parent
  • enum: ["available","partial","unavailable"]
dataset.sources[].envelope.availabilityanyOf 1arrayRequis dans le parent
  • minItems: 1
  • maxItems: 64
dataset.sources[].envelope.availability[]anyOf 1objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].envelope.availability[].scopeanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].statusanyOf 1stringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed"]
dataset.sources[].envelope.availability[].reasonanyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 2000
dataset.sources[].envelope.availability[].diagnosticsanyOf 1objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.http_statusanyOf 1integerRequis dans le parent
  • minimum: 0
  • maximum: 599
dataset.sources[].envelope.availability[].diagnostics.failed_stepanyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1number | stringFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 1numberFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 2stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1number | stringFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 1numberFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 2stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_typeanyOf 1stringFacultatif / élément
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.is_transientanyOf 1booleanFacultatif / élément—
dataset.sources[].envelope.availability[].diagnostics.provider_request_idanyOf 1stringFacultatif / élément
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.accessanyOf 1objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.access.login_modeanyOf 1stringRequis dans le parent
  • enum: ["instagram_login","facebook_login","threads_user"]
dataset.sources[].envelope.availability[].diagnostics.access.provider_hostanyOf 1stringRequis dans le parent
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.access.required_permissionsanyOf 1arrayRequis dans le parent
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.required_permissions[]anyOf 1stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissionsanyOf 1arrayRequis dans le parent
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissions[]anyOf 1stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1array | nullRequis dans le parent—
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 1arrayRequis dans le parent
  • maxItems: 128
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissions[]anyOf 1 / anyOf 1stringFacultatif / élément
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 2nullRequis dans le parent—
dataset.sources[].envelope.availability[].diagnostics.access.grant_evidenceanyOf 1stringRequis dans le parent
  • enum: ["exact","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.permission_stateanyOf 1stringRequis dans le parent
  • enum: ["granted","missing","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.grant_observed_atanyOf 1stringFacultatif / élément
  • 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 1stringRequis dans le parent
  • const: "unverified"
dataset.sources[].envelope.availability[].diagnostics.access.next_stepanyOf 1stringRequis dans le parent
  • maxLength: 1500
dataset.sources[].envelope.provider_dataanyOf 1any JSON value | nullRequis dans le parent—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 1any JSON valueRequis dans le parent—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 2nullRequis dans le parent—
dataset.sources[].envelope.requested_date_rangeanyOf 1object | nullRequis dans le parent—
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.requested_date_range.start_dateanyOf 1 / anyOf 1stringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_range.end_dateanyOf 1 / anyOf 1stringRequis dans le parent
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 2nullRequis dans le parent—
dataset.sources[].envelope.cacheanyOf 1objectRequis dans le parent
  • additionalProperties: false
dataset.sources[].envelope.cache.authoritativeanyOf 1booleanRequis dans le parent
  • const: false
dataset.sources[].envelope.cache.statusanyOf 1stringRequis dans le parent
  • enum: ["stored","hit","bypassed"]
dataset.sources[].envelope.cache.expires_atanyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
dataset.sources[].metricsarrayRequis dans le parent
  • maxItems: 5000
dataset.sources[].metrics[]objectFacultatif / élément
  • additionalProperties: false
dataset.sources[].metrics[].keystringRequis dans le parent
  • minLength: 1
  • maxLength: 150
dataset.sources[].metrics[].definitionstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.sources[].metrics[].unitstringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.sources[].metrics[].grainstringRequis dans le parent
  • enum: ["post","account"]
dataset.sources[].metrics[].valuenumber | nullRequis dans le parent—
dataset.sources[].metrics[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].metrics[].reasonstring | nullRequis dans le parent—
dataset.sources[].metrics[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 4000
dataset.sources[].metrics[].reasonanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurementobjectRequis dans le parent
  • additionalProperties: false
dataset.sources[].metrics[].measurement.kindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.sources[].metrics[].measurement.periodstring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.periodanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.periodanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurement.startstring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.startanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.startanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurement.endstring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.endanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.endanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].measurement.timezonestring | nullRequis dans le parent—
dataset.sources[].metrics[].measurement.timezoneanyOf 1stringRequis dans le parent
  • maxLength: 100
dataset.sources[].metrics[].measurement.timezoneanyOf 2nullRequis dans le parent—
dataset.sources[].metrics[].sourcePathstringRequis dans le parent
  • minLength: 1
  • maxLength: 2000
dataset.coverageobjectRequis dans le parent
  • additionalProperties: false
dataset.coverage.populationstringRequis dans le parent
  • const: "discovered_posts"
dataset.coverage.postsCompletebooleanRequis dans le parent—
dataset.coverage.nextCursorstring | nullRequis dans le parent—
dataset.coverage.nextCursoranyOf 1stringRequis dans le parent
  • maxLength: 16384
dataset.coverage.nextCursoranyOf 2nullRequis dans le parent—
dataset.coverage.postLimitintegerRequis dans le parent
  • minimum: 0
  • maximum: 1000
dataset.coverage.postInsightsLimitintegerRequis dans le parent
  • minimum: 0
  • maximum: 20
dataset.coverage.omittedPostInsightsintegerRequis dans le parent
  • minimum: 0
  • maximum: 9007199254740991
dataset.coverage.notesarrayRequis dans le parent
  • maxItems: 50
dataset.coverage.notes[]stringFacultatif / élément
  • maxLength: 2000
dataset.customMetricsarrayRequis dans le parent
  • maxItems: 50
dataset.customMetrics[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].idstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].namestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].versionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].expressionstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].definitionstringRequis dans le parent
  • maxLength: 1000
dataset.customMetrics[].unitstringRequis dans le parent
  • maxLength: 100
dataset.customMetrics[].grainstringRequis dans le parent
  • enum: ["post","account","compatible_sum"]
dataset.customMetrics[].roundingobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].rounding.decimalPlacesintegerRequis dans le parent
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].rounding.modestringRequis dans le parent
  • const: "half_away_from_zero"
dataset.customMetrics[].inputsarrayRequis dans le parent
  • maxItems: 5000
dataset.customMetrics[].inputs[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].inputs[].requestIdstring | nullRequis dans le parent—
dataset.customMetrics[].inputs[].requestIdanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].inputs[].requestIdanyOf 2nullRequis dans le parent—
dataset.customMetrics[].inputs[].sourcePathstringRequis dans le parent
  • maxLength: 2000
dataset.customMetrics[].inputs[].valuenumber | nullRequis dans le parent—
dataset.customMetrics[].inputs[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].valuenumber | nullRequis dans le parent—
dataset.customMetrics[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].reasonstring | nullRequis dans le parent—
dataset.customMetrics[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 4000
dataset.customMetrics[].reasonanyOf 2nullRequis dans le parent—
dataset.customMetrics[].formulaobjectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].formula.contractVersionstringRequis dans le parent
  • const: "analytics-metric/v1"
dataset.customMetrics[].formula.idstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].formula.workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].formula.namestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.versionintegerRequis dans le parent
  • minimum: 1
  • maximum: 1000000
dataset.customMetrics[].formula.expressionstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].formula.fieldsarrayRequis dans le parent
  • maxItems: 32
dataset.customMetrics[].formula.fields[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].identifierstringRequis dans le parent
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].formula.fields[].selectorobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].selector.platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].formula.fields[].selector.keystringRequis dans le parent
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].formula.fields[].selector.definitionstringRequis dans le parent
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].formula.fields[].selector.unitstringRequis dans le parent
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].formula.fields[].selector.grainstringRequis dans le parent
  • enum: ["post","account"]
dataset.customMetrics[].formula.fields[].selector.measurementKindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].formula.fields[].selector.nativePeriodstring | nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 2nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].selector.timezonestring | nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 2nullRequis dans le parent—
dataset.customMetrics[].formula.fields[].aggregationstringRequis dans le parent
  • enum: ["single","sum"]
dataset.customMetrics[].formula.roundingobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].formula.rounding.decimalPlacesintegerRequis dans le parent
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].formula.rounding.modestringRequis dans le parent
  • const: "half_away_from_zero"
dataset.customMetrics[].calculationobjectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].calculation.contractVersionstringRequis dans le parent
  • const: "analytics-metric/v1"
dataset.customMetrics[].calculation.workspaceIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.datasetIdstringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.formulaIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.namestringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.versionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].calculation.expressionstringRequis dans le parent
  • maxLength: 1000
dataset.customMetrics[].calculation.roundingobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].calculation.rounding.decimalPlacesintegerRequis dans le parent
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].calculation.rounding.modestringRequis dans le parent
  • const: "half_away_from_zero"
dataset.customMetrics[].calculation.valuenumber | nullRequis dans le parent—
dataset.customMetrics[].calculation.unitstringRequis dans le parent
  • minLength: 1
  • maxLength: 200
dataset.customMetrics[].calculation.statusstringRequis dans le parent
  • enum: ["available","not_returned"]
dataset.customMetrics[].calculation.codestringRequis dans le parent
  • enum: ["ok","invalid_expression","missing_input","incompatible_input","zero_denominator","numeric_limit","workspace_mismatch","ambiguous_input","unknown_exclusion"]
dataset.customMetrics[].calculation.reasonstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.reasonanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.reasonanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.excludedInputIdsarrayRequis dans le parent
  • maxItems: 5000
dataset.customMetrics[].calculation.excludedInputIds[]stringFacultatif / élément
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputsarrayRequis dans le parent
  • maxItems: 5000
dataset.customMetrics[].calculation.inputs[]objectFacultatif / élément
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].inputIdstringRequis dans le parent
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputs[].selectorobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].selector.platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].calculation.inputs[].selector.keystringRequis dans le parent
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].calculation.inputs[].selector.definitionstringRequis dans le parent
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.inputs[].selector.unitstringRequis dans le parent
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].calculation.inputs[].selector.grainstringRequis dans le parent
  • enum: ["post","account"]
dataset.customMetrics[].calculation.inputs[].selector.measurementKindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].selector.timezonestring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].valuenumber | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].availabilitystringRequis dans le parent
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].calculation.inputs[].reasonstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].reasonanyOf 1stringRequis dans le parent
  • maxLength: 8000
dataset.customMetrics[].calculation.inputs[].reasonanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurementobjectRequis dans le parent
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].measurement.kindstringRequis dans le parent
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].measurement.periodstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.startstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.endstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.timezonestring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].requestIdstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 1stringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].sourcePathstringRequis dans le parent
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].calculation.inputs[].accountIdstringRequis dans le parent
  • format: "uuid"
dataset.customMetrics[].calculation.inputs[].providerResourceIdstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 512
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].fetchedAtstring | nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
dataset.customMetrics[].calculation.inputs[].identifierstringRequis dans le parent
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].calculation.inputs[].includedbooleanRequis dans le parent—
formatstringRequis dans le parent
  • enum: ["csv","xlsx","pdf"]
localestringRequis dans le parent
  • enum: ["en","zh-Hant"]
titlestringFacultatif / élément
  • maxLength: 160
JSON Schema complet
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "analytics-render-input/v1"
    },
    "kind": {
      "type": "string",
      "const": "standard"
    },
    "dataset": {
      "type": "object",
      "properties": {
        "contractVersion": {
          "type": "string",
          "const": "analytics-report/v1"
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "reviewedAt": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "selection": {
          "type": "object",
          "properties": {
            "workspaceId": {
              "type": "string",
              "format": "uuid"
            },
            "accountIds": {
              "minItems": 1,
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            },
            "platforms": {
              "minItems": 1,
              "maxItems": 4,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              }
            },
            "startDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "endDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "timezone": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "required": [
            "workspaceId",
            "accountIds",
            "platforms",
            "startDate",
            "endDate",
            "timezone"
          ],
          "additionalProperties": false
        },
        "accounts": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "workspaceId": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "connectionStatus": {
                "type": "string",
                "maxLength": 100
              },
              "healthMessage": {
                "type": "string",
                "maxLength": 1000
              }
            },
            "required": [
              "id",
              "workspaceId",
              "platform",
              "name"
            ],
            "additionalProperties": false
          }
        },
        "posts": {
          "maxItems": 1000,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "social_post_id": {
                "type": "string",
                "format": "uuid"
              },
              "workspace_id": {
                "type": "string",
                "format": "uuid"
              },
              "social_account_id": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "instagram",
                  "facebook",
                  "threads",
                  "youtube"
                ]
              },
              "provider_post_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "provider_published_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "content_format": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "permalink": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 2048,
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provider_state": {
                "type": "string",
                "enum": [
                  "available",
                  "deleted",
                  "unavailable",
                  "unknown"
                ]
              },
              "first_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "last_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "scheduled_post_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provenance": {
                "type": "object",
                "properties": {
                  "provider": {
                    "type": "string",
                    "enum": [
                      "instagram",
                      "facebook",
                      "threads",
                      "youtube"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "provider_api",
                      "provider_webhook",
                      "publication_outcome",
                      "backfill"
                    ]
                  },
                  "source_job_id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uuid"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "provider_api_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "schema_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "provider",
                  "source",
                  "source_job_id",
                  "provider_api_version",
                  "schema_version"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "social_post_id",
              "workspace_id",
              "social_account_id",
              "platform",
              "provider_post_id",
              "provider_published_at",
              "content_format",
              "permalink",
              "provider_state",
              "first_seen_at",
              "last_seen_at",
              "scheduled_post_id",
              "provenance"
            ],
            "additionalProperties": false
          }
        },
        "sources": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "accountId": {
                "type": "string",
                "format": "uuid"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "resourceKind": {
                "type": "string",
                "enum": [
                  "account",
                  "post"
                ]
              },
              "providerResourceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "requestId": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 8000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "envelope": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "contract_version": {
                        "type": "string",
                        "const": "provider-insights/v1"
                      },
                      "request_id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "platform": {
                        "type": "string",
                        "enum": [
                          "facebook",
                          "instagram",
                          "threads",
                          "youtube"
                        ]
                      },
                      "resource": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "enum": [
                              "account",
                              "post"
                            ]
                          },
                          "social_account_id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "provider_resource_id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "social_account_id",
                          "provider_resource_id"
                        ],
                        "additionalProperties": false
                      },
                      "provider_api_version": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "fetched_at": {
                        "type": "string",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                        "format": "date-time"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "available",
                          "partial",
                          "unavailable"
                        ]
                      },
                      "availability": {
                        "minItems": 1,
                        "maxItems": 64,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "scope": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            },
                            "status": {
                              "type": "string",
                              "enum": [
                                "available",
                                "partial",
                                "not_returned",
                                "unsupported",
                                "permission_required",
                                "threshold_not_met",
                                "no_data",
                                "failed"
                              ]
                            },
                            "reason": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 2000
                            },
                            "diagnostics": {
                              "type": "object",
                              "properties": {
                                "http_status": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 599
                                },
                                "failed_step": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 200
                                },
                                "provider_code": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_subcode": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_type": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "is_transient": {
                                  "type": "boolean"
                                },
                                "provider_request_id": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "access": {
                                  "type": "object",
                                  "properties": {
                                    "login_mode": {
                                      "type": "string",
                                      "enum": [
                                        "instagram_login",
                                        "facebook_login",
                                        "threads_user"
                                      ]
                                    },
                                    "provider_host": {
                                      "type": "string",
                                      "maxLength": 200
                                    },
                                    "required_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "current_connection_policy_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "granted_permissions": {
                                      "anyOf": [
                                        {
                                          "maxItems": 128,
                                          "type": "array",
                                          "items": {
                                            "type": "string",
                                            "maxLength": 100
                                          }
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "grant_evidence": {
                                      "type": "string",
                                      "enum": [
                                        "exact",
                                        "unknown"
                                      ]
                                    },
                                    "permission_state": {
                                      "type": "string",
                                      "enum": [
                                        "granted",
                                        "missing",
                                        "unknown"
                                      ]
                                    },
                                    "grant_observed_at": {
                                      "type": "string",
                                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                                      "format": "date-time"
                                    },
                                    "app_access": {
                                      "type": "string",
                                      "const": "unverified"
                                    },
                                    "next_step": {
                                      "type": "string",
                                      "maxLength": 1500
                                    }
                                  },
                                  "required": [
                                    "login_mode",
                                    "provider_host",
                                    "required_permissions",
                                    "current_connection_policy_permissions",
                                    "granted_permissions",
                                    "grant_evidence",
                                    "permission_state",
                                    "app_access",
                                    "next_step"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "http_status"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "scope",
                            "status"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "provider_data": {
                        "anyOf": [
                          {},
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "requested_date_range": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "start_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              },
                              "end_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              }
                            },
                            "required": [
                              "start_date",
                              "end_date"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "cache": {
                        "type": "object",
                        "properties": {
                          "authoritative": {
                            "type": "boolean",
                            "const": false
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "stored",
                              "hit",
                              "bypassed"
                            ]
                          },
                          "expires_at": {
                            "type": "string",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "authoritative",
                          "status",
                          "expires_at"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "contract_version",
                      "request_id",
                      "platform",
                      "resource",
                      "provider_api_version",
                      "fetched_at",
                      "status",
                      "availability",
                      "provider_data",
                      "requested_date_range",
                      "cache"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metrics": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 150
                    },
                    "definition": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "unit": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "grain": {
                      "type": "string",
                      "enum": [
                        "post",
                        "account"
                      ]
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    },
                    "reason": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 4000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "measurement": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "lifetime",
                            "snapshot",
                            "period",
                            "unknown"
                          ]
                        },
                        "period": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "start": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "end": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "timezone": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "period",
                        "start",
                        "end",
                        "timezone"
                      ],
                      "additionalProperties": false
                    },
                    "sourcePath": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 2000
                    }
                  },
                  "required": [
                    "key",
                    "definition",
                    "unit",
                    "grain",
                    "value",
                    "availability",
                    "reason",
                    "measurement",
                    "sourcePath"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "accountId",
              "platform",
              "resourceKind",
              "providerResourceId",
              "requestId",
              "status",
              "reason",
              "envelope",
              "metrics"
            ],
            "additionalProperties": false
          }
        },
        "coverage": {
          "type": "object",
          "properties": {
            "population": {
              "type": "string",
              "const": "discovered_posts"
            },
            "postsComplete": {
              "type": "boolean"
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 16384
                },
                {
                  "type": "null"
                }
              ]
            },
            "postLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            },
            "postInsightsLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 20
            },
            "omittedPostInsights": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "notes": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 2000
              }
            }
          },
          "required": [
            "population",
            "postsComplete",
            "nextCursor",
            "postLimit",
            "postInsightsLimit",
            "omittedPostInsights",
            "notes"
          ],
          "additionalProperties": false
        },
        "customMetrics": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              },
              "version": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "expression": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1000
              },
              "definition": {
                "type": "string",
                "maxLength": 1000
              },
              "unit": {
                "type": "string",
                "maxLength": 100
              },
              "grain": {
                "type": "string",
                "enum": [
                  "post",
                  "account",
                  "compatible_sum"
                ]
              },
              "rounding": {
                "type": "object",
                "properties": {
                  "decimalPlaces": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 8
                  },
                  "mode": {
                    "type": "string",
                    "const": "half_away_from_zero"
                  }
                },
                "required": [
                  "decimalPlaces",
                  "mode"
                ],
                "additionalProperties": false
              },
              "inputs": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "requestId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uuid"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sourcePath": {
                      "type": "string",
                      "maxLength": 2000
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    }
                  },
                  "required": [
                    "requestId",
                    "sourcePath",
                    "value",
                    "availability"
                  ],
                  "additionalProperties": false
                }
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "availability": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "formula": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "const": "analytics-metric/v1"
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "expression": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000
                  },
                  "fields": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "aggregation": {
                          "type": "string",
                          "enum": [
                            "single",
                            "sum"
                          ]
                        }
                      },
                      "required": [
                        "identifier",
                        "selector",
                        "aggregation"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "const": "half_away_from_zero"
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "contractVersion",
                  "id",
                  "workspaceId",
                  "name",
                  "version",
                  "expression",
                  "fields",
                  "rounding"
                ],
                "additionalProperties": false
              },
              "calculation": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "const": "analytics-metric/v1"
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "datasetId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "formulaId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "expression": {
                    "type": "string",
                    "maxLength": 1000
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "const": "half_away_from_zero"
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  },
                  "value": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "available",
                      "not_returned"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "enum": [
                      "ok",
                      "invalid_expression",
                      "missing_input",
                      "incompatible_input",
                      "zero_denominator",
                      "numeric_limit",
                      "workspace_mismatch",
                      "ambiguous_input",
                      "unknown_exclusion"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 500
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "excludedInputIds": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1500
                    }
                  },
                  "inputs": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "inputId": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1500
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "value": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "availability": {
                          "type": "string",
                          "enum": [
                            "available",
                            "partial",
                            "not_returned",
                            "unsupported",
                            "permission_required",
                            "threshold_not_met",
                            "no_data",
                            "failed",
                            "pending",
                            "stale"
                          ]
                        },
                        "reason": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 8000
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "measurement": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "period": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "start": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "end": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "kind",
                            "period",
                            "start",
                            "end",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "requestId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "sourcePath": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "accountId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "providerResourceId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 512
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "fetchedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "included": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "inputId",
                        "selector",
                        "value",
                        "availability",
                        "reason",
                        "measurement",
                        "requestId",
                        "sourcePath",
                        "accountId",
                        "providerResourceId",
                        "fetchedAt",
                        "identifier",
                        "included"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "contractVersion",
                  "workspaceId",
                  "datasetId",
                  "formulaId",
                  "name",
                  "version",
                  "expression",
                  "rounding",
                  "value",
                  "unit",
                  "status",
                  "code",
                  "reason",
                  "excludedInputIds",
                  "inputs"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "name",
              "version",
              "expression",
              "definition",
              "unit",
              "grain",
              "rounding",
              "inputs",
              "value",
              "availability",
              "reason"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "contractVersion",
        "id",
        "reviewedAt",
        "selection",
        "accounts",
        "posts",
        "sources",
        "coverage",
        "customMetrics"
      ],
      "additionalProperties": false
    },
    "format": {
      "type": "string",
      "enum": [
        "csv",
        "xlsx",
        "pdf"
      ]
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "zh-Hant"
      ]
    },
    "title": {
      "type": "string",
      "maxLength": 160
    }
  },
  "required": [
    "contract_version",
    "kind",
    "dataset",
    "format",
    "locale"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Exemple d’appel d’outil

Ces exemples utilisent des valeurs fictives vérifiées contre les schémas. Remplacez les identifiants par ceux que vous êtes autorisé à utiliser, les médias par des ressources prêtes et les dates par l’heure confirmée. Vérifiez l’éligibilité du compte avant toute écriture. Cette page n’envoie aucune requête API.

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

structuredContent

{
  "contract_version": "analytics-render-input/v1",
  "kind": "standard",
  "dataset": {
    "contractVersion": "analytics-report/v1",
    "id": "11111111-1111-4111-8111-111111111111",
    "reviewedAt": "2099-01-15T09:00:00Z",
    "selection": {
      "workspaceId": "11111111-1111-4111-8111-111111111111",
      "accountIds": [
        "11111111-1111-4111-8111-111111111111"
      ],
      "platforms": [
        "facebook"
      ],
      "startDate": "2099-01-15",
      "endDate": "2099-01-15",
      "timezone": "UTC"
    },
    "accounts": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "workspaceId": "11111111-1111-4111-8111-111111111111",
        "platform": "facebook",
        "name": "Fictional report account"
      }
    ],
    "posts": [],
    "sources": [],
    "coverage": {
      "population": "discovered_posts",
      "postsComplete": false,
      "nextCursor": null,
      "postLimit": 0,
      "postInsightsLimit": 0,
      "omittedPostInsights": 0,
      "notes": []
    },
    "customMetrics": []
  },
  "format": "csv",
  "locale": "en"
}
Installer ou connecter MCP