reports

Get the latest Marketing Signal report for a project

Project-scoped convenience over get_report_context: returns the latest COMPLETED Marketing Signal run's report (six category scores, coverage line, top findings) without listing runs first. 404 error.code=no_marketing_run means no Marketing Signal run has completed yet; start one with start_audit (scanMode defaults to paid_marketing_signal_v2).

get/api/v1/projects/{projectId}/marketing/report

Request

  • Base URL: https://index365.co
  • URL: https://index365.co/api/v1/projects/{projectId}/marketing/report
  • Auth: HTTP bearer

Path parameters

projectIdstring uuid required

Query parameters

product'marketing_signal_v2'

Optional active-product filter. Legacy products require an explicit runId.

scanMode'paid_marketing_signal_v2' | 'free_marketing_signal_v2'

Optional active Marketing Signal scan-mode filter.

Response

Marketing Signal report context.

schemaVersioninteger required
product'marketing_signal_v2' required
runIdstring uuid required
projectIdstring uuid nullable required
urlstring uri required
scoreinteger nullable required

Null when nothing on the run graded. Derived from the graded checks, weighted by graded-check count, so it always equals the roll-up of categories.

band'Weak' | 'Fair' | 'Good' | 'Excellent' | 'null' nullable required

Score band. Null exactly when score is null.

scoreLabelstring required
execSummarystring required
findingsTotalinteger required
coverageLinestring required

What the run actually graded. Both counts include only checks that could move a score; opportunities are excluded from both and reported separately.

gradedCheckCountinteger required
applicableCheckCountinteger required
categoryScoreLinestring required
restatedboolean required

True when the derived headline differs from the one this run stored, which happens on runs scored before the corrected weighting.

restatementNotestring
legacyStoredScoreinteger nullable required

The headline this run stored, for reconciling against an older record. Never present this as the current score.

scanModestring nullable required
modelstring nullable required
costUsdnumber required
createdAtstring date-time required
completedAtstring date-time nullable required
humanUrlstring required

Human-readable dashboard view of this exact run.

Example response

{
  "schemaVersion": 3,
  "scoreLabel": "Good",
  "coverageLine": "Scored from 21 of 24 applicable checks",
  "categories": [
    {
      "label": "AEO",
      "subtitle": "Answer Engine Optimization"
    }
  ],
  "categoryScoreLine": "SEO: 75. Content: 40.",
  "scanMode": "paid_marketing_signal_v2"
}

Changes

No recorded changes to this operation across all 1 revision of this API.