---
title: Shared
url: https://platform.claude.com/docs/en/api/ruby/$shared
---

# Shared

## Domain types

### API Error Object

- `class APIErrorObject`

  - `type: :api_error`

  - `message: String`

### Authentication Error

- `class AuthenticationError`

  - `type: :authentication_error`

  - `message: String`

### Billing Error

- `class BillingError`

  - `type: :billing_error`

  - `message: String`

### Error Object

- `type ErrorObject = InvalidRequestError | AuthenticationError | BillingError | 6 more`

  - `class InvalidRequestError`

    - `type: :invalid_request_error`

    - `message: String`

  - `class AuthenticationError`

    - `type: :authentication_error`

    - `message: String`

  - `class BillingError`

    - `type: :billing_error`

    - `message: String`

  - `class PermissionError`

    - `type: :permission_error`

    - `message: String`

  - `class NotFoundError`

    - `type: :not_found_error`

    - `message: String`

  - `class RateLimitError`

    - `type: :rate_limit_error`

    - `message: String`

  - `class GatewayTimeoutError`

    - `type: :timeout_error`

    - `message: String`

  - `class APIErrorObject`

    - `type: :api_error`

    - `message: String`

  - `class OverloadedError`

    - `type: :overloaded_error`

    - `message: String`

### Error Response

- `class ErrorResponse`

  - `type: :error`

  - `error: ErrorObject`

    - `class InvalidRequestError`

      - `type: :invalid_request_error`

      - `message: String`

    - `class AuthenticationError`

      - `type: :authentication_error`

      - `message: String`

    - `class BillingError`

      - `type: :billing_error`

      - `message: String`

    - `class PermissionError`

      - `type: :permission_error`

      - `message: String`

    - `class NotFoundError`

      - `type: :not_found_error`

      - `message: String`

    - `class RateLimitError`

      - `type: :rate_limit_error`

      - `message: String`

    - `class GatewayTimeoutError`

      - `type: :timeout_error`

      - `message: String`

    - `class APIErrorObject`

      - `type: :api_error`

      - `message: String`

    - `class OverloadedError`

      - `type: :overloaded_error`

      - `message: String`

  - `request_id: String`

### Error Type

- `type ErrorType = :invalid_request_error | :authentication_error | :permission_error | 6 more`

  - `:invalid_request_error`

  - `:authentication_error`

  - `:permission_error`

  - `:not_found_error`

  - `:rate_limit_error`

  - `:timeout_error`

  - `:overloaded_error`

  - `:api_error`

  - `:billing_error`

### Gateway Timeout Error

- `class GatewayTimeoutError`

  - `type: :timeout_error`

  - `message: String`

### Invalid Request Error

- `class InvalidRequestError`

  - `type: :invalid_request_error`

  - `message: String`

### Not Found Error

- `class NotFoundError`

  - `type: :not_found_error`

  - `message: String`

### Overloaded Error

- `class OverloadedError`

  - `type: :overloaded_error`

  - `message: String`

### Permission Error

- `class PermissionError`

  - `type: :permission_error`

  - `message: String`

### Rate Limit Error

- `class RateLimitError`

  - `type: :rate_limit_error`

  - `message: String`
