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.

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-05-29

Trusted by market leaders · Client results

dpg mediacomparemy work featured on web.devnestleharvardsaturnwhowhatwearhappyhorizonfotocasamarktplaatssnvebayaleteiaworkivaloopearplugsperionkpnmonarchadevintanina carevpnerasmusmc

É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:

  1. Projekt CRUD: en lille REST-overflade på /api/agency/projects til at oprette, liste, opdatere og slette projekter.
  2. 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 du project_id i 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øglePræfiksOmfangHvad den gør
Projektnøglecdk_Et projektLæser RUM-data for det projekt via JSON-RPC-endpointet. Se /api.
Masternøglecdk_master_Hvert projekt på kontoenOpretter, 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.

  1. Log ind på app.coredash.app.
  2. Åbn My Account og klik på fanen Agency API.
  3. 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.

FeltTypeKrævetBeskrivelse
namestringjaProjektnavn vist i dashboardet.
urlstringnejSite-URL'en, som projektet sporer.
agencyplanstringnejPlan-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:

  1. Generer en masternøgle én gang på My Account → Agency API tab og opbevar den sikkert.
  2. POST /api/agency/projects med klientens navn og URL. Svaret indeholder det nye _id.
  3. Integrer sporings-snippettet på klientens side med det _id.
  4. Læs RUM-data for det projekt til enhver tid via POST /api/mcp med 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:

StatusBetydning
400Manglende påkrævet felt ved oprettelse, eller ukendt plan-id.
401Manglende, forkert eller tilbagekaldt masternøgle.
404Projektet blev ikke fundet, eller ejes ikke af din bruger.
500Databasefejl.

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.

CoreDash Agency API: Administrer projekter og træk data på tværs af kontiCore Web Vitals CoreDash Agency API: Administrer projekter og træk data på tværs af konti