Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.chartcastr.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

A source is a configured data provider — Google Sheets, HubSpot, Shopify, Xero, etc. — owned by your account. Each source can be referenced by multiple connections (delivery schedules) and is the entry point for fetching the latest pulse. The Sources endpoint returns the most recently updated sources for the authenticated account, including the provider, status, deep link to the dashboard, and a count of connections currently using it.

Endpoint

Returns up to 10 of the most recently updated, non-archived sources for the account behind the API key.Request
curl https://public.api.chartcastr.com/v1/sources \
  -H "X-API-Key: sk_live_..."
Success — 200
{
  "meta": {
    "account": { "id": "acc_2abc...", "email": "you@example.com" },
    "requestedAt": "2026-05-08T10:31:48.000Z"
  },
  "sources": [
    {
      "id": "src_01J...",
      "name": "Q2 Revenue Sheet",
      "provider": "GOOGLE",
      "status": "ACTIVE",
      "link": "https://chartcastr.com/admin/sources/src_01J...",
      "connectionCount": 3,
      "organizationId": "org_01J...",
      "organizationName": "Acme",
      "organizationSlug": "acme"
    }
  ]
}
Source fields
FieldTypeDescription
idstringUnique source ID — pass to /v1/sources/{sourceId}/pulse
namestring | nullUser-supplied display name
providerstringIntegration provider, e.g. GOOGLE, SHOPIFY, HUBSPOT, XERO
statusenumPENDING, DRAFT, ACTIVE, DEGRADED, or BROKEN
linkstringDeep link to the source page in the Chartcastr admin
connectionCountintegerHow many connections (delivery schedules) use this source
organizationIdstringInternal organization ID this source belongs to
organizationNamestring | nullOrganization display name
organizationSlugstring | nullOrganization URL slug
Failure — 401
{ "success": false, "error": "Invalid or expired API key" }
Results are capped at 10 sources, ordered by updatedAt descending. If you need a complete inventory, contact support — pagination is on the roadmap.

Status Values

StatusMeaning
PENDINGSource created but not yet authorized
DRAFTConfigured but not ready to deliver
ACTIVEHealthy and delivering on schedule
DEGRADEDLast few runs had issues — investigate the source page
BROKENAuthorization or upstream API failure — needs reconnection

Example: Filter by provider

The endpoint returns all sources — filter client-side by provider if you only care about one integration:
const res = await fetch('https://public.api.chartcastr.com/v1/sources', {
  headers: { 'X-API-Key': process.env.CHARTCASTR_KEY! },
})
const { sources } = await res.json()
const shopify = sources.filter((s) => s.provider === 'SHOPIFY')

Next Steps

Fetch the Latest Pulse

Pass any id from this list to the Pulses endpoint to get the chart, short summary, and long AI analysis.