Hopp til innholdet
Sursa Developers

POST/v1/catalog/resolve

Slå opp navn i tjenestekatalogen

resolve_catalog_services

For hvert navn slik det står i organisasjonens data (navnet på en tjeneste eller leverandør i en utgiftstabell) returneres den samsvarende katalogoppføringen eller ingenting. Samsvaret er deterministisk: navnet normaliseres (store og små bokstaver, diakritiske tegn, tegnsetting, juridiske suffikser som Inc, Ltd, GmbH) og sammenlignes i sin helhet med navnet, gruppen, kuraterte alias og et unikt nettstedsdomene. Organisasjonens egne tilknytninger (/v1/org/service-aliases) har forrang. Med suggest: true får navn uten treff opptil fem lignende oppføringer som hint for manuell tilknytning; de brukes aldri automatisk. Sursa fyller feltet service i svarets enheter (AnswerEntity) og i rader med kostnadsinnsikt på samme måte. Opptil 200 navn per forespørsel. Dette er en leseoperasjon og er tilgjengelig i modusen «View as».

Autentisering

Send en API-nøkkel i headeren Authorization: Authorization: Bearer <nøkkel>.

Headerparametere

  • X-View-Asstring

    Bare for API-nøkler med rollen admin. Utfører forespørselen som dataprofilen <profile>[:viewer|verifier|editor], for eksempel employee:viewer. Installasjonsnøkkelen kan ikke bruke denne headeren (403).

Parametere i informasjonskapsler

  • kb_view_asstring

    Informasjonskapsel for modusen «View as» (vis som) i en økt. POST /auth/view-as setter den, og DELETE /auth/view-as fjerner den.

Forespørselens brødtekst

application/json

Objekt: CatalogResolveRequest

  • namesarray of stringobligatorisk

    Navn fra organisasjonens data (1–200), slik de står i tabeller og svar.

    items ≥ 1, items ≤ 200

  • suggestboolean

    For navn uten treff: returner opptil fem lignende oppføringer (hint for manuell kobling).

    Standard: false

Svar

200Vellykket svar

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: CatalogResolveResponse

  • resultsarray of CatalogResolveMatchobligatorisk

    I samme rekkefølge som navnene i forespørselen.

401Ingen påloggingsinformasjon ble sendt (verken øktinformasjonskapsel eller API-nøkkel), eller nøkkelen ble ikke funnet.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

403Handlingen er ikke tillatt: rollen er utilstrekkelig, det finnes ingen tilgang til samlingen eller kortet, forespørselen kjører i modusen «View as», eller organisasjonen er suspendert eller slettet (`detail` er et objekt med `code: org_suspended | org_deleted`).

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

422Valideringsfeil: brødteksten eller parameterne samsvarer ikke med skjemaet (`detail` er en liste over valideringsfeil), eller en parameterverdi er utenfor tillatt område (`detail` er en melding).

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

429For mange forespørsler (`api.rate_limited`), organisasjonens kvote for minuttet, døgnet eller måneden er brukt opp (`api.quota_exceeded`; `error.details` inneholder `quota`, `limit` og `reset_at`), organisasjonens grense er nådd, eller svartjenesten er opptatt (`answers.engine_busy`). Vent så lenge som headeren `Retry-After` angir.

Headere i svaret

  • Retry-After

    Antall sekunder du skal vente før du prøver forespørselen på nytt.

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

Feilkoder

Kodene denne operasjonen kan returnere i error.code, i tillegg til de generelle kodene for alle forespørsler.

Trygge nye forsøk

Send en Idempotency-Key-header (for eksempel en UUID) med hver POST og PATCH. Et nytt forsøk med samme nøkkel innen 24 timer returnerer det lagrede svaret i stedet for å kjøre forespørselen på nytt.

Hastighetsgrenser

Svarene har headerne RateLimit og RateLimit-Policy og de eldre X-RateLimit-Limit, X-RateLimit-Remaining og X-RateLimit-Reset. Et 429-svar har Retry-After i sekunder: Vent, og prøv på nytt.

← catalog · API-referanse