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:
Feature | Description |
---|---|
Access to HTTP Response Data | SDKs created can now also return the HTTP response information like response headers, status code and body on API calls. |
Additional Model Properties | APIMatic 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 Formats | This 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 Operations | For 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 Tokens | This 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 Model | All 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 SDKs | All SDKs follow coding style conventions and best practices making the SDKs code consistent, reliable and maintainable. |
Configurable HTTP Clients | Developers 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 Messages | APIMatic 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 Endpoints | An 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 Messages | Dynamic 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 Interfaces | SDKs 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 SDKs | All 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 calls | SDKs support cancellation of API calls during the API call execution. |
Immutable Client | Client 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 AllOf | This 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. |
Logging | APIMatic 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 Authentication | This 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 Requests | You 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 Methods | All SDKs support popular OAuth flows and provide utility methods to generate or refresh access tokens. |
OneOf and AnyOf | This 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 Properties | APIMatic 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 Collections | This 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 Backoff | If 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 Operations | SDKs are designed to handle concurrent API calls in a thread safe manner. |