Sign In Sign Up

API Documentation

NetConverter AI provides a REST API for programmatic access to our configuration translation services. API access is available for enterprise customers and partners.

API Access Required: To use the NetConverter AI API, you must have an active API account. Please contact us to request API access and receive your credentials.

Requesting API Access

To get started with the NetConverter AI API:

  1. Contact Us - Reach out through our contact form or email us directly
  2. Provide Details - Share your use case, expected volume, and integration requirements
  3. Receive Credentials - Once approved, you'll receive API credentials and documentation
  4. Start Integrating - Use the provided credentials to authenticate and make API calls

API Overview

The NetConverter AI API enables you to:

  • Convert network configurations between supported vendors
  • Validate configuration syntax and structure
  • Check feature compatibility between vendors
  • Access translation history and results
  • Integrate translation capabilities into your automation workflows

Base URL

All API requests should be made to:

https://api.netconverter.ai/api/v1

Authentication

All API requests require authentication using API credentials provided after account approval. The API uses industry-standard JWT (JSON Web Token) authentication.

Obtaining an Access Token

Authenticate using your API credentials to receive an access token:

curl -X POST https://api.netconverter.ai/api/v1/local-auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "your-email@example.com",
    "password": "your-api-password"
  }'

Response:

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer",
  "expires_in": 3600
}

Using the Access Token

Include the access token in the Authorization header for all subsequent requests:

Authorization: Bearer YOUR_ACCESS_TOKEN
Security: API credentials are confidential and should be kept secure. Never share your credentials publicly or commit them to version control. Access tokens expire after a set period and must be refreshed.

Rate Limits

API usage is subject to rate limits based on your account tier. Specific rate limits and quotas are provided with your API credentials.

API Endpoints

Convert Configuration

Translate a network configuration from one vendor format to another.

Endpoint: POST /api/v1/convert

Request Example:

curl -X POST https://api.netconverter.ai/api/v1/convert \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "source_vendor": "cisco_asa",
    "target_vendor": "palo_alto_set",
    "source_config": "hostname firewall1\ninterface GigabitEthernet0/0\n nameif outside\n ip address 203.0.113.1 255.255.255.0",
    "device_type": "firewall",
    "use_ai": true
  }'

Response Example:

{
  "success": true,
  "output": "set deviceconfig system hostname firewall1\nset network interface ethernet1/1 layer3 ip 203.0.113.1/24",
  "source_vendor": "cisco_asa",
  "target_vendor": "palo_alto_set",
  "confidence_score": 95,
  "warnings": [],
  "errors": [],
  "metadata": {
    "translation_time": 2.3,
    "validation_tier": "tier_2_structural"
  }
}

Detect Vendor

Automatically detect the vendor, format, and device type from a configuration.

Endpoint: POST /api/v1/detect-vendor

Request Example:

curl -X POST https://api.netconverter.ai/api/v1/detect-vendor \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "config_text": "version 15.1\nhostname switch01\ninterface GigabitEthernet0/1\n switchport mode access",
    "user_hint": "cisco"
  }'

Response Example:

{
  "vendor": "cisco_ios_xe_switch",
  "format": "cli",
  "device_type": "switch",
  "confidence": 0.98,
  "detected_features": ["interfaces", "switchports", "vlans"]
}

Validate Configuration

Validate configuration syntax and structure before translation.

Endpoint: POST /api/v1/validate

Request Example:

curl -X POST https://api.netconverter.ai/api/v1/validate \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "config_text": "your configuration here",
    "vendor": "palo_alto_set",
    "device_type": "firewall"
  }'

Response Example:

{
  "valid": true,
  "errors": [],
  "warnings": [],
  "validation_tier": "tier_1_syntax"
}

Supported Operations

The API supports the following operations:

  • Configuration Translation - Convert configurations between vendor formats using our unified translation pipeline
  • Vendor Detection - Automatically detect vendor and device type from configuration
  • Syntax Validation - Validate configuration syntax before translation
  • Feature Compatibility - Check if features are supported between vendors
  • Batch Processing - Process multiple configurations in a single request
  • Translation History - Access past translations and results

Response Formats

All API responses are returned in JSON format with consistent error handling and status codes.

Success Response

Successful API calls return a 200 OK status with the requested data:

{
  "success": true,
  "data": { ... },
  "metadata": { ... }
}

Error Response

Errors return appropriate HTTP status codes with error details:

{
  "success": false,
  "error": "Error message",
  "detail": "Detailed error description",
  "status_code": 400
}

Common HTTP Status Codes

  • 200 - Success
  • 201 - Created
  • 400 - Bad Request (invalid input)
  • 401 - Unauthorized (invalid or missing credentials)
  • 403 - Forbidden (insufficient permissions)
  • 429 - Too Many Requests (rate limit exceeded)
  • 500 - Internal Server Error

Request/Response Schemas

Convert Configuration Request

{
  "source_vendor": "string (required)",
  "target_vendor": "string (required)",
  "source_config": "string (required)",
  "device_type": "string (required: firewall|switch|router)",
  "use_ai": "boolean (optional, default: true)",
  "skip_validation": "boolean (optional, default: false)"
}

Convert Configuration Response

{
  "success": "boolean",
  "output": "string (translated configuration)",
  "source_vendor": "string",
  "target_vendor": "string",
  "confidence_score": "number (0-100)",
  "warnings": ["array of warning messages"],
  "errors": ["array of error messages"],
  "metadata": {
    "translation_time": "number (seconds)",
    "validation_tier": "string",
    "ai_used": "boolean"
  }
}

Supported Vendor Values

Valid vendor identifiers for source_vendor and target_vendor:

  • Firewalls: cisco_asa, palo_alto_set, palo_alto_xml, fortinet
  • Switches: cisco_ios_xe_switch, juniper_junos, aruba_cx
  • Routers: cisco_ios_xe_router, juniper_junos

Getting Started

Once you have API access:

  1. Review the authentication documentation provided with your credentials
  2. Test your connection using the provided examples
  3. Start with simple configurations to verify your integration
  4. Integrate the API into your automation workflows
  5. Monitor usage through your account dashboard
Example Workflow: A typical integration workflow involves: (1) Authenticate to get access token, (2) Detect vendor if unknown, (3) Validate configuration, (4) Convert configuration, (5) Handle response and errors appropriately.

Support

For API support, documentation questions, or to request access, please contact us. Our team is available to help with integration and answer any questions.

Ready to Get Started?

Contact us today to request API access and begin integrating NetConverter AI into your automation workflows.

Request API Access