Cohere uses conventional HTTP response codes to indicate the success or failure of an API request. In general:

  • Codes in the 2xx range indicate success.
  • Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.).
  • Codes in the 5xx range indicate an error with Cohere's servers (these are rare).

With a non-2xx response code, the response will be an error object in the following shape:

{
    "message": string
}

Here are code examples for how error handling might look in our SDKs:

 try:
  response = co.generate(
      model='invalid-model',
      prompt='sample prompt')
  except cohere.CohereError as e:
      print(e.message)
      print(e.http_status)
      print(e.headers)
(async () => {
  const response = await cohere.generate({model: 'invalid-model'});

  if (response.statusCode !== 200) {
      console.log(response.body.message);
  }
})();
_, err := co.Generate(generateOptions)
if err != nil {
  fmt.Println(err)
  return
}