CoreDash Agency API: Administrer prosjekter og hent data på tvers av kontoer
Administrer mange prosjekter fra én konto. Utsted en masternøkkel én gang, opprett og slett prosjekter via REST, og hent Core Web Vitals-data på tvers av alle sammen med en enkelt nøkkel.

Én nøkkel for hvert prosjekt på kontoen din
Agency API er for kontoer som administrerer mange prosjekter. Byråer, interne team som driver et dusin merkevarer, og alle som ikke ønsker å logge inn i dashbordet hver gang en ny kunde kommer om bord. Utsted en masternøkkel én gang, deretter kan du opprette prosjekter, oppdatere dem, slette dem og lese Core Web Vitals-data på tvers av alle med den ene legitimasjonen.
Leter du etter API-et per prosjekt i stedet? Siden for CoreDash API dekker et enkelt prosjekt med en prosjektspesifikk nøkkel. Samme dataverktøy, smalere omfang, enklere oppsett.
Agency API gjør to ting:
- Prosjekt-CRUD: en liten REST-overflate på
/api/agency/projectsfor å opprette, liste opp, oppdatere og slette prosjekter. - Dataleseoperasjoner på tvers av prosjekter: de samme JSON-RPC-verktøyene som API-et per prosjekt (
get_metrics,get_timeseries,get_histogram) på/api/mcp. Med en masternøkkel sender duproject_idi argumentene for å velge hvilket prosjekt du vil ha.
To typer API-nøkler
CoreDash utsteder to nøkkelnivåer. Hver av dem har en ulik jobb.
| Nøkkel | Prefiks | Omfang | Hva den gjør |
|---|---|---|---|
| Prosjektnøkkel | cdk_ | Ett prosjekt | Leser RUM-data for det prosjektet gjennom JSON-RPC-endepunktet. Se /api. |
| Masternøkkel | cdk_master_ | Hvert prosjekt på kontoen | Oppretter, lister opp, oppdaterer og sletter prosjekter via REST. Leser også data for ethvert prosjekt på kontoen ved å sende project_id i dataverktøyene. |
Masternøkler er bare tilgjengelige for byråflaggede kontoer. Hvis du ikke ser Agency API-fanen beskrevet nedenfor, snakk med support.
Få en masternøkkel
Masternøkler utstedes fra web-grensesnittet, ikke fra API-et.
- Logg inn på app.coredash.app.
- Åpne Min konto og klikk på Agency API-fanen.
- Klikk på Generer masternøkkel, gi den et navn, og kopier verdien. Den vises bare én gang.
Nøkler starter med cdk_master_. De lar innehaveren administrere hvert prosjekt som tilhører brukerkontoen din, og lese data for noen av dem. Behandle dem som passord. Du kan tilbakekalle en masternøkkel fra den samme fanen.
Autentisering
Hver Agency API-forespørsel trenger en masternøkkel i Authorization-headeren:
Authorization: Bearer cdk_master_YOUR_MASTER_KEY
Den samme headeren fungerer for både REST prosjekt-CRUD-endepunktene og JSON-RPC-dataendepunktet. Ingenting annet endres.
Prosjekt-CRUD: REST-overflaten
Base-URL for prosjektadministrasjon:
https://app.coredash.app/api/agency/projects
Dette er vanlige REST-kall. Ikke JSON-RPC.
POST /api/agency/projects: opprett et prosjekt
Oppretter et nytt prosjekt eid av masternøkkelens bruker. Som standard starter prosjektet som en 10-dagers prøveversjon. Send agencyplan for å starte det på en betalt plan i stedet, med en 33-dagers faktureringsperiode.
| Felt | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
name | streng | ja | Prosjektnavn vist i dashbordet. |
url | streng | nei | Nettstedets URL som prosjektet sporer. |
agencyplan | streng | nei | Plan-ID (for eksempel starter). Når dette er angitt, starter prosjektet på den tilsvarende betalte planen i stedet for en prøveversjon. |
curl -X POST https://app.coredash.app/api/agency/projects \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY" \
-d '{
"name": "Acme client",
"url": "https://acme.example",
"agencyplan": "starter"
}' Svar ved suksess er 201:
{
"status": 201,
"project": {
"_id": "655f1f77bcf86cd799439011",
"name": "Acme client",
"url": "https://acme.example",
"status": "paid",
"users": ["644..."],
"expires": "2026-06-28T12:00:00.000Z",
"alerts": { "ai": true },
"created": { "date": "2026-05-26T12:00:00.000Z" }
}
} _id er det du legger inn i sporingskode-snutten på kundens nettsted. Det er også den project_id du sender til dataverktøyene nedenfor.
GET /api/agency/projects: list opp prosjekter
Returnerer prosjektene brukeren din eier, sortert etter opprettelsesdato (nyeste først). Paginert med limit (maks 500, standard 100) og offset.
curl "https://app.coredash.app/api/agency/projects?limit=50" \ -H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY"
{
"status": 200,
"projects": [
{ "_id": "...", "name": "Acme client", "url": "https://acme.example", "status": "paid" },
{ "_id": "...", "name": "Beta client", "url": "https://beta.example", "status": "trial" }
]
} GET /api/agency/projects/:id: hent ett prosjekt
Returnerer et enkelt prosjektdokument. Returnerer 404 hvis brukeren din ikke eier prosjektet. Vi skiller bevisst ikke mellom "ikke funnet" og "ikke ditt", slik at prosjekt-ID-er ikke kan ramses opp på tvers av kontoer.
curl https://app.coredash.app/api/agency/projects/655f1f77bcf86cd799439011 \ -H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY"
PATCH /api/agency/projects/:id: oppdater navn eller URL
Oppdaterer name og/eller url. Begge feltene er valgfrie. Utelatte felt forblir som de var. Alt annet i forespørselen (body) ignoreres. Status, fakturering, utløp og varsler administreres via dashbordet.
curl -X PATCH https://app.coredash.app/api/agency/projects/655f1f77bcf86cd799439011 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY" \
-d '{ "name": "Acme client renamed" }' DELETE /api/agency/projects/:id: slett et prosjekt permanent (hard-delete)
Sletter prosjektet og alt som er knyttet til det: Lighthouse-kjøringer, CrUX-data, varsler, øyeblikksbilder og konfigurasjoner for øyeblikksbilder.
RUM-data i det bakenforliggende datalageret blir ikke slettet i dette kallet. Det forblir knyttet til den gamle prosjekt-ID-en, men blir foreldreløst. Det finnes ingen gjenopprettingsvei. Prosjekt-ID-en pensjoneres.
curl -X DELETE https://app.coredash.app/api/agency/projects/655f1f77bcf86cd799439011 \ -H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY"
{ "status": 200, "deleted": true } Lese data med en masternøkkel
For å hente Core Web Vitals-data for et av prosjektene dine, treffer du det samme JSON-RPC-endepunktet som API-et per prosjekt bruker:
https://app.coredash.app/api/mcp
De tre verktøyene er uendret: get_metrics, get_timeseries, get_histogram. Den eneste forskjellen sammenlignet med prosjektspesifikk flyt, er at du sender project_id i arguments, slik at kallet vet hvilket prosjekt det skal se på. Prosjektnøkler trenger ikke dette fordi hver prosjektnøkkel allerede er begrenset til ett prosjekt. Masternøkler dekker mange prosjekter, så forespørselen må navngi ett.
Eksempel: get_metrics for et spesifikt prosjekt
curl -X POST https://app.coredash.app/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_metrics",
"arguments": {
"project_id": "655f1f77bcf86cd799439011",
"metrics": "LCP,INP,CLS",
"date": "-7d"
}
}
}' Responsen er den samme JSON-RPC-innpakningen som API-et per prosjekt, med det parsede payloadet i result.content[0].text. Formen på den indre JSON-en, distribution-objektet, summary-feltet på tidsserier, bøttestrukturen på histogrammer, oppfører seg alt på samme måte som med en prosjektnøkkel. Det eneste ekstra kravet er project_id-argumentet.
Det samme gjelder for get_timeseries og get_histogram. Send project_id, deretter de vanlige argumentene.
Alle andre parametere fungerer på samme måte: filters, group, percentile, date, granularity og så videre. Dimensjonsreferansen (d, cc, ff, lcpel, inpel, alle sammen), terskelverdiene for beregninger (metrics) og persentilsemantikken er alle dokumentert på CoreDash API-siden. Les den for den fulle parameter- og dimensjonsoverflaten. Denne siden dekker kun hva som er annerledes når du autentiserer med en masternøkkel.
Onboarding av et nytt kundeprosjekt
Den typiske flyten for et byrå som legger til en ny kunde:
- Utsted en masternøkkel én gang under Min konto → Agency API-fanen og oppbevar den sikkert.
POST /api/agency/projectsmed kundens navn og URL. Responsen inneholder den nye_id.- Bygg inn sporingskode-snutten på kundens nettsted med den
_id-en. - Les RUM-data for det prosjektet når som helst via
POST /api/mcpmed den samme masternøkkelen og"project_id": "<denne _id-en>"i argumentene. Ingen separat prosjektnøkkel er nødvendig.
Det er hele onboarding-sløyfen. Én nøkkel, én POST, én innbygging av kodesnutt, og du kan allerede spørre etter data for det nye prosjektet.
Feil
Prosjekt-CRUD-endepunkter returnerer vanlige REST-statuskoder:
| Status | Betydning |
|---|---|
400 | Mangler obligatorisk felt ved opprettelse, eller ukjent plan-ID. |
401 | Manglende, feil eller tilbakekalt masternøkkel. |
404 | Prosjektet ble ikke funnet, eller eies ikke av din bruker. |
500 | Databasefeil. |
Dataleseoperasjoner på /api/mcp returnerer JSON-RPC-feilobjekter, det samme som med en prosjektnøkkel. Tabellen med feilkoder finnes på CoreDash API-siden. Hvis du får -32001, dobbeltsjekk at nøkkelen din starter med cdk_master_ og at du inkluderte project_id i argumentene.
Hastighetsbegrensninger
Daglige begrensninger per prosjekt gjelder fortsatt når du leser data: en masternøkkel som kaller get_metrics for prosjekt A teller mot prosjekt A sin daglige kvote, og et kall for prosjekt B teller mot prosjekt B sin kvote. Se tabellen for hastighetsbegrensninger på CoreDash API-siden. Prosjekt-CRUD-kall er ikke hastighetsbegrenset på samme måte.

