Hoppa till innehållet
Stackship-dokumentation English

Stackship-plattformenAnvändareMaskinöversatt

Felkoder

Felkoderna som alla plattformens moduler kan svara med, och plattformskärnans egna — status, orsak och vad du gör.

Koderna på den här sidan betyder samma sak oavsett vilken modul som svarar med dem. Kroppens module anger modulen som svarade; koden dokumenteras här, under plattformens kärna. Själva kroppen beskrivs i Fel.

Om inte avsnittet säger något annat har kroppen fälten error, code, module och correlationId, och ett 5xx från en modul når dig med error ersatt — se Fel från gatewayen.

Anrop som plattformen inte kan ta emot

MODEL_BINDING_FAILED

Status 400, på alla rutter.

Anropet gick inte att läsa: kroppen är inte giltig JSON, ett värde har fel typ, eller en obligatorisk parameter saknas. error är den fasta meningen "Request failed with status 400. Check request format and parameters." och säger inte vilken del som var fel.

Vad du gör: kontrollera anropet mot ruttens format — JSON-koden, typerna på dess värden och parametrarna i sökvägen och frågesträngen.

BAD_REQUEST

Status 400, på alla rutter. Några rutter använder den med 413 eller 415 när själva anropets kropp inte går att läsa.

Anropet är felformat eller hänvisar till något som inte är giltigt; error säger vad. Vissa rutter svarar också på en misslyckad validering med den här koden och fältfelen i errors — se Valideringsfel. En del fel inne i plattformen rapporteras också på det här sättet.

Vad du gör: rätta det som error anger. Beskriver den inget som du kan ändra i anropet rapporterar du den med correlationId.

VALIDATION_FAILED

Status 422, på alla rutter som validerar det de tar emot. Kärnans rutt för telemetriinställningarna svarar med 400.

Anropet är korrekt format men dess värden klarar inte valideringen. När fälten är kända listar details dem, en { "field": "…", "message": "…" } per fel, och error är "Validation failed."; annars anger error orsaken och details saknas. Ett 422 vars kropp inte anger någon annan kod får också den här koden; error säger då vad som avvisades.

Vad du gör: rätta de angivna fälten och skicka anropet igen.

UNAUTHORIZED

Status 401, på alla rutter som kräver inloggning.

Anropet saknade token, eller hade en som är ogiltig eller har gått ut. För en moduls rutter svarar kärnan med "error": "missing bearer token" i alla tre fallen. MCP-gränssnittet svarar med en header WWW-Authenticate: Bearer resource_metadata="…" som talar om för en AI-klient var den ska logga in.

Vad du gör: hämta en ny token och skicka den som Authorization: Bearer <token> — se Autentisera.

NOT_FOUND

Status 404, på alla rutter.

Ingen rutt matchar sökvägen, eller så finns inte resursen, resursgruppen eller det andra objekt som den anger.

Vad du gör: kontrollera sökvägen och namnen i den, också resursgruppens.

METHOD_NOT_ALLOWED

Status 405, på alla rutter.

Rutten finns men tar inte emot den här HTTP-metoden.

Vad du gör: använd en metod som rutten tar emot. https://api.example.com/api/routes listar dem — se Lista rutterna.

Behörigheter

FORBIDDEN

Status 403, på alla rutter som kontrollerar en behörighet.

Du är inloggad men har inte den åtgärd som rutten kräver med omfattningen i dess sökväg. error anger inte vilken åtgärd som saknas.

En modul som inte når plattformens behörighetstjänst kan också svara FORBIDDEN, eftersom den avvisar ett anrop som den inte kan kontrollera; andra moduler svarar AUTHORIZATION_UNAVAILABLE i det läget.

Vad du gör: leta upp rollen som ger åtgärden på modulens behörighetssida, och be en ägare av boundaryn om den — eller begär den som just-in-time-åtkomst, se Begär åtkomst. Har du redan rollen försöker du igen om en stund.

FORBIDDEN_REQUESTABLE

Status 403. Returneras när du tar bort en containerinstans (DELETE /boundaries/{boundaryId}/resourcegroups/{resourceGroupName}/resources/containerinstances/{name}) men inte får ta bort valvet som tas bort tillsammans med den. Ingenting tas bort.

Plattformen skickar en just-in-time-begäran om Contributor på valvet åt dig. details beskriver den: Action, Scope, Subject (valvet), RoleDefinitionId, RoleName, Justification, och — när en begäran kunde skickas — JitRequestId och JitStatus.

Vad du gör: låt en ägare godkänna begäran, aktivera den och ta bort igen — se Aktivera. Utan JitRequestId begär du själv rollen i RoleName med omfattningen i Scope.

VAULT_GRANT_FORBIDDEN

Status 403. Returneras när du skapar eller ändrar en containerinstans, eller driftsätter en blueprint som skapar en, vars containrar läser hemligheter från ett valv där du inte får tilldela roller. Ingenting skapas eller ändras.

Instansens identitet behöver Secrets Reader på valvet, och bara en ägare av valvet kan ge den. Plattformen skickar en just-in-time-begäran om Owner på valvet åt dig, eller återanvänder en som du redan har. details beskriver den: Vault, ResourceGroup, Scope, PrincipalId (instansens identitet, när den redan har en), och — när en begäran kunde skickas — JitRequestId och JitStatus.

Vad du gör: låt en ägare godkänna begäran, aktivera den och driftsätt igen — se Aktivera. Utan JitRequestId begär du själv Owner på valvet.

AUTHORIZATION_UNAVAILABLE

Status 503. Returneras av vissa av plattformens moduler, på alla deras rutter som kontrollerar en behörighet.

Modulen nådde inte plattformens behörighetstjänst för att kontrollera din behörighet, så den avvisade anropet hellre än att släppa igenom det okontrollerat. Andra moduler rapporterar samma läge som FORBIDDEN.

Vad du gör: försök igen om en stund. Om felet består rapporterar du det med correlationId.

Konflikter

CONFLICT

Status 409, på rutter som ändrar något.

Anropet krockar med det aktuella tillståndet, och error säger hur: resursen ändrades av någon annan samtidigt, en boundary innehåller fortfarande resurser, en utrullning av plattformen pågår redan eller kan inte avbrytas, pausas eller rullas tillbaka i sitt nuvarande läge, med mera. Ett 409 vars kropp inte anger någon annan kod får också den här koden.

Vad du gör: läs error, vänta ut eller lös det läge den beskriver, och försök igen. En samtidig ändring kräver inget mer än ett nytt försök.

DUPLICATE

Status 409, på rutter som skapar något med ett namn: en resursgrupp, en app, en statisk webbapp, ett S3-konto, en blueprint-instans med flera.

Det finns redan något med det namnet där du skapar det. error anger vad, eller lyder "A resource with the same name already exists."

Vad du gör: välj ett annat namn, eller arbeta med det som redan finns.

Beräkningsplaner

En boundarys policyer kan begränsa vilka beräkningsplaner dess resurser får använda. Appar, PostgreSQL-kluster, SQL Server-instanser, Qdrant-kluster och containerinstanser kontrollerar policyn när de skapas, när deras beräkningsplan ändras och — för en containerinstans — när en revision rullas tillbaka.

compute_plan_not_allowed

Status 422, på rutterna som skapar och uppdaterar resurserna ovan.

En policy i boundaryn tillåter inte den begärda beräkningsplanen för den här resurstypen. error anger planen, och komponenten för en containerinstans, och listar planerna som policyn tillåter, eller säger att den inte tillåter någon. Listan finns bara i den meningen; inget eget fält har den.

Vad du gör: välj en av de listade planerna, eller be den som hanterar boundaryns policyer att tillåta planen.

compute_plan_policy_unavailable

Status 503, på samma rutter.

Plattformen kunde inte läsa boundaryns policy för beräkningsplaner, så den avvisade ändringen hellre än att riskera en som policyn förbjuder. error lyder "The boundary's compute plan policy could not be checked, so the request was refused. Try again shortly." när den når dig; genom gatewayen ersätts den som för alla 5xx.

Vad du gör: försök igen om en stund. Om felet består rapporterar du det med correlationId.

Fel inne i plattformen

PLATFORM_ERROR

Status från 400 till 599, på rutter som läser eller ändrar resurser i Kubernetes.

Plattformen bad Kubernetes skapa, ändra, läsa eller ta bort en resurs, och det misslyckades. error lyder "Failed to {operation} {type} '{name}': {reason}". När Kubernetes avvisade en skapande eller ändring är statusen den som Kubernetes gav — till exempel 409, 422 eller 403. Annars följer statusen orsaken: 403 för forbidden, 401 för unauthorized, 404 för not found, 409 för already exists och 502 för allt annat.

Vad du gör: vid ett 4xx rättar du det som orsaken anger. Vid ett 502 försöker du igen; om felet består rapporterar du det med correlationId.

GRPC_ERROR

Status 404, 403, 401, 400, 409, 429 eller 503 när tjänstens svar motsvarar en av dem, annars 502. På alla rutter som anropar en annan plattformstjänst.

Ett anrop från modulen till en annan plattformstjänst misslyckades. error lyder "Upstream service error: …" med tjänstens orsak.

Vad du gör: vid 503 eller 502 försöker du igen om en stund. Vid de andra statuskoderna agerar du efter statusen: kontrollera namnen, din behörighet eller anropet.

INTERNAL_ERROR

Status 500, på alla rutter.

Ett oväntat fel. error är "An internal error occurred." eller modulens egen beskrivning, och genom gatewayen ersätts den som för alla 5xx. Ett 500 vars kropp inte anger någon annan kod får också den här koden.

Vad du gör: försök igen en gång; misslyckas det igen rapporterar du det med correlationId.

NOT_SUPPORTED

Status 501, på alla rutter.

Åtgärden stöds inte, här eller i den här formen. error är "This operation is not supported."

Vad du gör: försök inte igen; svaret blir detsamma.

REQUEST_FAILED

Status alla felstatusar utan en mer specifik kod — till exempel 409, 410, 422, 429, 500 eller 503 när rutten inte gav några fler detaljer. På alla rutter.

Rutten svarade med en felstatus utan kropp — eller, med en status som 410, 429 eller 503 som inte har någon egen kod, med en kropp som inte anger någon kod. error är "Request failed with status {status}." eller ruttens egen mening.

Vad du gör: agera efter statusen. Vid 429 och 503 försöker du igen efter en stund; för andra rapporterar du felet med correlationId om statusen inte förklarar det.

Fel från plattformens kärna

MODULE_UNAVAILABLE

Status 503, med "module": "kernel". På en moduls rutter, som kärnan skickar vidare till den.

Kärnan kunde inte lämna över anropet till modulen som betjänar rutten:

  • Modulen kör inte. Den är inte registrerad, eller har slutat rapportera att den lever. error lyder "The '{name}' module is not available right now (no active registration). Retry shortly." Bara rutter under …/resources/{type} känns igen medan deras modul är nere; övriga rutter för en modul som inte kör svarar som om de inte fanns, oftast med NOT_FOUND.
  • Modulen svarade inte. Anslutningen misslyckades, eller modulen tog för lång tid på sig att svara. error lyder "The '{name}' module did not respond (…). Retry shortly."

targetModule anger modulen: i det första fallet resurstypen från sökvägen, till exempel postgresclusters, eller unknown; i det andra modulens registreringsnamn, till exempel postgres. Inget av dem är den dokumentationsnyckel som module annars innehåller.

Vad du gör: försök igen om en stund. Om felet består rapporterar du det till din plattformsadministratör med targetModule och correlationId.

mcp_disabled

Status 404, med "module": "kernel". På MCP-gränssnittet, https://api.example.com/mcp, och dess upptäcktsdokument under /.well-known/oauth-protected-resource, med eller utan inloggning.

Plattformens MCP-gränssnitt för AI-klienter är avstängt. error lyder "The MCP interface is not enabled on this platform. A Platform Owner turns it on under Platform settings."

Vad du gör: be en plattformsadministratör slå på gränssnittet — se Slå på AI-klienter. När det är på ansluter du igen enligt Anslut en AI-klient.