1

Here is my python code, and encountered run time error,

Error: 401 { "statusCode": 401, "message": "Unauthorized. Access token is missing,

invalid, audience is incorrect (https://cognitiveservices.azure.com), or have expired." }

import requests

# Azure OpenAI Configuration
API_KEY = "xxxxxx"  # API key from Azure OpenAI
ENDPOINT = "https://xxx.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-02-15-preview"

# API data
payload = {
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Tell me a joke."}
    ],
    "temperature": 0.7,
    "max_tokens": 100
}

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}

# API call
response = requests.post(ENDPOINT, headers=headers, json=payload)

if response.status_code == 200:
    print("Response:", response.json())
else:
    print("Error:", response.status_code, response.text)

Apikey&ENDPOINT

and gpt-4o model in swedencentral as resource type of Open AI service


model

I rechecked key and other values and topics related this issue. I can't find anything to solve it.

There will be no problem copying and pasting the key values ​​and other necessary values. API version seem correct.

or, I am using free trial, so need to upgrade subscription? I don't think so.

2 Answers 2

2

You use bearer token authorization when you are acquiring the token using Azure AD. Since you are using the API key, you need not do this.

Please change the following code:

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}

to

headers = {
    "Content-Type": "application/json",
    "api-key": f"{API_KEY}"
}

And you should not get this error.

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks Gaurav! After fixing it, another issue happens like below, Error: 404 {"error":{"code":"DeploymentNotFound","message":"The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again."}} -- When checking it 'Deployment info' , Name section says 'gpt-4o', so deployment name seem correct. Should I create resources (OpenAI, AIServices)in the same region? (eastus, swedencentral)
I don't think it has anything to do with the deployment regions. I have seen this error happening also because of API version. Please try to use the latest API version and see if that helps.
0

I fixed it creating another deployment. Thanks!

1 Comment

As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.