Reference
Embed & Badges
Attribution Badge
For Dark Pages
Inline HTML for dark pages
<a
href="https://checkupstream.com"
target="_blank"
rel="noopener"
style="display:inline-flex;align-items:center;gap:8px;border:1px solid #E0E0E0;background:#FAFAFA;border-radius:6px;padding:6px 10px;font-family:ui-monospace,monospace;font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#0A0A0A;text-decoration:none;"
>
<svg viewBox="0 0 20 20" width="14" height="14" fill="none">
<circle cx="3" cy="13" r="2" fill="#00A855"/>
<circle cx="7" cy="16" r="2" fill="#00A855"/>
<circle cx="11" cy="12" r="2" fill="#00A855"/>
<circle cx="15" cy="8" r="2" fill="#00A855"/>
<circle cx="19" cy="4" r="2" fill="#00A855"/>
<circle cx="1" cy="1" r="1.2" fill="#00A855" opacity="0.5"/>
<circle cx="19" cy="19" r="1.2" fill="#00A855" opacity="0.5"/>
</svg>
CheckUpstream
</a>For Light Pages
Inline HTML for light pages
<a
href="https://checkupstream.com"
target="_blank"
rel="noopener"
style="display:inline-flex;align-items:center;gap:8px;border:1px solid #2A2A2A;background:#050505;border-radius:6px;padding:6px 10px;font-family:ui-monospace,monospace;font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#FAFAFA;text-decoration:none;"
>
<svg viewBox="0 0 20 20" width="14" height="14" fill="none">
<circle cx="3" cy="13" r="2" fill="#00FF87"/>
<circle cx="7" cy="16" r="2" fill="#00FF87"/>
<circle cx="11" cy="12" r="2" fill="#00FF87"/>
<circle cx="15" cy="8" r="2" fill="#00FF87"/>
<circle cx="19" cy="4" r="2" fill="#00FF87"/>
<circle cx="1" cy="1" r="1.2" fill="#00FF87" opacity="0.4"/>
<circle cx="19" cy="19" r="1.2" fill="#00FF87" opacity="0.4"/>
</svg>
CheckUpstream
</a>Hosted SVG
Use the hosted SVG for a shorter snippet. The image loads from CheckUpstream and may be cached. The inline versions above work without that additional request.
<a href="https://checkupstream.com" target="_blank" rel="noopener">
<img src="https://checkupstream.com/api/v1/badge/attribution?theme=dark"
alt="Powered by CheckUpstream" height="28" />
</a>Swap theme=dark for theme=light on light-backgrounded sites. Cached for 1 hour at the edge.
Recorded Dependency Status
Private badge.The visible UTC date is the oldest observation used in the badge. Its accessible title includes the exact timestamp and identifies manual status overrides. Missing dates are marked unavailable. Cached or older observations do not confirm current application health.
<img src="https://checkupstream.com/api/v1/badge/{orgSlug}"
alt="Recorded dependency status" />Status labels accompany every color: green for operational, yellow for degraded, orange for partial outage, red for outage, blue for maintenance and gray for unknown.
?key= or Authorization parameters. A badge URL is visible to anyone who can read the page or repository containing it. Image hosts and proxies may also receive the URL. Keep credentials out of it, including in private repositories.Markdown
Per-service JS embed
<script> tag renders a vendor status badge for an entry in our catalog. It loads a script from CheckUpstream and inserts a badge in your HTML page. GitHub READMEs do not execute this script; use the SVG badge there.<script src="https://checkupstream.com/embed/badge.js?service=stripe"></script>Replace stripe with any service slug (openai, github, cloudflare, etc.). The script appends a pill element immediately after itself, so the insertion point is wherever you place the <script> tag in your HTML. Invalid slugs log a console warning and render nothing.
Status Widget
<iframe
src="https://checkupstream.com/embed/stripe?theme=dark&layout=card"
width="100%"
height="96"
style="max-width: 480px; border: 1px solid #1A1A1A; border-radius: 8px;"
title="Stripe vendor status"
></iframe>These vendor badges load a snapshot; they do not refresh while the page stays open. Browsers and image hosts may cache an older result. Use the badge builder to choose a vendor, format, theme and detail level.
Machine-Readable Status
GET /status/{slug}/status.jsonReturns the service name, recorded status, recent incidents and separate vendor-disclosure and measured-availability fields. Measured availability can be null when there are no qualifying samples. Responses may be cached; check the returned timestamps.
Connect your repository
See the vendors matched to your code and review your alert settings.