What Macro validates
The same pipeline runs from the portal wizard and the Publisher API (POST …/listings/validate-bundle and create/patch):
- Static security / structure scan of the bundle source
- Headless Chromium render / preview test
- Presentation-aware soft warnings (content vs styled)
import() even inside comments — they can fail validation. Macro Score (0–100)
| Name | Type | Description |
|---|---|---|
Errors (failed) | score 0 | Upload blocked. Fix structure/security/runtime issues and re-validate. |
Warnings | penalty | Score drops. Content presentation + hardcoded colors / heavy design groups hurt more. |
Passed / skipped | full or slight | Healthy checks contribute full credit; skipped checks may apply a small penalty. |
Score fields persist on the listing (macro_score, summary, reasons, checks). Buyers see a Macro Score tab (number + short reasons). Publishers see the same score plus the full check breakdown after validate and on listing edit.
Paid listings and Stripe
Connect Stripe in the portal
Open Payouts and complete Stripe Connect until status is
active.Price the listing
Paid offers without an active Connect account are rejected with 400
STRIPE_REQUIRED.Keep Connect healthy
Disconnecting Stripe unpublishes paid listings. Reconnect before selling again.
Automation
Use publisher API tokens (pt_…) against https://api.macrocontent.dev/publisher/v1 to validate and patch listings. See Publisher API and Authentication.
/publisher/v1/listings/validate-bundlePublisherRun the full validator / Macro Score pipeline without persisting a failed bundle.