# @azure/core-client

> Core library for interfacing with AutoRest generated code

Latest version **1.11.1** (published 2026-09-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install @azure/core-client
pnpm add @azure/core-client
yarn add @azure/core-client
bun add @azure/core-client
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 1.11.1 |
| Published | 2026-09-03 |
| First published | 2020-09-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22.0.0 |
| Dependencies | 7 |
| Unpacked size | 1.3 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2296 |
| Author | Microsoft Corporation |
| Maintainers | azure-sdk, microsoft1es, microsoft-oss-releases |
| Keywords | azure, cloud |

## Links

- npm: https://www.npmjs.com/package/@azure/core-client
- Repository: https://github.com/Azure/azure-sdk-for-js
- Homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-client/
- Issues: https://github.com/Azure/azure-sdk-for-js/issues
- npm.io page: https://npm.io/package/@azure/core-client

## Dependencies (7)

- [tslib](https://npm.io/package/tslib.md) ^2.6.2
- [@azure/logger](https://npm.io/package/@azure/logger.md) ^1.3.0
- [@azure/core-auth](https://npm.io/package/@azure/core-auth.md) ^1.10.0
- [@azure/core-util](https://npm.io/package/@azure/core-util.md) ^1.13.0
- [@azure/core-tracing](https://npm.io/package/@azure/core-tracing.md) ^1.3.0
- [@azure/abort-controller](https://npm.io/package/@azure/abort-controller.md) ^2.1.2
- [@azure/core-rest-pipeline](https://npm.io/package/@azure/core-rest-pipeline.md) ^1.22.0

## Recent versions

- 1.11.1 (latest) — 2026-09-03
- 1.10.2-alpha.20260311.2 (dev) — 2026-03-11
- 1.11.0 — 2026-07-13
- 1.10.2 — 2026-06-04
- 1.10.2-alpha.20260306.4 — 2026-03-06
- 1.10.2-alpha.20260305.6 — 2026-03-05
- 1.10.2-alpha.20260227.2 — 2026-02-27
- 1.10.2-alpha.20260226.1 — 2026-02-26
- 1.10.2-alpha.20260223.3 — 2026-02-23
- 1.10.2-alpha.20260210.1 — 2026-02-10
- 1.10.2-alpha.20260206.1 — 2026-02-06
- 1.10.2-alpha.20260204.2 — 2026-02-04
- 1.10.2-alpha.20260127.1 — 2026-01-27
- 1.10.2-alpha.20260126.3 — 2026-01-26
- 1.10.2-alpha.20260120.1 — 2026-01-20
- … 447 more at https://npm.io/package/@azure/core-client/versions

## README

# Azure Core Service client library for JavaScript

This library is primarily intended to be used in code generated by [AutoRest](https://github.com/Azure/Autorest) and [`autorest.typescript`](https://github.com/Azure/autorest.typescript).

## Getting started

### Currently supported environments

- [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule)
- Latest versions of Safari, Chrome, Edge, and Firefox.

See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details.

### Installation

This package is primarily used in generated code and not meant to be consumed directly by end users.

## Key concepts

### ServiceClient

This is the common base class for generated clients. It provides the methods `sendOperationRequest` and `sendRequest`.

`sendRequest` simply makes an HTTP request using a `Pipeline` (see `@azure/core-rest-pipeline` for details.)

`sendOperationRequest` is used by generated code to make a request using an `OperationSpec` and `OperationArguments`. An `OperationSpec` is a translation of request requirements from the OpenAPI/Swagger file that describes the service.

### createClientPipeline

This method is used to create a `Pipeline` instance that is customized with extra policies that perform serialization and deserialization. The bulk of the work is in converting requests into the right HTTP message that a service expects and then converting the HTTP response payload into the response shape described by the service's OpenAPI specification file.

### Mappers / createSerializer

`Mapper`s are used to encode and decode data into HTTP headers and bodies. They describe all request and response fields. They are referenced by `OperationSpec`s.

The method `createSerializer` creates a `Serializer` that is used to do the bulk of the work transforming data when making a request or processing a response. Given a corpus of `Mapper`s and the appropriate `OperationSpec` it can manufacture an HTTP request object from a user provided input or convert an HTTP response object into a user-friendly form.

## Next steps

You can build and run the tests locally by executing `npm run test`. Explore the [test](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-client/test) folder to see advanced usage and behavior of the public classes.

Learn more about the [TypeSpec](https://typespec.io) [`@azure-tools/typespec-ts`](https://github.com/Azure/typespec-azure/tree/main/packages/typespec-ts) emitter for generating a compatible client on top of this package.

## Troubleshooting

If you run into issues while using this library, please feel free to [file an issue](https://github.com/Azure/azure-sdk-for-js/issues/new).

## Contributing

If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code.

---
_Source: https://npm.io/package/@azure/core-client · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
