CoreDash Agency API: Hantera projekt och hämta data över flera konton

Hantera många projekt från ett konto. Skapa en master key en gång, skapa och ta bort projekt via REST, och hämta Core Web Vitals-data över dem alla med en enda nyckel.

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

Trusted by market leaders · Client results

aleteiawhowhatwearfotocasaworkivanina careloopearplugsmarktplaatsnestlesaturnperionkpnsnvcompareerasmusmcmy work featured on web.devhappyhorizonadevintamonarchvpnharvardebaydpg media

En nyckel för varje projekt på ditt konto

Agency API är till för konton som hanterar många projekt. Byråer, in-house-team som driver ett dussin varumärken, alla som inte vill logga in i instrumentpanelen varje gång en ny kund ansluter. Skapa en master key en gång, skapa sedan projekt, uppdatera dem, ta bort dem och läs Core Web Vitals-data tvärs över dem alla med denna enda inloggningsuppgift.

Letar du efter per-projekt-API:et istället? Sidan för CoreDash API täcker ett enskilt projekt med en projektbegränsad nyckel. Samma dataverktyg, smalare omfattning, enklare konfiguration.

Agency API gör två saker:

  1. Projekt-CRUD: en liten REST-yta på /api/agency/projects för att skapa, lista, uppdatera och ta bort projekt.
  2. Dataläsningar över flera projekt: samma JSON-RPC-verktyg som per-projekt-API:et (get_metrics, get_timeseries, get_histogram) på /api/mcp. Med en master key skickar du med project_id i argumenten för att välja vilket projekt du vill ha.

Två typer av API-nycklar

CoreDash utfärdar två nivåer av nycklar. Varje nyckel har en specifik uppgift.

NyckelPrefixOmfattningVad den gör
Projektnyckelcdk_Ett projektLäser RUM-data för det projektet via JSON-RPC-slutpunkten. Se /api.
Master keycdk_master_Varje projekt på kontotSkapar, listar, uppdaterar och tar bort projekt via REST. Läser även data för valfritt projekt på kontot genom att skicka med project_id i dataverktygen.

Master keys är endast tillgängliga för konton flaggade som byråer. Om du inte ser fliken Agency API som beskrivs nedan, kontakta supporten.

Skaffa en master key

Master keys skapas från webbgränssnittet, inte från API:et.

  1. Logga in på app.coredash.app.
  2. Öppna My Account och klicka på fliken Agency API.
  3. Klicka på Generate master key, namnge den och kopiera värdet. Det visas endast en gång.

Nycklar börjar med cdk_master_. De låter innehavaren hantera alla projekt som tillhör ditt användarkonto och läsa data för vart och ett av dem. Behandla dem som lösenord. Du kan återkalla vilken master key som helst från samma flik.

Autentisering

Varje begäran mot Agency API kräver en master key i Authorization-headern:

Authorization: Bearer cdk_master_YOUR_MASTER_KEY

Samma header fungerar för både REST-slutpunkterna för projekt-CRUD och data-slutpunkten för JSON-RPC. Inget annat förändras.

Projekt-CRUD: REST-ytan

Bas-URL för projekthantering:

https://app.coredash.app/api/agency/projects

Dessa är vanliga REST-anrop. Inte JSON-RPC.

POST /api/agency/projects: skapa ett projekt

Skapar ett nytt projekt som ägs av master key-användaren. Som standard startar projektet som en 10-dagars provperiod. Skicka med agencyplan för att starta det med en betald prenumeration istället, med en faktureringsperiod på 33 dagar.

FältTypKrävsBeskrivning
namestringjaProjektnamnet som visas i instrumentpanelen.
urlstringnejWebbplatsens URL som projektet spårar.
agencyplanstringnejPlan-id (till exempel starter). När detta är angivet startar projektet med den matchande betalda prenumerationen i stället för en provperiod.
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 vid framgång är 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 är vad du lägger i spårningskodsnutten (tracking snippet) på kundens webbplats. Det är också det project_id du skickar till dataverktygen nedan.

GET /api/agency/projects: lista projekt

Returnerar de projekt din användare äger, sorterade efter skapandedatum (nyaste först). Pagineras med limit (max 500, standard 100) och 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: hämta ett projekt

Returnerar ett enskilt projektdokument. Returnerar 404 om din användare inte äger projektet. Vi skiljer medvetet inte på "not found" och "not yours" så att projekt-ID:n inte kan räknas upp över konton.

curl https://app.coredash.app/api/agency/projects/655f1f77bcf86cd799439011 \
  -H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY"

PATCH /api/agency/projects/:id: uppdatera namn eller URL

Uppdaterar name och/eller url. Båda fälten är valfria. Utelämnade fält lämnas som de var. Allt annat i bodyn ignoreras. Status, fakturering, utgångsdatum och larm hanteras via instrumentpanelen.

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: ta bort ett projekt permanent (hard-delete)

Tar bort projektet och allt som är kopplat till det: Lighthouse-körningar, CrUX-data, larm, ögonblicksbilder (snapshots) och snapshot-konfigurationer.

RUM-data i det bakomliggande datalagret tas inte bort vid detta anrop. Det ligger kvar med det gamla projekt-ID:t som nyckel men blir övergivet. Det finns ingen väg för återställning. Projekt-ID:t pensioneras.

curl -X DELETE https://app.coredash.app/api/agency/projects/655f1f77bcf86cd799439011 \
  -H "Authorization: Bearer cdk_master_YOUR_MASTER_KEY"
{ "status": 200, "deleted": true }

Läsa data med en master key

För att hämta Core Web Vitals-data för ett av dina projekt anropar du samma JSON-RPC-slutpunkt som per-projekt-API:et använder:

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

De tre verktygen är oförändrade: get_metrics, get_timeseries, get_histogram. Den enda skillnaden jämfört med per-projekt-flödet är att du skickar med project_id i arguments så att anropet vet vilket projekt som ska kollas. Projektnycklar behöver inte detta eftersom varje projektnyckel redan är avgränsad till ett enskilt projekt. Master keys täcker många projekt, så begäran måste namnge ett.

Exempel: get_metrics för ett 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 är samma JSON-RPC-omslag som för per-projekt-API:et, med den tolkade payloaden i result.content[0].text. Utformningen av det inre JSON-innehållet, distribution-objektet, fältet summary för tidsserier, samt bucket-strukturen i histogram fungerar precis på samma sätt som med en projektnyckel. Det enda extra kravet är argumentet project_id.

Samma gäller för get_timeseries och get_histogram. Skicka med project_id och därefter de vanliga argumenten.

Alla andra parametrar fungerar på samma sätt: filters, group, percentile, date, granularity, och så vidare. Dimensionsreferensen (d, cc, ff, lcpel, inpel, allihop), gränsvärden för metrics och semantiken för percentiler är alla dokumenterade på sidan för CoreDash API. Läs den för hela ytan av parametrar och dimensioner. Denna sida täcker enbart vad som är annorlunda när du autentiserar med en master key.

Onboarding av ett nytt kundprojekt

Det typiska flödet för en byrå som lägger till en ny kund:

  1. Skapa en master key en gång på My Account → fliken Agency API och lagra den säkert.
  2. POST /api/agency/projects med kundens namn och URL. Svaret innehåller det nya _id.
  3. Bädda in spårningskodsnutten (tracking snippet) på kundens webbplats med detta _id.
  4. Läs RUM-data för projektet när som helst via POST /api/mcp med samma master key och "project_id": "<det _id du fick>" i argumenten. Ingen separat projektnyckel behövs.

Det är hela onboarding-loopen. En nyckel, en POST, inbäddning av en kodsnutt, och du kan redan fråga data för det nya projektet.

Fel

Projekt-CRUD-slutpunkter returnerar vanliga REST-statuskoder:

StatusBetydelse
400Krävt fält saknas vid skapande, eller okänt plan-id.
401Saknad, felaktig eller återkallad master key.
404Projektet hittades inte, eller ägs inte av din användare.
500Databasfel.

Dataläsningar på /api/mcp returnerar JSON-RPC-felobjekt, på samma sätt som med en projektnyckel. Felkodstabellen finns på sidan för CoreDash API. Om du får -32001, dubbelkolla att din nyckel börjar med cdk_master_ och att du inkluderade project_id i argumenten.

Hastighetsbegränsningar (Rate limits)

Dagliga gränser per projekt gäller fortfarande när du läser data: en master key som anropar get_metrics för projekt A räknas mot projekt A:s dagliga kvot, och ett anrop för projekt B räknas mot projekt B:s kvot. Se tabellen för hastighetsbegränsningar (rate limits) på sidan för CoreDash API. Projekt-CRUD-anrop hastighetsbegränsas inte på samma sätt.


CoreDash Agency API: Hantera projekt och hämta data över flera kontonCore Web Vitals CoreDash Agency API: Hantera projekt och hämta data över flera konton