POST/v1/catalog/resolve
Matcha namn mot tjänster i katalogen
resolve_catalog_services
Returnerar för varje namn, så som det förekommer i organisationens data (ett tjänste- eller leverantörsnamn i en utgiftstabell), den matchande katalogposten eller ingenting. Matchningen är deterministisk: namnet normaliseras (skiftläge, diakritiska tecken, skiljetecken, juridiska suffix som Inc, Ltd, GmbH) och jämförs i sin helhet med namnet, gruppen, kurerade alias och en unik webbplatsdomän. Organisationens egna kopplingar (/v1/org/service-aliases) har företräde. Med suggest: true får namn utan matchning upp till fem liknande poster som tips för manuell koppling; de tillämpas aldrig automatiskt. Sursa fyller i fältet service i svarens entiteter (AnswerEntity) och i rader med utgiftsinsikter på samma sätt. Upp till 200 namn per anrop. Det här är en läsåtgärd och är tillgänglig i läget ”View as” (visa som en annan användare).
Autentisering
Skicka en API-nyckel i huvudet Authorization: Authorization: Bearer <nyckel>.
Parametrar i huvuden
X-View-AsstringBara för API-nycklar med rollen
admin. Gör anropet som dataprofilen<profile>[:viewer|verifier|editor], till exempelemployee:viewer. Installationsnyckeln kan inte använda det här huvudet (403).
Cookie-parametrar
kb_view_asstringCookie för läget ”View as” (visa som en annan användare) i en session.
POST /auth/view-assätter den ochDELETE /auth/view-astar bort den.
Anropets brödtext
application/json
namesarray of stringobligatoriskNamn från organisationens data (1–200), så som de visas i tabeller och svar.
items ≥ 1, items ≤ 200
suggestbooleanFör namn utan träff returneras upp till fem liknande poster (tips för manuell koppling).
Standard: false
Svar
200Lyckat svar
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
401Inga autentiseringsuppgifter skickades (varken en sessionscookie eller en API-nyckel), eller så hittades inte nyckeln.
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
403Åtgärden är inte tillåten: rollen räcker inte, det saknas åtkomst till samlingen eller kortet, anropet körs i läget ”View as” (visa som en annan användare), eller organisationen är avstängd eller borttagen (`detail` är ett objekt med `code: org_suspended | org_deleted`).
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
422Valideringsfel: brödtexten eller parametrarna stämmer inte med schemat (`detail` är en lista med valideringsfel), eller så ligger ett parametervärde utanför det tillåtna intervallet (`detail` är ett meddelande).
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
429För många anrop (`api.rate_limited`), organisationens kvot för minuten, dygnet eller månaden är förbrukad (`api.quota_exceeded`; `error.details` innehåller `quota`, `limit` och `reset_at`), organisationens gräns är nådd eller svarstjänsten är upptagen (`answers.engine_busy`). Vänta den tid som anges i huvudet `Retry-After`.
Svarshuvuden
Retry-AfterAntal sekunder att vänta innan du skickar anropet igen.
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
Felkoder
Koder som den här slutpunkten kan returnera i error.code, utöver de allmänna koderna för alla anrop.
Säkra nya försök
Skicka huvudet Idempotency-Key (till exempel ett UUID) med varje POST och PATCH. Ett nytt försök med samma nyckel inom 24 timmar returnerar det sparade svaret i stället för att köra anropet igen.
Hastighetsbegränsningar
Svaren innehåller huvudena RateLimit och RateLimit-Policy samt de tidigare X-RateLimit-Limit, X-RateLimit-Remaining och X-RateLimit-Reset. Ett 429-svar har Retry-After i sekunder: vänta och försök igen.