SDKs & Libraries
Our official SDKs make it easy to integrate MyAppAPI into your applications with native language support and idiomatic interfaces. Each SDK is designed to provide a first-class developer experience, with consistent patterns, comprehensive documentation, and robust error handling.
Benefits of Using Our SDKs
While you can directly interact with our REST API using HTTP clients, our SDKs provide several advantages that can significantly improve your development experience:
Type Safety & Code Completion
Our SDKs provide type definitions for request parameters and response data, enabling code completion in your IDE and catching potential errors at compile time.
Authentication Handling
The SDKs manage authentication details automatically, including token refresh, secure storage, and handling of various authentication methods.
Robust Error Handling
SDKs translate API errors into language-specific exceptions or error types with helpful messages and context, making them easier to handle in your code.
Automatic Retries
Built-in retry logic for transient failures, with configurable backoff strategies to handle network issues and rate limiting gracefully.
Idiomatic Interfaces
Each SDK follows the conventions and patterns of its respective language, making it feel natural and intuitive to developers familiar with that ecosystem.
Framework Integrations
Many of our SDKs include integrations with popular frameworks, making it even easier to incorporate MyAppAPI into your application architecture.
Available SDKs
We currently offer the following official SDKs:
JavaScript/Node.js
Our JavaScript SDK supports both browser and Node.js environments with TypeScript definitions for enhanced developer experience.
Python
Modern Python SDK with full type annotations, asyncio support, and comprehensive test coverage for reliable integration.
Ruby
Ruby SDK with a focus on clean, idiomatic Ruby code, extensive documentation, and Rails integration for seamless development.
PHP
Modern PHP SDK with PSR compliance, framework integrations, and comprehensive documentation for PHP applications.
Java
Robust Java SDK with fluent builder patterns, comprehensive documentation, and Spring Boot integration for enterprise applications.
Go
Idiomatic Go SDK with strong typing, context support, and comprehensive documentation for reliable integration in Go applications.
.NET / C#
Comprehensive .NET SDK with strong typing, async support, and extensive documentation for all .NET platforms.
Swift / iOS
Native Swift SDK for iOS, iPadOS, macOS, and watchOS applications with modern Swift features and Apple platform integrations.
SDK Versioning
Our SDKs follow semantic versioning (MAJOR.MINOR.PATCH) to indicate the nature of changes in each release:
- MAJOR version changes indicate backwards-incompatible changes
- MINOR version changes add new functionality in a backwards-compatible manner
- PATCH version changes include backwards-compatible bug fixes
All SDKs are versioned independently of each other and the API itself. A new API feature may result in minor version updates across all SDKs, but the timing of these updates may vary.
Version Compatibility
Each SDK version is compatible with specific API versions:
SDK Version | Compatible API Versions | Notes |
---|---|---|
1.x | v1 | Initial releases, basic API coverage |
2.x | v1 | Improved error handling, expanded features, more idiomatic patterns |
3.x | v1, v2-preview | Support for v2 preview features, modernized interfaces |
We recommend keeping your SDK up to date with the latest version to benefit from bug fixes, security updates, and new features. For guidance on upgrading, see the migration guides in each SDK's documentation.
Getting Started
To begin using our SDKs, choose your preferred language and follow these steps:
1. Installation
Install the SDK using your language's package manager (npm, pip, gem, etc.) as shown on each SDK card above.
2. Authentication
Configure the SDK with your API credentials. Here's a basic example in JavaScript:
// Initialize the SDK with your API key
const myappapi = new MyAppAPI({
apiKey: 'YOUR_API_KEY',
environment: 'production' // or 'sandbox' for testing
});
3. Making API Calls
Start making API calls using the SDK's idiomatic interface:
// Example: Fetch a list of resources
try {
const resources = await myappapi.resources.list({
limit: 10,
status: 'active'
});
console.log(`Found ${resources.length} resources`);
// Create a new resource
const newResource = await myappapi.resources.create({
name: 'My Resource',
description: 'Created with the SDK',
type: 'standard'
});
console.log(`Created resource with ID: ${newResource.id}`);
} catch (error) {
// SDKs provide rich error information
console.error(`Error: ${error.message}`);
if (error.isRateLimitError) {
console.error(`Rate limited. Retry after: ${error.retryAfter} seconds`);
}
}
For more detailed examples and language-specific guidance, visit the documentation for your chosen SDK.
Community SDKs
In addition to our official SDKs, our community has developed libraries for other languages and frameworks. While not officially maintained by MyAppAPI, these community SDKs can be valuable for developers working with platforms we don't officially support yet.
Note: Community SDKs are not officially supported by MyAppAPI. We recommend reviewing the code and maintenance status before using them in production applications.
SDK Support
We're committed to providing excellent support for our official SDKs. If you encounter issues or have questions, there are several ways to get help:
Contributing
Our SDKs are open source, and we welcome contributions from the community. Whether it's fixing a bug, improving documentation, or suggesting new features, your contributions help make our SDKs better for everyone.
To contribute:
- Fork the repository for the SDK you want to contribute to
- Create a new branch for your changes
- Make your changes following the project's code style and conventions
- Add tests for your changes
- Submit a pull request with a clear description of your changes
Each SDK repository contains a CONTRIBUTING.md file with specific guidelines for that project. Please review these guidelines before submitting your contribution.
Frequently Asked Questions
Which SDK should I choose?
Choose the SDK that matches the primary language of your application. This provides the most natural integration experience. If multiple languages are used in your application, select the SDK for the language that will interact most frequently with our API. For microservices architectures, you might use different SDKs for different services based on their implementation language.
Are the SDKs suitable for production use?
Yes, all our official SDKs are thoroughly tested and suitable for production environments. We follow semantic versioning to ensure that you can safely update to new minor and patch versions without breaking changes. Each SDK includes comprehensive test suites, and we validate all releases against our production API before publishing.
Do I need to update my SDK when the API changes?
When we release new API features or make improvements, we update our SDKs accordingly. These updates typically come as minor version bumps that maintain backward compatibility. We recommend keeping your SDK versions up to date to access new features and benefit from improvements and bug fixes. Major API version changes (e.g., v1 to v2) may require updating to a new major version of the SDK, which we announce well in advance.
How do I handle rate limiting with the SDKs?
Our SDKs include built-in rate limiting detection and handling. By default, they automatically retry requests that encounter rate limiting, using an exponential backoff strategy. You can customize this behavior by configuring the retry options when initializing the SDK. For more control, you can disable automatic retries and handle rate limiting errors manually using the SDK's error types, which include information like retry-after times.
What if I need an SDK for a language you don't support?
If you need an SDK for a language we don't officially support, you have several options: (1) Check if there's a community-maintained SDK for your language; (2) Use our REST API directly with an HTTP client in your language; (3) Create your own SDK using our API reference and OpenAPI specification; or (4) Contact us to request an official SDK for your language, which we'll consider based on developer demand.