401 {"code":"INVALID_API_KEY","message":"Invalid API key"}AuthenticationError: Error code: 401Incorrect API key providedYou have not supplied a valid API access key401 {"error":{"message":"Invalid API key","type":"invalid_request_error"}}Warto to odróżnić od przypadku „HTML zamiast JSON”. Czyste 401 w JSON-ie dowodzi, że base URL jest poprawny, a zapytanie jest prawidłowo kierowane. Dzieli cię jedna drobna poprawka, zamiast debugowania niewłaściwej warstwy.
Najczęstszą przyczyną wcale nie jest zły klucz – tylko niewidoczny znak. Kopiując z terminala albo z panelu WWW, często łapiesz znak nowej linii na końcu albo twardą spację, a porównanie zawodzi na kluczu, który na ekranie wygląda identycznie.
Wypisz długość klucza i porównaj ją z tym, co pokazuje panel. Jeden znak za dużo zdradza problem:
# Python
import os
k = os.environ["API_KEY"]
print(len(k), repr(k[-4:]))
# shell
printf '%s' "$API_KEY" | wc -c
Jeśli repr() pokazuje '\n' albo długość jest o jeden większa od oczekiwanej, to jest twoja odpowiedź.
curl https://apiclan.us/v1/models -H "Authorization: Bearer YOUR_KEY". Klucze należą do jednej grupy, więc klucz z jednego planu nie zadziała w innym.Ostatnio sprawdzono 2026-10-01. Napisane na podstawie problemów zdiagnozowanych na działającej bramce zgodnej z OpenAI, a nie zebrane z innych stron.