Transliteration and Translation — Bhashini

Created by Rajatha B M, Modified on Fri, 27 Mar at 1:21 PM by Rajatha B M

What does the Transliteration and Translation API do?

The Transliteration and Translation API converts text between English and supported Indian languages. It supports two operations:

  • Transliteration — converts text character-by-character from one script to another (e.g., English letters → Hindi script), preserving pronunciation.
  • Translation — converts the meaning of text from one language to another.

This service is provided by Bhashini on the ULI Platform.

Who can use this API?

Lenders onboarded to the ULI Platform who have subscribed to the Transliteration service on the Dev Portal. Separate subscriptions are required for Sandbox and Production environments.

What are the prerequisites before I can use this API?

Complete all common platform prerequisites (IP whitelisting, URL whitelisting, credentials, service subscription, and JWT token generation) as described in Getting Started with ULI Platform APIs. There are no additional prerequisites specific to this API.

Which languages are supported?

LanguageISO 639-1 CodeNotes
Englishen
Hindihi
Tamilta
Marathimr
Kannadakn
BanglabnAvailable from v1.3 onwards
TeluguteAvailable from v1.3 onwards

What are the API endpoints?

The URL structure follows this pattern: /{service}/{ver}/{srclang}/{tgtlang}

Transliteration:

EnvironmentExample URL
Sandboxhttps://extgw.nonprod.rbihub.io/transliterate/1.3/en/te
Productionhttps://extgw.api.rbihub.io/transliterate/1.3/en/te

Translation:

EnvironmentExample URL
Sandboxhttps://extgw.nonprod.rbihub.io/translation/1.0/en/hi
Productionhttps://extgw.api.rbihub.io/translation/1.0/en/hi

Method: POST

Replace srclang and tgtlang in the URL with the appropriate language codes from the table above. To change the target language, only the URL needs to be updated — no payload changes required.

What headers do I need to send?

HeaderDescription
AuthorizationJWT token from the authentication server
client-idYour Client ID (Base64 encoded), provided during registration
providerSet to 111 for Bhashini
content-typeSet to application/json
x-env-routeSet to /sb for Sandbox only; omit for Production

What do I send in the request body?

The input text must be Base64 encoded before sending.

{
  "meta": {
    "ver": "1.3",
    "ts": "<ISO-8601 timestamp>",
    "txncode": "<unique transaction ID>"
  },
  "data": {
    "input-text": "<Base64 encoded source text>"
  },
  "hmac": "<SHA-256 hash of the data field>"
}

What does the response contain?

FieldWhat it means
statussuccess or fail
errcodeE000 = success; any other code = error
input-textBase64 encoded transliterated or translated output text in the target language
signatureDigital signature of the response data
hmacSHA-256 hash of the response data
publickeyPlatform public key for source verification

Decode the input-text field from Base64 to get the final transliterated or translated text.

What do the error codes mean?

If the call fails, an error code will be returned in the errcode field. Refer to the Platform Error Code PDF for the full list of error codes.

Who do I contact if the API fails?

Write to support@rbihub.in with the following details:

  • Service name: Transliteration and Translation (Bhashini)
  • Environment: Sandbox or Production
  • Provider code: 111
  • Full request payload (headers + body)
  • Error code and message received
  • Screenshot or log of the error
  • Status of prerequisites: IP whitelisting, URL whitelisting, service subscription, token generation

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article