CoreDash Agency API: Administrer projekter og træk data på tværs af konti
Administrer mange projekter fra én konto. Generer en masternøgle én gang, opret og slet projekter via REST, og træk Core Web Vitals-data på tværs af dem alle med en enkelt nøgle.

Én nøgle til alle projekter på din konto
Agency API er til konti, der administrerer mange projekter. Bureauer, interne teams, der kører et dusin brands, enhver, der ikke ønsker at logge ind i dashboardet, hver gang en ny klient kommer om bord. Generer en masternøgle én gang, opret derefter projekter, opdater dem, slet dem, og læs Core Web Vitals-data på tværs af dem alle med den ene legitimation.
Leder du efter API'et pr. projekt i stedet? Siden CoreDash API dækker et enkelt projekt med en projekt-specifik nøgle. Samme dataværktøjer, smallere omfang, enklere opsætning.
Agency API gør to ting:
- Projekt CRUD: en lille REST-overflade på
/api/agency/projectstil at oprette, liste, opdatere og slette projekter. - Datalæsninger på tværs af projekter: de samme JSON-RPC-værktøjer som API'et pr. projekt (
get_metrics,get_timeseries,get_histogram) på/api/mcp. Med en masternøgle videregiver duproject_idi argumenterne for at vælge, hvilket projekt du vil have.
To slags API-nøgler
CoreDash udsteder to nøgleniveauer. Hver har et forskelligt formål.
| Nøgle | Præfiks | Omfang | Hvad den gør |
|---|---|---|---|
| Projektnøgle | cdk_ | Et projekt | Læser RUM-data for det projekt via JSON-RPC-endpointet. Se /api. |
| Masternøgle | cdk_master_ | Hvert projekt på kontoen | Opretter, lister, opdaterer og sletter projekter via REST. Læser også data for ethvert projekt på kontoen ved at videregive project_id i dataværktøjerne. |
Masternøgler er kun tilgængelige på konti flaget som bureauer. Hvis du ikke kan se fanen Agency API beskrevet nedenfor, skal du tale med support.
Få en masternøgle
Masternøgler genereres fra web-brugergrænsefladen, ikke fra API'et.
- Log ind på app.coredash.app.
- Åbn My Account og klik på fanen Agency API.
- Klik på Generate master key, giv den et navn, og kopier værdien. Den vises kun én gang.
Nøgler starter med cdk_master_. De lader indehaveren administrere hvert projekt, der tilhører din brugerkonto, og læse data for nogen af dem. Behandl dem som adgangskoder. Du kan tilbagekalde enhver masternøgle fra den samme fane.
Godkendelse
Hver Agency API-anmodning kræver en masternøgle i headeren Authorization:
Authorization: Bearer cdk_master_YOUR_MASTER_KEY
Den samme header fungerer til både REST projekt CRUD-endpoints og JSON-RPC data-endpointet. Intet andet ændres.
Projekt CRUD: REST-overfladen
Basis-URL til projektledelse:
https://app.coredash.app/api/agency/projects
Disse er almindelige REST-kald. Ikke JSON-RPC.
POST /api/agency/projects: opret et projekt
Opretter et nyt projekt, der ejes af masternøglens bruger. Som standard starter projektet som en 10-dages prøveperiode. Videregiv agencyplan for at starte det på en betalt plan i stedet, med en 33-dages faktureringsperiode.
| Felt | Type | Krævet | Beskrivelse |
|---|---|---|---|
name | string | ja | Projektnavn vist i dashboardet. |
url | string | nej | Site-URL'en, som projektet sporer. |
agencyplan | string | nej | Plan-id (for eksempel starter). Når det er angivet, starter projektet på den matchende betalte plan i stedet for en prøveperiode. |
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 succes 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, hvad du indsætter i sporings-snippettet på klientens side. Det er også project_id, du videregiver til dataværktøjerne nedenfor.
GET /api/agency/projects: list projekter
Returnerer de projekter, din bruger ejer, sorteret efter oprettelsesdato (nyeste først). Pagineret 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 ét projekt
Returnerer et enkelt projektdokument. Returnerer 404, hvis din bruger ikke ejer projektet. Vi skelner bevidst ikke "ikke fundet" fra "ikke dit", så projekt-id'er ikke kan opregnes på tværs af konti.
curl https://app.coredash.app/api/agency/projects/655f1f77bcf86cd799439011 \ -H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY"
PATCH /api/agency/projects/:id: opdater navn eller URL
Opdaterer name og/eller url. Begge felter er valgfrie. Udeladte felter forbliver, som de var. Alt andet i bodyen ignoreres. Status, fakturering, udløb og alarmer administreres via dashboardet.
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: slet et projekt permanent
Sletter projektet og alt, hvad der er knyttet til det: Lighthouse-kørsler, CrUX-data, alarmer, snapshots og snapshot-konfigurationer.
RUM-data i det bagvedliggende datalager slettes ikke i dette kald. De forbliver knyttet til det gamle projekt-id, men bliver forældreløse. Der er ingen gendannelsessti. Projekt-id'et trækkes tilbage.
curl -X DELETE https://app.coredash.app/api/agency/projects/655f1f77bcf86cd799439011 \ -H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY"
{ "status": 200, "deleted": true }
Læsning af data med en masternøgle
For at trække Core Web Vitals-data for et af dine projekter, skal du ramme det samme JSON-RPC-endpoint, som API'et pr. projekt bruger:
https://app.coredash.app/api/mcp
De tre værktøjer er uændrede: get_metrics, get_timeseries, get_histogram. Den eneste forskel sammenlignet med flowet pr. projekt er, at du videregiver project_id i arguments, så kaldet ved, hvilket projekt der skal ses på. Projektnøgler behøver ikke dette, fordi hver projektnøgle allerede er afgrænset til et projekt. Masternøgler dækker mange projekter, så anmodningen skal navngive et.
Eksempel: get_metrics for et specifikt projekt
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"
}
}
}'
Svaret er den samme JSON-RPC-indpakning som API'et pr. projekt, med den parsede payload i result.content[0].text. Formen af den indre JSON, objektet distribution, feltet summary på timeseries, bucket-strukturen på histogrammer, opfører sig alle på samme måde som med en projektnøgle. Det eneste ekstra krav er argumentet project_id.
Det samme gælder for get_timeseries og get_histogram. Videregiv project_id, derefter de sædvanlige argumenter.
Alle andre parametre fungerer på samme måde: filters, group, percentile, date, granularity og så videre. Dimensionsreferencen (d, cc, ff, lcpel, inpel, alle dem), metrics-tærsklerne og percentilsemantikken er alle dokumenteret på siden CoreDash API. Læs det for at se hele parameter- og dimensionsoverfladen. Denne side dækker kun det, der er anderledes, når du godkender med en masternøgle.
Onboarding af et nyt klientprojekt
Det typiske flow for et bureau, der tilføjer en ny klient:
- Generer en masternøgle én gang på My Account → Agency API tab og opbevar den sikkert.
POST /api/agency/projectsmed klientens navn og URL. Svaret indeholder det nye_id.- Integrer sporings-snippettet på klientens side med det
_id. - Læs RUM-data for det projekt til enhver tid via
POST /api/mcpmed den samme masternøgle og"project_id": "<the _id>"i argumenterne. Ingen separat projektnøgle er nødvendig.
Det er hele onboarding-loopet. Én nøgle, én POST, én snippet-integration, og du kan allerede forespørge data for det nye projekt.
Fejl
Projekt CRUD-endpoints returnerer almindelige REST-statuskoder:
| Status | Betydning |
|---|---|
400 | Manglende påkrævet felt ved oprettelse, eller ukendt plan-id. |
401 | Manglende, forkert eller tilbagekaldt masternøgle. |
404 | Projektet blev ikke fundet, eller ejes ikke af din bruger. |
500 | Databasefejl. |
Datalæsninger på /api/mcp returnerer JSON-RPC-fejlobjekter, det samme som med en projektnøgle. Fejlkodetabellen findes på siden CoreDash API. Hvis du får -32001, skal du dobbelttjekke, at din nøgle starter med cdk_master_, og at du har inkluderet project_id i argumenterne.
Hastighedsgrænser
Daglige grænser pr. projekt gælder stadig, når du læser data: en masternøgle, der kalder get_metrics for projekt A, tæller med i projekt A's daglige kvote, og et kald for projekt B tæller med i projekt B's. Se tabellen over hastighedsgrænser på siden CoreDash API. Projekt CRUD-kald er ikke hastighedsbegrænsede på samme måde.

