EjoChat API

Add Kinyarwanda AI to your product

EjoChat API lets teams send chat history or retrieved context and receive clear Kinyarwanda responses for support, education, operations, and public-service workflows.

Every approved account starts with a 48-hour free trial: 10 requests/min, 100 requests/day
Secure request
v1
POST https://api.ejolabs.com/api/v1/subiza
X-API-Key: kgpt_...

{
  "messages": [
    { "role": "user", "content": "Sobanura uko malariya yirindwa." }
  ]
}

Chat + RAG

Send message history or retrieved documents.

API keys

Keys are issued after admin approval.

Usage limits

Each plan has request and response caps.

Kinyarwanda first

Designed for local-language production workflows.

Code examples

Copy one of these server-side examples to call EjoChat API from your backend or mobile app.

Endpoint
POST https://api.ejolabs.com/api/v1/subiza
curl -X POST "https://api.ejolabs.com/api/v1/subiza" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: kgpt_your_api_key_here" \
  -d '{
    "messages": [
      {"role": "user", "content": "Muraho! Mwadufasha?"}
    ]
  }'

Error codes

Use these meanings to debug failed requests quickly before contacting support.

Status
Code
400
INVALID_REQUEST
The request body does not match the selected mode.
Check whether you are sending chat fields or RAG fields.
401
UNAUTHORIZED
The API key is missing, invalid, or expired.
Send a valid ejochat_ key using X-API-Key or Authorization.
402
PAYMENT_REQUIRED
The trial ended or billing is not active.
Activate billing or contact Ejo Labs.
403
FORBIDDEN
The tenant or key exists but cannot use the API.
Check tenant status and whether the key was revoked.
422
VALIDATION_ERROR
Required fields are missing or limits were exceeded.
Review message count, document count, and character limits.
429
RATE_LIMITED
The tenant exceeded per-minute or daily quota.
Back off, retry later, or upgrade the plan.
503
PROVIDER_UNAVAILABLE
The upstream model provider is temporarily unavailable.
Retry with exponential backoff.
500/502
INTERNAL_ERROR
Unexpected server failure or strict JSON validation failure.
Retry once and report the request_id if it continues.

Subscription plans

Choose the category that fits your expected usage. Admin approval is required before keys are issued.

Every approved client starts with a 48-hour free trial. The selected subscription plan starts after payment is confirmed.

Ejo Free

Students, self-developers, learners

free
50 requests/day
1,500 response tokens
No payment required

A lightweight free plan for learning, experiments, and early prototypes.

Email supportServer-side API key accessSME-friendly starter limits
Start with this plan

Basic

researchers and early pilots

2,500 RWF/ bundle
250 requests/bundle
2,048 response tokens
Server-side API access

Best entry point for controlled pilots and research workflows.

Email supportServer-side API key accessSME-friendly starter limits
Start with this plan

Business

Growing businesses and product pilots

RWF 75,000/month
3,500 requests/day
2,048 response tokens
Priority support

Product pilots and operational workflows.

Higher request limitsUsage review supportPriority issue handling
Start with this plan

Enterprise

Large teams, SLA, or custom terms

Custom
Custom daily quota
4,096 response tokens
Custom terms and SLA

Custom commercial, governance, and support package.

Custom SLADedicated onboardingCustom quotasGovernance and procurement support
Start with this plan

How access works

1

Create or sign in to a tenant account.

2

Choose a plan and submit company, use case, and expected usage details.

3

An admin approves the application; the free trial starts.

4

Create an API key, store it server-side, and begin sending requests.