# Interface IAnthropicApiClient | AnthropicClient
Represents a client for interacting with the Anthropic API.

# Interface IAnthropicApiClient

Namespace
  AnthropicClient

Assembly
  AnthropicClient.dll

Represents a client for interacting with the Anthropic API.

    public interface IAnthropicApiClient

## Methods

### CountMessageTokensAsync(CountMessageTokensRequest)

Counts the tokens in a message asynchronously.

    Task<AnthropicResult<TokenCountResponse>> CountMessageTokensAsync(CountMessageTokensRequest request)

#### Parameters

`request` CountMessageTokensRequest

  The count message tokens request.

#### Returns

Task<AnthropicResult<TokenCountResponse>>

  A task that represents the asynchronous operation. The task result contains the response as an AnthropicResult<T> where T is TokenCountResponse.

### CreateMessageAsync(MessageRequest)

Creates a message asynchronously.

    Task<AnthropicResult<MessageResponse>> CreateMessageAsync(MessageRequest request)

#### Parameters

`request` MessageRequest

  The message request to create.

#### Returns

Task<AnthropicResult<MessageResponse>>

  A task that represents the asynchronous operation. The task result contains the response as an AnthropicResult<T>.

### CreateMessageAsync(StreamMessageRequest)

Creates a message asynchronously and streams the response.

    IAsyncEnumerable<AnthropicEvent> CreateMessageAsync(StreamMessageRequest request)

#### Parameters

`request` StreamMessageRequest

  The message request to create.

#### Returns

IAsyncEnumerable<AnthropicEvent>

  An asynchronous enumerable that yields the response event by event.

### GetModelAsync(string)

Gets a model by its ID asynchronously.

    Task<AnthropicResult<AnthropicModel>> GetModelAsync(string modelId)

#### Parameters

`modelId` string

  The ID of the model to get.

#### Returns

Task<AnthropicResult<AnthropicModel>>

  A task that represents the asynchronous operation. The task result contains the response as an AnthropicResult<T> where T is AnthropicModel.

### ListAllModelsAsync(int)

Lists the models asynchronously

    IAsyncEnumerable<AnthropicResult<Page<AnthropicModel>>> ListAllModelsAsync(int limit = 20)

#### Parameters

`limit` int

  The maximum number of models to return in each page.

#### Returns

IAsyncEnumerable<AnthropicResult<Page<AnthropicModel>>>

  An asynchronous enumerable that yields the response as an AnthropicResult<T> where T is Page<T> where T is AnthropicModel.

### ListModelsAsync(PagingRequest?)

Lists the models asynchronously.

    Task<AnthropicResult<Page<AnthropicModel>>> ListModelsAsync(PagingRequest? request = null)

#### Parameters

`request` PagingRequest

  The paging request to use for listing the models.

#### Returns

Task<AnthropicResult<Page<AnthropicModel>>>

  A task that represents the asynchronous operation. The task result contains the response as an AnthropicResult<T> where T is Page<T> where T is AnthropicModel.