apimatic-sdk
v3.0.1
Published
Use APIMatic API to generate SDKs in Python, Typescript, PHP, Ruby, and GO. You can generate On-Prem portal and many more.
Readme
Getting Started with Apimatic API
Introduction
This API gives you programmatic access to APIMatic's Code Generation, Docs Generation and Transformation Engine
Install the Package
Run the following command from your project directory to install the package from npm:
npm install [email protected]For additional package details, see the Npm page for the [email protected] npm.
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
| --- | --- | --- |
| userAgent | string | |
| customUrl | string | The testing domain for the APIDefault: 'https://localhost:44301/api' |
| environment | Environment | The API environment. Default: Environment.Production |
| timeout | number | Timeout for API calls.Default: 30000 |
| httpClientOptions | Partial<HttpClientOptions> | Stable configurable http client options. |
| unstableHttpClientOptions | any | Unstable configurable http client options. |
| logging | PartialLoggingOptions | Logging Configuration to enable logging |
| customHeaderAuthenticationCredentials | CustomHeaderAuthenticationCredentials | The credential object for customHeaderAuthentication |
The API client can be initialized as follows:
Code-Based Client Initialization
import { Client, Environment, LogLevel } from 'apimatic-sdk';
const client = new Client({
customHeaderAuthenticationCredentials: {
'Authorization': 'Authorization'
},
userAgent: 'user-agent',
timeout: 30000,
environment: Environment.Production,
logging: {
logLevel: LogLevel.Info,
logRequest: {
logBody: true
},
logResponse: {
logHeaders: true
}
},
customUrl: 'https://localhost:44301/api',
});Configuration-Based Client Initialization
import * as path from 'path';
import * as fs from 'fs';
import { Client } from 'apimatic-sdk';
// Provide absolute path for the configuration file
const absolutePath = path.resolve('./config.json');
// Read the configuration file content
const fileContent = fs.readFileSync(absolutePath, 'utf-8');
// Initialize client from JSON configuration content
const client = Client.fromJsonConfig(fileContent);See the Configuration-Based Client Initialization section for details.
Environment-Based Client Initialization
import * as dotenv from 'dotenv';
import * as path from 'path';
import * as fs from 'fs';
import { Client } from 'apimatic-sdk';
// Optional - Provide absolute path for the .env file
const absolutePath = path.resolve('./.env');
if (fs.existsSync(absolutePath)) {
// Load environment variables from .env file
dotenv.config({ path: absolutePath, override: true });
}
// Initialize client using environment variables
const client = Client.fromEnvironment(process.env);See the Environment-Based Client Initialization section for details.
Environments
The SDK can be configured to use a different environment for making API calls. Available environments are:
Fields
| Name | Description | | --- | --- | | Production | Default | | Testing | - |
Authorization
This API uses the following authentication schemes.
List of APIs
- Code Generation-External APIs
- Docs Portal Management
- Docs Portal Generation-Async
- API Validation-External APIs
- API Validation V2-External APIs
- SDK Generation-Async
- Transformation
SDK Infrastructure
Configuration
- HttpClientOptions
- RetryConfiguration
- ProxySettings
- Configuration-Based Client Initialization
- Environment-Based Client Initialization
- PartialLoggingOptions
- PartialRequestLoggingOptions
- PartialResponseLoggingOptions
- LoggerInterface
