Getting Started with ZedTranslate

ZedTranslate is a stable, production-ready API for translating text between supported languages, with a strong focus on Zambian and local languages.

The API is designed to be:

  • Simple to integrate
  • Predictable in behavior
  • Stable over time
  • Provider-agnostic by design

"If you can make an HTTP request, you can use ZedTranslate."

Quick Start (3 Steps)

1️⃣ Get an API Key

To use the API, you need an API key.

  • Create or log in to your developer account
  • Generate an API key from the Developer Console
  • Keep your key secret

Your API key is used to authenticate every request.

2️⃣ Make Your First Translation Request

Send a POST request to the translation endpoint.

Endpoint POST https://api.zedtranslate.com/v1/translate
// Headers
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

// Request Body
{
  "source_language": "en",
  "target_language": "bem",
  "text": "Hello, how are you?"
}

3️⃣ Receive the Translation

{
  "translated_text": "Muli shani?"
}

That’s it — no session setup, no extra configuration.

Supported Languages

ZedTranslate supports translation between all listed languages in any direction. Language codes use short, ISO-style identifiers such as:

  • en (English)
  • bem (Bemba)
  • tum (Tumbuka)
  • ny (Nyanja)
  • ...and others (toi, loz, lun, kqn, lue)

Requests using unsupported language codes return a structured error.

What to Expect from Translations

ZedTranslate prioritizes meaning and natural expression over rigid wording. As a result:

  • Translations may vary in phrasing
  • The same input may produce slightly different output over time
  • Multiple correct translations are possible

This behavior is normal and intentional. ZedTranslate does not guarantee exact wording or identical output for the same input across time.

Errors & Reliability

Every request returns either a valid translation or a structured error object.

{
  "error": {
    "code": "UNSUPPORTED_LANGUAGE",
    "message": "The requested language pair is not supported."
  }
}

Error messages are stable and provider-agnostic. Common codes include: INVALID_REQUEST, UNSUPPORTED_LANGUAGE, RATE_LIMITED, and SERVICE_UNAVAILABLE.

Rate Limiting

To ensure fair usage and platform stability, requests may be rate-limited. Exceeding limits returns HTTP 429. Limits may evolve over time as usage grows.

Privacy & Data Handling

  • Text is processed in real time to produce translations
  • ZedTranslate does not sell user data
  • No long-term storage of submitted text is guaranteed unless explicitly stated

Health & Status

You can check service availability using the health endpoint:

curl https://api.zedtranslate.com/v1/health

A public status page is also available to monitor uptime and incidents.

Getting Help

If you need help or have questions, reach out to our support team:

Support Email: support@zedtranslate.com

Responses are provided on a best-effort basis.

Versioning Promise

  • API version v1 is stable and backward-compatible
  • Breaking changes will only appear in a new major version
  • Deprecations will be announced in advance

One Last Thing

ZedTranslate is under active development. New languages and improvements are added over time — without breaking existing integrations.

✅ You’re ready to build

If you can send a request, you can use ZedTranslate.


ZedTranslate API Overview

ZedTranslate provides a high-performance, AI-powered translation engine optimized specifically for Zambian and local languages. Our API allows developers to integrate seamless, high-fidelity translation capabilities into their applications. New to ZedTranslate? Check out our Getting Started guide.

Base URL

https://api.zedtranslate.com

A public health endpoint is available at /v1/health to verify API availability.

Translate Text

The primary endpoint for translating text between any supported language pairs.

POST /v1/translate

Request Example

{
  "source_language": "en",
  "target_language": "bem",
  "text": "Hello, how are you?"
}

Response Example

{
  "translated_text": "Muli shani?"
}

Authentication Overview

ZedTranslate uses two authentication mechanisms, depending on the endpoint:

Auth Type Used for
API Key (X-API-Key) Machine-to-machine translation
Firebase ID Token (Authorization: Bearer) Dashboard & project management

🩺 Health Check

GET /v1/health

Auth: None

Purpose: Verify API availability

Used for monitoring and uptime checks

{ "status": "ok" }

🌍 Translate Text

POST /v1/translate

Auth: API Key (X-API-Key header)

Example

curl -X POST https://api.zedtranslate.com/v1/translate \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "hello",
    "source": "en",
    "target": "bem"
  }'

📁 Projects

POST /v1/projects/create
GET /v1/projects/...

Auth: Firebase ID Token

Purpose: Create and manage projects

Used by the dashboard

📊 Project Usage (Aggregated)

GET /v1/projects/{project_id}/usage

Auth: Firebase ID Token

Purpose: View total and daily usage

  • Dashboard-only
  • Read-only

🔑 Project Usage by API Key (Today)

GET /v1/projects/{project_id}/usage/keys

Auth: Firebase ID Token

Purpose: See which API keys are generating usage today

  • Read-only
  • No secrets exposed

⚠️ Important Note

Usage endpoints are informational only. ZedTranslate does not enforce hard rate limits or billing in v1.

Supported Languages

ZedTranslate currently supports the following languages. Our engine is continuously trained on local datasets to ensure high accuracy and cultural relevance.

Language Language Code Notes
English en High quality
Bemba bem High quality
Nyanja ny Actively improved
Tonga toi Community validated
Lozi loz Actively improved
Tumbuka tum High quality
Lunda lun Community validated
Kaonde kqn Actively improved
Luvale lue High quality

Any supported source language can be translated into any supported target language. Requests using unsupported language codes will return an error response.

Input Validation Rules

To ensure consistent API performance and high-quality translation results, all requests must adhere to the following validation rules:

Rule Requirement
Encoding Text must be encoded in **UTF-8**.
Maximum Length Individual requests are subject to a character limit (refer to your tier).
Language Codes Must use supported ISO-style codes. Codes are **case-insensitive**.
Content Empty or whitespace-only requests will return an error.

Errors & Status Codes

All error responses are returned as JSON objects. We recommend that clients rely on the error.code property in addition to the HTTP status code for robust error handling.

HTTP Status Error Code Description
400 INVALID_REQUEST Missing or malformed request body or validation failure.
400 UNSUPPORTED_LANGUAGE The requested language code is not supported.
401 UNAUTHORIZED Invalid, missing, or revoked API key.
429 RATE_LIMITED The project has exceeded its allocated rate limit.
503 SERVICE_UNAVAILABLE The service is temporarily unavailable due to maintenance.
500 INTERNAL_ERROR An unexpected server-side error occurred.

Error Response Format

{
  "error": {
    "code": "UNSUPPORTED_LANGUAGE",
    "message": "The requested language pair is not supported."
  }
}

Rate Limiting

To ensure fair usage and platform stability, API requests may be rate-limited. When limits are exceeded, the API returns HTTP 429 (Too Many Requests).

Developers should implement retry logic with exponential backoff to handle rate-limited responses gracefully.

Service Scope & Guarantees

ZedTranslate is committed to providing a robust and reliable translation infrastructure. Our service scope includes:

  • Stable Public API: We provide a consistent interface for all supported language pairs.
  • Predictable Responses: Every request returns either a valid translation or a structured error object.
  • Continuous Improvement: Our underlying translation engine evolves to improve accuracy while maintaining API stability.
  • Quality Focus: Output quality and interface reliability are prioritized over internal implementation details.

What Is Not Guaranteed

While we strive for excellence, the following are explicitly not guaranteed:

  • Exact Wording Consistency: Results for the same input may vary as the engine improves.
  • Identical Results Over Time: We do not guarantee fixed outputs for any given string.
  • Maintenance Availability: The service may be briefly unavailable during scheduled maintenance windows.
  • Malformed Input Support: We do not guarantee successful processing of unsupported or malformed language codes.

Privacy & Data Handling

We take developer and user privacy seriously. Our data handling practices are built on transparency and security:

  • Real-Time Processing: Translation data is processed in real-time to generate results.
  • No Data Monetization: We do not sell user-submitted text or personal data to third parties.
  • Temporary Processing: Text content is held only as long as necessary to complete the translation request.
  • Data Retention: We do not provide long-term storage guarantees for submitted text unless explicitly stated in a service agreement.

API Versioning Promise

We understand the importance of stability for production environments. Our versioning policy ensures predictable updates:

  • Stability: API version v1 is considered stable and backward-compatible.
  • Major Versions: Breaking changes are only introduced in new major versions (e.g., v2).
  • Deprecation Notice: We provide advance notice via developer accounts before deprecating any stable versions.

Changelog Policy

This policy explains how ZedTranslate communicates changes to the API and service behavior. It is designed to provide transparency while preserving stability for production applications.

What We Announce

  • New API versions or endpoints
  • Breaking changes that affect request or response formats
  • Deprecation timelines for stable API versions
  • Security-related updates that require developer action

What We Do Not Announce

  • Internal implementation changes
  • Improvements to translation quality or fluency
  • Changes to underlying infrastructure or engines
  • Minor performance optimizations or bug fixes

Translation Output Changes

Changes in translation wording, phrasing, or style are considered normal behavior and are not treated as breaking changes, provided the meaning of the original text is preserved.

Breaking Changes

Breaking changes are introduced only in new major API versions (for example, v2). Existing stable versions remain backward-compatible throughout their supported lifetime.

Advance Notice

When a breaking change or deprecation is planned, advance notice will be provided through the developer documentation or official communication channels.

Acceptable Use

By using the ZedTranslate API, you agree to adhere to our acceptable use guidelines:

  • Responsible Use: Do not use the API for illegal purposes or to facilitate abuse.
  • System Integrity: Do not attempt to reverse-engineer, disrupt, or overload the API infrastructure.
  • Compliance: Ensure your use of the API complies with local and international laws.

Support & Contact

Our team is here to help you get the most out of ZedTranslate. If you encounter issues or have technical questions, please reach out:

Email: support@zedtranslate.com

We provide best-effort response times for all developer inquiries.

FAQ

❓ Why do translations sometimes differ?

ZedTranslate uses advanced language processing to generate natural and context-aware translations. As a result, translations may sometimes differ due to the following factors:

  • 🔹 Natural Language Variability Languages often have multiple correct ways to express the same idea. ZedTranslate may choose different phrasing that is still accurate and natural in the target language.
  • 🔹 Context Interpretation Short or ambiguous text can be interpreted in more than one valid way. Without additional context, different translations may be equally correct.
  • 🔹 Language Evolution Languages change over time, and translation quality improves as ZedTranslate evolves. This can result in slightly different outputs for the same input at different times.
  • 🔹 Input Quality Spelling, punctuation, and sentence structure in the source text can affect how the text is interpreted and translated.
  • 🔹 Continuous Improvements ZedTranslate is actively improved to enhance accuracy, fluency, and coverage. These improvements may result in changes to translation output.

❓ Is a different translation an error?

Not necessarily. If the translated text accurately conveys the meaning of the original, variations in wording are considered normal and acceptable.

❓ Does ZedTranslate guarantee identical translations?

No. ZedTranslate does not guarantee identical translations for the same input across time. The focus is on correctness and natural expression rather than exact repetition.

❓ How can I get more consistent translations?

To improve consistency:

  • Provide complete sentences and clear context
  • Avoid ambiguous or fragmented input
  • Use consistent terminology in your source text

ZedTranslate is under active development, with continuous improvements to our linguistic models and developer tools.