Skip to main content

SDK Features Overview

APIMatic offers SDK Generation for your APIs to help accelerate the API consumption process. These SDKs generated aren't just a mapping of the API onto the SDK. They contain additional functionality that adheres to the best coding practices to make the SDKs as robust and fault-tolerant as possible. The features and their description are shown in the table below:

FeatureDescription
Access to HTTP Response DataSDKs created can now also return the HTTP response information like response headers, status code and body on API calls.
Additional Model PropertiesAPIMatic CodeGen allows adding additional properties to models, enhancing the flexibility and customization of the generated SDKs. For more details on this feature, refer to Additional Model Properties.
Array Serialization FormatsThis feature supports various array serialization formats, enabling developers to handle arrays in different ways as per their API requirements. For more details on this feature, refer to Array Serialization Formats.
Async OperationsFor languages that support asynchronous operations, SDKs provide asynchronous methods to call endpoints to fully utilize the potential of async programming paradigm.
Auto Refresh OAuth 2.0 TokensThis feature allows the SDK to automatically refresh OAuth 2.0 tokens, ensuring seamless authentication without manual intervention. For more details on this feature, refer to Auto Refresh OAuth 2.0 Tokens.
Code Samples and Usage Examples for Every Endpoint and ModelAll SDKs have detailed documentation on all endpoints and models. The documentation provides code samples for the endpoints by dynamically populating dummy data needed for an endpoint call.
Code Style Compliant SDKsAll SDKs follow coding style conventions and best practices making the SDKs code consistent, reliable and maintainable.
Configurable HTTP ClientsDevelopers can provide their own instance of the HTTP client during client initialization. This gives them the ability to override default configurations used by our SDKs. For more details on this feature, refer to Configurable HTTP Clients.
Custom Error MessagesAPIMatic CodeGen allows defining custom errors against 4XX - 5XX HTTP response codes. You can use this feature to define meaningful information to failed calls. For more details on this feature, refer to Custom Error Messages.
Deprecating API EndpointsAn endpoint that's marked as deprecated will result in a compiler warning or a notice logged to the console when the endpoint method is called by the SDK user. This feature helps developers identify and migrate from deprecated endpoints using clear messages and compiler warnings. For more details on this feature, refer to Deprecating API Endpoints.
Dynamic Error MessagesDynamic error messages allow you to define template messages that are populated with data at runtime. Through this feature, users can figure out the exact reason behind the failed call and debug accordingly. For more details on this feature, refer to Dynamic Error Messages.
Extendable InterfacesSDKs can be configured to generate interfaces for controller classes. These interfaces can be used to extend the functionality of the SDKs.
Getting Started ReadMe's with all SDKsAll SDKs come bundled with a comprehensive ReadMe that contains information about environments, configuration, authentication and code samples to initialize the client. Also a step by step guide on setting up the SDK in a popular IDE has been given.
Handle Cancellation of API callsSDKs support cancellation of API calls during the API call execution.
Immutable ClientClient classes of all the SDKs are designed using the immutable design pattern. This gives developers the assurity that once the client has been instantiated, no method call would mutate its state.
Inheritance and Polymorphism with AllOfThis feature supports the AllOf constructs in API specifications, providing flexibility in combining multiple schema definitions. For more details on this feature, refer to Inheritance and Polymorphism with AllOf.
LoggingAPIMatic CodeGen includes logging capabilities to help developers debug and monitor the SDKs behavior. This feature provides detailed logs of API requests and responses. For more details on this feature, refer to Logging.
Multiple AuthenticationThis feature supports multiple authentication methods, allowing developers to implement various authentication schemes in their SDKs. For more details on this feature, refer to Multiple Authentication.
Multipart RequestsYou can send JSON-encoded data in a multipart request by setting the encoding of the parameter as JSON in your API definition.
OAuth Support and Utility MethodsAll SDKs support popular OAuth flows and provide utility methods to generate or refresh access tokens.
OneOf and AnyOfThis feature supports the OneOf and AnyOf constructs in API specifications, providing flexibility in handling different data types. For more details on this feature, refer to OneOf and AnyOf.
Optional and Nullable PropertiesAPIMatic CodeGen supports optional and nullable Properties, allowing developers to handle optional data in their API requests and responses. For more details on this feature, refer to Optional and Nullable Properties.
Request Parameter CollectionsThis feature enables the SDK to collect parameters for endpoints, simplifying the process of making API calls with multiple parameters. For more details on this feature, refer to Request Parameter Collections.
Retries with Exponential BackoffIf an API call fails due to network problems, it's retried with an exponentially increasing wait time up to a maximum retry count specified by the user. This is particularly helpful during temporary network outages. For more details on this feature, refer to Retries with Exponential Backoff.
Thread Safe OperationsSDKs are designed to handle concurrent API calls in a thread safe manner.