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.

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

Trusted by market leaders · Client results

nina carefotocasamy work featured on web.deverasmusmcaleteiacomparekpnmonarchdpg mediasaturnadevintanestleperionhappyhorizonmarktplaatsloopearplugssnvharvardwhowhatwearworkivaebayvpn

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

  1. Prosjekt-CRUD: en liten REST-overflate på /api/agency/projects for å opprette, liste opp, oppdatere og slette prosjekter.
  2. 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 du project_id i 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økkelPrefiksOmfangHva den gjør
Prosjektnøkkelcdk_Ett prosjektLeser RUM-data for det prosjektet gjennom JSON-RPC-endepunktet. Se /api.
Masternøkkelcdk_master_Hvert prosjekt på kontoenOppretter, 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.

  1. Logg inn på app.coredash.app.
  2. Åpne Min konto og klikk på Agency API-fanen.
  3. 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.

FeltTypePåkrevdBeskrivelse
namestrengjaProsjektnavn vist i dashbordet.
urlstrengneiNettstedets URL som prosjektet sporer.
agencyplanstrengneiPlan-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:

  1. Utsted en masternøkkel én gang under Min konto → Agency API-fanen og oppbevar den sikkert.
  2. POST /api/agency/projects med kundens navn og URL. Responsen inneholder den nye _id.
  3. Bygg inn sporingskode-snutten på kundens nettsted med den _id-en.
  4. Les RUM-data for det prosjektet når som helst via POST /api/mcp med 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:

StatusBetydning
400Mangler obligatorisk felt ved opprettelse, eller ukjent plan-ID.
401Manglende, feil eller tilbakekalt masternøkkel.
404Prosjektet ble ikke funnet, eller eies ikke av din bruker.
500Databasefeil.

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.


CoreDash Agency API: Administrer prosjekter og hent data på tvers av kontoerCore Web Vitals CoreDash Agency API: Administrer prosjekter og hent data på tvers av kontoer