{"id":18051722,"url":"https://github.com/apimatic/core-interfaces-java","last_synced_at":"2025-10-29T04:30:31.236Z","repository":{"id":62409998,"uuid":"515538691","full_name":"apimatic/core-interfaces-java","owner":"apimatic","description":"This project contains the abstract layer for APIMatic's core-lib. ","archived":false,"fork":false,"pushed_at":"2025-02-12T13:34:51.000Z","size":133,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-12T14:49:03.281Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apimatic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-19T10:30:51.000Z","updated_at":"2025-02-12T13:34:52.000Z","dependencies_parsed_at":"2023-09-22T11:55:18.085Z","dependency_job_id":"90e4e045-ec0c-42fa-986e-347456b4788c","html_url":"https://github.com/apimatic/core-interfaces-java","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fcore-interfaces-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fcore-interfaces-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fcore-interfaces-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fcore-interfaces-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apimatic","download_url":"https://codeload.github.com/apimatic/core-interfaces-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238766994,"owners_count":19526932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T22:55:17.129Z","updated_at":"2025-10-29T04:30:31.229Z","avatar_url":"https://github.com/apimatic.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# APIMatic JAVA Core Library Interfaces\n\n[![Maven Central][maven-badge]][maven-url]\n[![Tests][test-badge]][test-url]\n[![Lint Code][lint-badge]][lint-url]\n[![Maintainability Rating][maintainability-badge]][maintainability-url]\n[![Vulnerabilities][vulnerabilities-badge]][vulnerabilities-url]\n[![Licence][license-badge]][license-url]\n\n## Introduction\n\nThis project contains the abstract layer for APIMatic's core library and Apimatic's JAVA SDK.\n\n## Prerequisites\n\n* The JRE flavor requires `JDK 1.8`.\n\n## Install the maven package\n\nCore Interfaces's Maven group ID is `io.apimatic`, and its artifact ID is `core-interfaces`.\n\n## Interfaces\n\n| Name                                                                                                                                | Description                                                                            |\n|-------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|\n| [`Context`](./src/main/java/io/apimatic/coreinterfaces/http/Context.java)                                                           | To save both Request and Response after the completion of response                     |\n| [`Callback`](./src/main/java/io/apimatic/coreinterfaces/http/Callback.java)                                                         | To perform action before Request and after the completion of response                  |\n| [`HttpClient`](./src/main/java/io/apimatic/coreinterfaces/http/HttpClient.java)                                                     | To provide abstraction to execute API call in HttpClient                               |\n| [`HttpHeaders`](./src/main/java/io/apimatic/coreinterfaces/http/HttpHeaders.java)                                                   | To save additional information about the request and response                          |\n| [`ClientConfiguration`](./src/main/java/io/apimatic/coreinterfaces/http/ClientConfiguration.java)                                   | To hold the default configurations for HttpClient                                      |\n| [`ProxyConfiguration`](./src/main/java/io/apimatic/coreinterfaces/http/proxy/ProxyConfiguration.java)                                   | To hold the proxy configuration for the HttpClient              |\n| [`Authentication`](./src/main/java/io/apimatic/coreinterfaces/authentication/Authentication.java)                                   | To Provide abstraction for all Authentications                                         |\n| [`Request`](./src/main/java/io/apimatic/coreinterfaces/http/request/Request.java)                                                   | To create and manage HTTP Requests                                                     |\n| [`Multipart`](./src/main/java/io/apimatic/coreinterfaces/http/request/Multipart.java)                                               | To wrap byteArray and headers to be sent as part of a multipart request                |\n| [`MultipartFile`](./src/main/java/io/apimatic/coreinterfaces/http/request/MultipartFile.java)                                       | To wrap file and headers to be sent as part of a multipart request                     |\n| [`CoreEndpointConfiguration`](./src/main/java/io/apimatic/coreinterfaces/http/request/configuration/CoreEndpointConfiguration.java) | To Provide endpoint level configuration                                                |\n| [`Response`](./src/main/java/io/apimatic/coreinterfaces/http/response/Response.java)                                                | To get the properties from the instance of Response                                    |\n| [`DynamicType`](./src/main/java/io/apimatic/coreinterfaces/http/response/DynamicType.java)                                          | To get the properties from the instance of Dynamic Response Type                       |\n| [`ApiResponseType`](./src/main/java/io/apimatic/coreinterfaces/http/response/ApiResponseType.java)                                  | To get the properties from the instance of ApiResponseType                             |\n| [`CompatibilityFactory`](./src/main/java/io/apimatic/coreinterfaces/compatibility/CompatibilityFactory.java)                        | Holds required converter methods to create SDK classes                                 |\n| [`CoreFileWrapper`](./src/main/java/io/apimatic/coreinterfaces/type/CoreFileWrapper.java)                                           | To wrap file and contentType to be sent as part of a HTTP request.                     |\n| [`HttpApiException`](./src/main/java/io/apimatic/coreinterfaces/type/HttpApiException.java)                                         | Default interface for all the exception models in SDK                                  |\n| [`ApiLogger`](./src/main/java/io/apimatic/coreinterfaces/logger/ApiLogger.java)                                                     | Interface for Loggin Api Calls.                                                        |\n| [`Logger`](./src/main/java/io/apimatic/coreinterfaces/logger/Logger.java)                                                           | Interface for logging at different levels.                                             |\n| [`LoggingConfiguration`](./src/main/java/io/apimatic/coreinterfaces/logger/configuration/LoggingConfiguration.java)                 | To hold logging configuration                                                          |\n| [`HttpLoggingConfiguration`](./src/main/java/io/apimatic/coreinterfaces/logger/configuration/HttpLoggingConfiguration.java)         | To hold configuration for http logging                                                 |\n| [`RequestLoggingConfiguration`](./src/main/java/io/apimatic/coreinterfaces/logger/configuration/RequestLoggingConfiguration.java)   | To hold Request configuration for logging                                              |\n| [`ResponseLoggingConfiguration`](./src/main/java/io/apimatic/coreinterfaces/logger/configuration/ResponseLoggingConfiguration.java) | To hold Response configuration for logging                                             |\n| [`Deserializer`](./src/main/java/io/apimatic/coreinterfaces/type/functional/Deserializer.java)                                      | Functional interface to  apply the deserialization function                            |\n| [`ExceptionCreator`](./src/main/java/io/apimatic/coreinterfaces/type/functional/ExceptionCreator.java)                              | Functional interface to  create the SDK exception                                      |\n| [`Serializer`](./src/main/java/io/apimatic/coreinterfaces/type/functional/Serializer.java)                                          | Functional interface to  apply the serialization function                              |\n| [`ContextInitializer`](./src/main/java/io/apimatic/coreinterfaces/type/functional/ContextInitializer.java)                          | Functional Interface to apply the context initialization function for the response models |\n| [`SignatureVerifier`](./src/main/java/io/apimatic/coreinterfaces/security/SignatureVerifier.java)                                          | Defines a contract for verifying the signature of an HTTP request                              |\n| [`VerificationResult`](./src/main/java/io/apimatic/coreinterfaces/security/VerificationResult.java)                          | Represents the result of an operation that can either succeed or fail with an error message |\n\n## Enumerations\n\n| Name                                                                                                                | Description                                     |\n|---------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|\n| [`Method`](./src/main/java/io/apimatic/coreinterfaces/http/Method.java)                                             | Enumeration for all possible types of requests  |\n| [`HttpMethodType`](./src/main/java/io/apimatic/coreinterfaces/http/HttpMethodType.java)                             | HTTP methods enumeration.                       |\n| [`RetryOption`](./src/main/java/io/apimatic/coreinterfaces/http/request/configuration/RetryOption.java)             | Enumeration for RetryingOption of each API call |\n| [`ArraySerializationFormat`](./src/main/java/io/apimatic/coreinterfaces/http/request/ArraySerializationFormat.java) | Enumeration  for all ArraySerialization formats |\n| [`MutliPartRequestType`](./src/main/java/io/apimatic/coreinterfaces/http/request/MutliPartRequestType.java)         | Enumeration for multipart request               |\n| [`ResponseClassType`](./src/main/java/io/apimatic/coreinterfaces/http/request/ResponseClassType.java)               | Enumeration for Response class type             |\n| [`HeaderLoggingPolicyLevel`](./src/main/java/io/apimatic/coreinterfaces/http/HeaderLoggingPolicyLevel.java)         | Enumeration of Header Logging ploicy            |\n\n[license-badge]: https://img.shields.io/badge/licence-MIT-blue\n\n[license-url]: LICENSE\n\n[maven-badge]: https://img.shields.io/maven-central/v/io.apimatic/core-interfaces?color=green\n\n[maven-url]: https://central.sonatype.com/artifact/io.apimatic/core-interfaces\n\n[test-badge]: https://github.com/apimatic/core-interfaces-java/actions/workflows/build-and-test.yml/badge.svg\n\n[test-url]: https://github.com/apimatic/core-interfaces-java/actions/workflows/build-and-test.yml\n\n[maintainability-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_core-interfaces-java\u0026metric=sqale_rating\n\n[maintainability-url]: https://sonarcloud.io/summary/new_code?id=apimatic_core-interfaces-java\n\n[vulnerabilities-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_core-interfaces-java\u0026metric=vulnerabilities\n\n[vulnerabilities-url]: https://sonarcloud.io/summary/new_code?id=apimatic_core-interfaces-java\n\n[lint-badge]: https://github.com/apimatic/core-interfaces-java/actions/workflows/linter.yml/badge.svg\n\n[lint-url]: https://github.com/apimatic/core-interfaces-java/actions/workflows/linter.yml\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapimatic%2Fcore-interfaces-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapimatic%2Fcore-interfaces-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapimatic%2Fcore-interfaces-java/lists"}