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.

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

Trusted by market leaders · Client results

adevintavpnsaturnwhowhatwearloopearplugsnestlenina caremarktplaatserasmusmcmy work featured on web.devcompareperionhappyhorizonfotocasakpnaleteiasnvebayharvardworkivamonarchdpg media

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

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

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.

  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 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.

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

  1. Generer en hovednøgle én gang under My Account → Agency API-fanen, og opbevar den sikkert.
  2. POST /api/agency/projects med kundens navn og URL. Svaret indeholder det nye _id.
  3. Indlejr sporingskodestykket på kundens websted med det pågældende _id.
  4. Læs RUM-data for det projekt til enhver tid via POST /api/mcp med 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:

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

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.


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