01Schema
type Query {
me: Member
network: NetworkStats
sites: [Site!]!
site(domain: String!): Site
shopfront(hash: String!): Shopfront # verify a hash embedded in an honest-shopfront SVG
}
type Member { id: Int! email: String! plan: String }
type NetworkStats {
devicesLive: Int! devicesEnrolled: Int! countries: Int!
verdicts24h: Int! ok24h: Int! okPct: Float snapshots: Int!
}
type Site {
id: Int! domain: String! title: String seoScore: Int
verified: PulsarVerification # null until the network has checked it
monitors: [Monitor!]!
traffic(days: Int = 30): Traffic # same aggregates the dashboard shows
leads(days: Int = 30): Leads
topPages(days: Int = 7, limit: Int = 10): [PageStat!]!
}
type PulsarVerification { verified: Boolean! checks: Int! uptimePct: Int latencyMs: Int lastCheckedAt: String }
type Monitor {
id: Int! name: String! kind: String!
up: Boolean ttfbMs: Int loadMs: Int tlsDaysLeft: Int vantagePoints: Int
tlsVersion: String tlsCipher: String tlsFailure: String tlsChainIncomplete: Boolean
}
type Traffic {
days: Int! visitors: Int! pageviews: Int!
avgVisitorsPerDay: Float # null when there are no days with data
series: [TrafficDay!]!
}
type TrafficDay { day: String! visitors: Int! visits: Int! pageviews: Int! }
type Leads { total: Int! unhandled: Int! }
type PageStat { url: String! views: Int! }
type Shopfront { # idea 24: the statement behind a plaque, checked against our ledger
hash: String! status: String! # active | superseded | broken | unknown
site: String builtAt: String currentAt: String shown: Boolean # shown = the plaque is served right now
sigValid: Boolean digestValid: Boolean pubkey: String statement: String sig: String verdictRoot: String
facts: String # canonical JSON of the signed figures
}02Beispielabfrage
{
network { devicesLive countries verdicts24h okPct }
sites {
domain
traffic(days: 30) { visitors pageviews avgVisitorsPerDay }
leads(days: 30) { total unhandled }
topPages(days: 7, limit: 5) { url views }
verified { uptimePct latencyMs checks }
monitors { name kind up loadMs tlsDaysLeft }
}
}03Rufen Sie es auf
curl -s https://astrina.io/pulsar/graphql \
-H 'X-Api-Key: YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"query":"{ network { devicesLive } sites { domain verified { uptimePct } } }"}'Nur lesen: Mutationen, Abonnements und Fragmente werden nicht unterstützt. Jede Zahl ist ein echtes Gerät-Konsens-Urteil — ein Feld ist null, wenn das Netzwerk noch nicht entschieden hat. Anfragen zählen gegen Ihr tägliches API-Kontingent.
Was diese Seite beantwortet
- eine GraphQL-Abfrage für Websites
- quorum-Urteile überwachen
- eine Abfrage für alle Website-Daten
- was ist die Pulsar GraphQL API
- wie die Pulsar GraphQL API funktioniert
- die Pulsar GraphQL API erklärt
- die Pulsar GraphQL API Anleitung
- wie man mit die Pulsar GraphQL API beginnt
- die Pulsar GraphQL API Bewertungen
- ist die Pulsar GraphQL API es wert
- die Pulsar GraphQL API Preisgestaltung
- die Pulsar GraphQL API Alternativen
- die Pulsar GraphQL API für Anfänger
- warum die Pulsar GraphQL API
- die Pulsar GraphQL API — was Sie erhalten