CoreDash Agency API: Administrer projekter og træk data på tværs af konti
Administrer mange projekter fra én konto. Generer en hovednø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 hvert projekt på din konto
Agency API'et er til konti, der administrerer mange projekter. Bureauer, interne teams, der driver et dusin brands, enhver, der ikke ønsker at logge ind i betjeningspanelet, hver gang en ny kunde kommer ombord. Generer en hovednøgle én gang, og 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 i stedet efter API'et pr. projekt? Siden CoreDash API dækker et enkelt projekt med en projektbegrænset nøgle. Samme dataværktøjer, smallere omfang, enklere opsætning.
Agency API'et gør to ting:
- Projekt CRUD: en lille REST-overflade på
/api/agency/projectstil at oprette, liste, opdatere og slette projekter. - Datakald på tværs af projekter: de samme JSON-RPC-værktøjer som pr. projekt API'et (
get_metrics,get_timeseries,get_histogram) på/api/mcp. Med en hovednøgle videregiver duproject_idi argumenterne for at vælge, hvilket projekt du vil have.
To slags API-nøgler
CoreDash udsteder to niveauer af nøgler. Hver enkelt 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 gennem JSON-RPC-slutpunktet. Se /api. |
| Hovednøgle | cdk_master_ | Ethvert 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. |
Hovednøgler er kun tilgængelige på konti flaget som bureauer. Hvis du ikke ser Agency API-fanen, der er beskrevet nedenfor, skal du kontakte support.
Få en hovednøgle
Hovednø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 ethvert projekt, der tilhører din brugerkonto, og læse data for enhver af dem. Behandl dem som adgangskoder. Du kan tilbagekalde enhver hovednøgle fra den samme fane.
Godkendelse
Enhver Agency API-anmodning kræver en hovednøgle i Authorization-headeren:
Authorization: Bearer cdk_master_YOUR_MASTER_KEY
Den samme header fungerer for både REST projekt CRUD-slutpunkterne og JSON-RPC-dataslutpunktet. Intet andet ændres.
Projekt CRUD: REST-overfladen
Basis-URL for projektstyring:
https://app.coredash.app/api/agency/projects
Dette er almindelige REST-kald. Ikke JSON-RPC.
POST /api/agency/projects: opret et projekt
Opretter et nyt projekt ejet af hovednø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 | Påkrævet | Beskrivelse |
|---|---|---|---|
name | string | ja | Projektnavn vist i betjeningspanelet. |
url | string | nej | Site-URL'en, som projektet sporer. |
agencyplan | string | nej | Plan-id (for eksempel starter). Når dette 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 det, du indsætter i sporingskodestykket på kundens websted. Det er også det 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). Paginering 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 et 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 efterlades, som de var. Alt andet i brødteksten ignoreres. Status, fakturering, udløb og advarsler administreres via betjeningspanelet.
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: hård sletning af et projekt
Sletter projektet og alt, der er knyttet til det: Lighthouse-kørsler, CrUX-data, advarsler, 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 gendannelsesvej. Projekt-id'et pensioneres.
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 hovednøgle
For at trække Core Web Vitals-data for et af dine projekter skal du ramme det samme JSON-RPC-slutpunkt, som pr. projekt API'et bruger:
https://app.coredash.app/api/mcp
De tre værktøjer er uændrede: get_metrics, get_timeseries, get_histogram. Den eneste forskel i forhold til pr. projekt-flowet er, at du videregiver project_id i arguments, så kaldet ved, hvilket projekt det skal se på. Projektnøgler har ikke brug for dette, fordi hver projektnøgle allerede er begrænset til ét projekt. Hovednø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 pr. projekt API'et, med den fortolkede nyttelast (payload) i result.content[0].text. Formen på den indre JSON, distribution-objektet, summary-feltet på tidsserier, bucket-strukturen på histogrammer, opfører sig alle på samme måde som med en projektnøgle. Det eneste ekstra krav er project_id-argumentet.
Det samme gælder for get_timeseries og get_histogram. Videregiv project_id, og 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 sammen), metriktærsklerne (metrics thresholds) og percentilsemantikken er alle dokumenteret på siden CoreDash API. Læs den for den fulde parameter- og dimensionsoverflade. Denne side dækker kun, hvad der er anderledes, når du godkender med en hovednøgle.
Onboarding af et nyt klientprojekt
Det typiske flow for et bureau, der tilføjer en ny kunde:
- Generer en hovednøgle én gang under My Account → Agency API-fanen, og opbevar den sikkert.
POST /api/agency/projectsmed kundens navn og URL. Svaret indeholder det nye_id.- Indlejr sporingskodestykket på kundens websted med det pågældende
_id. - Læs RUM-data for det projekt til enhver tid via
POST /api/mcpmed den samme hovednø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 indlejring af kodestykke, og du kan allerede forespørge data for det nye projekt.
Fejl
Projekt CRUD-slutpunkter returnerer almindelige REST-statuskoder:
| Status | Betydning |
|---|---|
400 | Manglende påkrævet felt ved oprettelse, eller ukendt plan-id. |
401 | Manglende, ugyldig eller tilbagekaldt hovednøgle. |
404 | Projektet blev ikke fundet eller ejes ikke af din bruger. |
500 | Databasefejl. |
Datakald på /api/mcp returnerer JSON-RPC-fejlobjekter, det samme som med en projektnøgle. Tabellen over fejlkoder 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.
Takstgrænser (Rate limits)
Daglige grænser pr. projekt gælder stadig, når du læser data: en hovednø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 takstgrænser på siden CoreDash API. Projekt CRUD-kald er ikke takstbegrænsede på samme måde.

