# APIMatic Core Library for JavaScript SDKs

This package provides the core HTTP request orchestration, response handling, and API call coordination.

The exported functionality includes:

* **Request Building**: Create fully-configured HTTP requests with dynamic URL construction, query serialization, header management, and support for multiple body formats including JSON, XML, form data, and file uploads.
* **Request Adapters**: Utilities to convert incoming requests, such as Express.js requests, into core HttpRequest objects.
* **Authentication Integration**: Seamlessly incorporate API key, bearer token, and custom authentication schemes into request execution.
* **Response Processing**: Validate and transform API responses into strongly-typed objects, with support for JSON, XML, text, and streams.
* **Interceptor System**: Extend request/response pipelines with authentication injection, retry strategies, logging, and schema-based validation.
* **Error Management**: Handle and classify API errors with detailed request/response context, including validation and HTTP-specific errors.
* **Utility Functions**: Common helpers for path templating, query string handling, file streaming, and secure logging.

This library is used by JavaScript SDKs generated by the [APIMatic Code Generator](http://www.apimatic.io). For details on supported platforms and build artifacts, see the [Build and Usage Section](https://github.com/apimatic/apimatic-js-runtime?tab=readme-ov-file#builds-and-usage).