# Exceptions & Warnings

## API Errors

These errors are triggered from an HTTP response that isn’t 2XX:

class elasticsearch.ApiError
  property error: str

    Backwards-compatible way to access `self.message`

  property info: Any

    Backwards-compatible way to access `self.body`

  property status_code: int

    Backwards-compatible way to access `self.meta.status`

class elasticsearch.NotFoundError

  Exception representing a 404 status code.

  __init__(message, meta, body, errors=())
    Parameters:

      - message (str)

      - meta (ApiResponseMeta)

      - body (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

class elasticsearch.ConflictError

  Exception representing a 409 status code.

  __init__(message, meta, body, errors=())
    Parameters:

      - message (str)

      - meta (ApiResponseMeta)

      - body (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

elasticsearch.RequestError

  alias of `BadRequestError`

class elasticsearch.AuthenticationException

  Exception representing a 401 status code.

  __init__(message, meta, body, errors=())
    Parameters:

      - message (str)

      - meta (ApiResponseMeta)

      - body (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

class elasticsearch.AuthorizationException

  Exception representing a 403 status code.

  __init__(message, meta, body, errors=())
    Parameters:

      - message (str)

      - meta (ApiResponseMeta)

      - body (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

class elasticsearch.UnsupportedProductError

  Error which is raised when the client detects it’s not connected to a supported product.

  __init__(message, meta, body, errors=())
    Parameters:

      - message (str)

      - meta (ApiResponseMeta)

      - body (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

## Transport and Connection Errors

These errors are triggered by an error occurring before an HTTP response arrives:

class elasticsearch.TransportError

  Generic exception for the ‘elastic-transport’ package.

  For the ‘errors’ attribute, errors are ordered from most recently raised (index=0) to least recently raised (index=N)

  If an HTTP status code is available with the error it will be stored under ‘status’. If HTTP headers are available they are stored under ‘headers’.

  __init__(message, errors=())
    Parameters:

      - message (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

class elasticsearch.SerializationError

  Error that occurred during the serialization or deserialization of an HTTP message body

  __init__(message, errors=())
    Parameters:

      - message (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

class elasticsearch.ConnectionError

  Error raised by the HTTP connection

  __init__(message, errors=())
    Parameters:

      - message (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

class elasticsearch.ConnectionTimeout

  Connection timed out during an operation

  __init__(message, errors=())
    Parameters:

      - message (Any)

      - errors (Tuple[Exception, ...])

  __new__(**kwargs)

elasticsearch.SSLError

  alias of `TlsError`

## Warnings

class elasticsearch.ElasticsearchWarning

  Warning that is raised when a deprecated option or incorrect usage is flagged via the ‘Warning’ HTTP header.

  __init__(*args, **kwargs)
  __new__(**kwargs)