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

ebaysnvfotocasanestledpg mediaaleteianina carekpnadevintaworkivasaturnmarktplaatserasmusmchappyhorizonwhowhatwearcomparemy work featured on web.devharvardperionmonarchvpnloopearplugs

É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 vil logge inn i dashbordet hver gang en ny klient kommer om bord. Utsted en masternøkkel én gang, deretter opprett, oppdater og slett prosjekter, og les Core Web Vitals-data på tvers av alle sammen med én enkelt pålogging.

Leter du etter API-et for enkeltprosjekter i stedet? CoreDash API-siden 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. Dataavlesning på tvers av prosjekter: de samme JSON-RPC-verktøyene som API-et for enkeltprosjekter (get_metrics, get_timeseries, get_histogram) på /api/mcp. Med en masternøkkel sender du med project_id i argumentene for å velge hvilket prosjekt du vil ha.

To typer API-nøkler

CoreDash utsteder to nivåer av nøkler. 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_Alle prosjekter på kontoenOppretter, lister opp, oppdaterer og sletter prosjekter via REST. Leser også data for ethvert prosjekt på kontoen ved å sende inn project_id i dataverktøyene.

Masternøkler er bare tilgjengelige for kontoer som er flagget som byrå. Hvis du ikke ser Agency API-fanen som er beskrevet nedenfor, ta kontakt med support.

Få en masternøkkel

Masternøkler utstedes fra nettgrensesnittet, ikke fra API-et.

  1. Logg inn på app.coredash.app.
  2. Åpne My Account og klikk på Agency API-fanen.
  3. Klikk på Generate master key, gi den et navn, og kopier verdien. Den vises bare én gang.

Nøklene starter med cdk_master_. De lar innehaveren administrere hvert prosjekt som tilhører din brukerkonto, og lese data for hvem som helst av dem. Behandle dem som passord. Du kan trekke tilbake enhver masternøkkel fra den samme fanen.

Autentisering

Hver forespørsel til Agency API trenger en masternøkkel i Authorization-headeren:

Authorization: Bearer cdk_master_YOUR_MASTER_KEY

Den samme headeren fungerer både for REST-endepunktene for prosjekt-CRUD og for 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 som eies av masternøkkelens bruker. Som standard starter prosjektet som en 10-dagers prøveperiode. Send med agencyplan for å starte det på et betalt abonnement i stedet, med en 33-dagers faktureringsperiode.

FeltTypePåkrevdBeskrivelse
namestringjaProsjektnavnet som vises i dashbordet.
urlstringneiNettadressen som prosjektet sporer.
agencyplanstringneiAbonnements-ID (for eksempel starter). Når denne er satt, starter prosjektet på det samsvarende betalte abonnementet 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"
  }'

Svaret 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 sporingskodesnutten på kundens nettsted. Det er også 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 med vilje ikke mellom "ikke funnet" og "ikke ditt", slik at prosjekt-ID-er ikke kan listes 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 nettadresse

Oppdaterer name og/eller url. Begge feltene er valgfrie. Utelatte felt forblir som de var. Alt annet i forespørselen ignoreres. Status, fakturering, utløp og varsler administreres gjennom 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

Sletter prosjektet og alt som er knyttet til det: Lighthouse-kjøringer, CrUX-data, varsler, øyeblikksbilder og konfigurasjoner for øyeblikksbilder.

RUM-data i det underliggende datalageret blir ikke slettet i dette kallet. De forblir nøklet til den gamle prosjekt-ID-en, men blir foreldreløse. Det finnes ingen gjenopprettingsvei. Prosjekt-ID-en blir pensjonert.

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 for enkeltprosjekter bruker:

https://app.coredash.app/api/mcp

De tre verktøyene er uendret: get_metrics, get_timeseries, get_histogram. Den eneste forskjellen sammenlignet med prosjekt-flyten er at du sender med 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"
      }
    }
  }'

Svaret er den samme JSON-RPC-innpakningen som API-et for enkeltprosjekter, med den tolkede payloaden i result.content[0].text. Formen på den indre JSON-en, distribution-objektet, summary-feltet i tidsserier, og bøttestrukturen i histogrammer, oppfører seg alle 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 med 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), beregningstersklene og persentil-semantikken er alle dokumentert på CoreDash API-siden. Les den for den fullstendige parameter- og dimensjonsoverflaten. Denne siden dekker bare det som er annerledes når du autentiserer med en masternøkkel.

Onboarding av et nytt klientprosjekt

Den typiske flyten for et byrå som legger til en ny klient:

  1. Utsted en masternøkkel én gang på My Account → Agency API-fanen og lagre den sikkert.
  2. POST /api/agency/projects med klientens navn og nettadresse. Svaret inneholder den nye _id-en.
  3. Bygg inn sporingskodesnutten på klientens 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 innbygd kodesnutt, og du kan allerede spørre etter data for det nye prosjektet.

Feil

Prosjekt-CRUD-endepunkter returnerer vanlige REST-statuskoder:

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

Dataavlesninger 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 grenser 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