Loading...

Knowledge Base

Titan Email API Documentation

This API allows for managing Titan Email orders, including adding, renewing, modifying, suspending, and deleting orders, as well as managing account seats and fetching order details and autologin URLs. This documentation provides detailed descriptions of the available endpoints and their parameters, along with example requests and responses.


Authentication

All API requests require the following authentication parameters:

  • auth-userid: Your Live Account Reseller Id.
  • api-key: An alphanumeric code used to authenticate your API calls.

Endpoints

Note: For security reasons, always send API requests using HTTPS.

The HTTP API requires that all requests to retrieve data should use the GET method, while requests that submit, change, or destroy data should use the POST method. The Test URL allows you to make any request using the GET method, but this should only be used for testing purposes.

Recommendation: Use a Demo Account Reseller Id and Password with the Test URL for authentication instead of Live Account credentials. The Test URL should only be used for trying out or testing the API via browser/command line tools and should not be used in production environments.

Headers

For all API requests, you need to set the following headers:

  • Content-Type: application/x-www-form-urlencoded
  • type: text
  • enabled: true

Product Keys

Product NameProduct Key
Titan Email (India)titanmailindia
Titan Email (Global)titanmailglobal

Plans

The list of plans and plan IDs can be obtained from the Plan Details API.

Plan IDProduct NamePlan NameDescription
1761Titan Email (India)Professional5 GB Plan 
1758Titan Email (India)Business10 GB Plan
1759Titan Email (India)Enterprise50 GB Plan
1760Titan Email (India)Business (Free Trial)90-Day Free Trial of the Business plan offered with all new Domain Name Registrations
1762Titan Email (Global)Professional5 GB Plan
1756Titan Email (Global)Business10 GB Plan
1757Titan Email (Global)Enterprise50 GB Plan
1755Titan Email (Global)Business (Free Trial)90-Day Free Trial of the Business plan offered with all new Domain Name Registrations

API Endpoints

1. Add Order

Add a new Titan Email order.

POST /restapi/product/{product_key}/order

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
domain-nameStringRequiredThe domain name for which the Order is placed.
customer-idIntegerRequiredThe Customer under whom the Order should be added.
plan-idIntegerRequiredThe plan under which the Order should be added. To fetch the plan details i.e., plan-id etc., use this method.
noOfMonthsIntegerRequiredThe number of months for which the Order is placed.
invoice-optionStringRequiredThis parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
discount-amountFloatOptionalDiscount amount for the order value.
additional-param-jsonJSON StringRequiredNo of mailbox licenses to be purchased should be passed in this parameter. Eg: {"no_of_accounts":"1"}

Example Request:

POST /restapi/product/titanmailindia/order?auth-userid=0&api-key=key&domain-name=domain.com&customer-id=0&plan-id=0&noOfMonths=12&invoice-option=KeepInvoice&additional-param-json=%7B%22no_of_accounts%22%3A%221%22%7D
  

Success Response:

{
  "actiontypedesc": "Addition of Enterprise Email for domain.com for 12 months",
  "orderid": "0",
  "entityid": "0",
  "actionstatus": "PendingExecution",
  "status": "success",
  "netcustomercost": "100",
  "eaqid": "0",
  "description": "domain.com",
  "actiontype": "Add",
  "invoiceid": "0",
  "actionstatusdesc": "Order waiting to be Executed",
  "customercost": "100"
}
  

Failure Response:

{
  "error": "Titan Free Email can only be added in conjunction with domain orders under the same customer."
}
  

 

2. Renew Order

Renew an existing Titan Email order.

PATCH /restapi/product/{product_key}/order/{order-id}/tenure/{tenure}

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId for which the order is to be renewed.
tenureIntegerRequiredTenure in months for which the order is to be renewed.
invoice-optionStringRequiredThis parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
auto-renewBooleanOptionalEnables / Disables the Auto Renewal setting for the Order.
Important note for Auto-Renewal
discount-amountFloatOptionalDiscount amount for the order value.
additional-infoJSON StringOptionalNo of additional mailbox licenses to be purchased should be passed in this parameter. Eg: {"no_of_accounts":"1"}

Example Request:

PATCH /restapi/product/titanmailindia/order/0/tenure/1?auth-userid=0&api-key=key&invoice-option=KeepInvoice&additional-info=%7B%22no_of_accounts%22%3A%222%22%7D
  

Success Response:

{
  "entityid": "0",
  "description": "domain.com",
  "actionstatus": "PendingExecution",
  "actionstatusdesc": "Your Order will be processed by our automatic provisioning system in the next 5-10 minutes.",
  "actiontypedesc": "Renewal of Enterprise Email for domain.com for 1 month",
  "status": "Success",
  "eaqid": "0",
  "actiontype": "Renew"
}
  

3. Modify Order

Upgrade an existing Titan Email order.

PATCH /restapi/product/{product_key}/order/{order-id}/plan/{planid}

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId for which the details are to be fetched.
planidIntegerRequiredNew Plan ID to which the order should be upgraded.
noOfMonthsIntegerRequiredSpecify the duration, in months, for which the order should be modified. If not provided, the order will be upgraded for the current tenure.
invoice-optionStringRequiredThis parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
discount-amountFloatOptionalDiscount amount for the order value.
additional-infoJSON StringOptionalNo of additional mailbox licenses to be purchased should be passed in this parameter. Eg: {"no_of_accounts":"1"}

Example Request:

PATCH /restapi/product/titanmailindia/order/0/plan/0?auth-userid=0&api-key=key&noOfMonths=3&invoice-option=KeepInvoice&additional-info=%7B%22no_of_accounts%22%3A%225%22%7D
  

Success Response:

{
  "entityid": "0",
  "description": "domain.com",
  "actionstatus": "PendingExecution",
  "actionstatusdesc": "Your Order will be processed by our automatic provisioning system in the next 5-10 minutes.",
  "actiontypedesc": "Upgrade to Enterprise Email Plan for domain.com",
  "status": "Success",
  "eaqid": "0",
  "actiontype": "ModOrder"
}
  

4. Suspend Order

Suspend an existing Titan Email order.

PATCH /restapi/product/{product_key}/order/{order-id}/suspend

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId which is to be suspended.
reasonStringRequiredReason for Suspension

Example Request:

PATCH /restapi/product/titanmailindia/order/0/suspend?auth-userid=0&api-key=key&reason=Demo
  

Success Response:

{
  "actiontypedesc": "Suspension of order",
  "entityid": "0",
  "actionstatus": "Success",
  "status": "Success",
  "eaqid": "0",
  "error": "NoError",
  "description": "domain.com",
  "actiontype": "Suspend",
  "actionstatusdesc": "Suspension completed successfully"
}
  

5. Unsuspend Order

Unsuspend an existing Titan Email order.

PATCH /restapi/product/{product_key}/order/{order-id}/unsuspend

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId which is to be Unsuspended.

Example Request:

PATCH /restapi/product/titanmailindia/order/0/unsuspend?auth-userid=0&api-key=key
  

Success Response:

{
  "actiontypedesc": "Unsuspension of order",
  "entityid": "0",
  "actionstatus": "Success",
  "status": "Success",
  "eaqid": "0",
  "error": "NoError",
  "description": "domain.com",
  "actiontype": "Unsuspend",
  "actionstatusdesc": "Suspension Removed Successfully"
}
  

6. Get Order Details

Gets the details of an existing Titan Email order.

GET /restapi/product/{product_key}

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerOptionalThe OrderId for which the details are to be fetched.
domain-nameStringOptionalDomain name for which the details are to be fetched
filterStringOptionalThis parameter will filter the orders according to the values provided. Values can be: orderid, domainname, recurring, creationtime, addon_quantity, planid, productkey, productcategory, currentstatus, moneybackperiod, entitytypeid, customerid, endtime, isOrderSuspendedUponExpiry, parentkey, dns_records

Example Request:

GET /restapi/product/titanmailindia?auth-userid=0&api-key=key&order-id=0&filter=dns_records
  

Success Response:

{
  "moneybackperiod": "0",
  "recurring": "false",
  "autoRenewTermType": "SHORT_TERM",
  "is_free": false,
  "noofaccounts": 1,
  "dns_records": [
    {
      "type": "A",
      "host": "domain.com",
      "value": "A_RECORD",
      "class": "IN"
    },
    {
      "type": "TXT",
      "host": "titan1._domainkey.domain.com",
      "value": "DKIM_RECORD",
      "class": "IN"
    },
    {
      "type": "TXT",
      "host": "domain.com",
      "value": "SPF_RECORD",
      "class": "IN"
    },
    {
      "type": "MX",
      "host": "domain.com",
      "value": "mx2.titan.email",
      "class": "IN"
    },
    {
      "type": "MX",
      "host": "domain.com",
      "value": "mx1.titan.email",
      "class": "IN"
    }
  ],
  "isOrderSuspendedUponExpiry": "false",
  "planid": 0,
  "eaqid": "0",
  "endtime": "0",
  "productkey": "titanmailindia",
  "used_account_count": 0,
  "domainname": "domain.com",
  "plan_name": "Business Email",
  "entitytypeid": "0",
  "autoRenewAttemptDuration": "0",
  "parentkey": "0",
  "orderid": "0",
  "creationtime": "0",
  "customerid": "0",
  "productcategory": "hosting",
  "currentstatus": "Active"
}
  

7. Fetch Autologin URL

Fetch the autologin URL for a specific email account.

GET /restapi/product/{product_key}/order/{order-id}/sso-url

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId for which the details are to be fetched.

Example Request:

GET /restapi/product/titanmailindia/order/0/sso-url?auth-userid=0&api-key=key
  

Success Response:

{
  "iframe_url": "URL",
  "sso_url": "URL"
}
  

Important Note: Each API call generates a unique SSO URL, even if invoked in quick succession (e.g., within one second). The SSO URLs generated by the API are valid for 48 hours from the time of creation - you can execute them any time during this time frame. Each generated SSO URL can be accessed only once. Any subsequent API calls will generate new SSO URLs.

8. Add Accounts

Add additional mailbox licenses to an existing Titan Email order.

PATCH /restapi/product/{product_key}/orders/{order-id}/seats/{seats}

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId for which the details are to be fetched.
seatsIntegerRequiredAdditional seats/mailbox licenses that needs to be added.
invoice-optionStringRequiredThis parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
discount-amountFloatOptionalDiscount amount for the order value.

Example Request:

PATCH /restapi/product/titanmailindia/orders/0/seats/1?auth-userid=0&api-key=key&invoice-option=KeepInvoice
  

Success Response:

{
  "entityid": "0",
  "description": "domain.com",
  "actionstatus": "PendingExecution",
  "actionstatusdesc": "Request will be processed in some time.",
  "actiontypedesc": "Addition of 1 accounts for domain.com",
  "status": "Success",
  "eaqid": "0",
  "actiontype": "AddAccount"
}
  

9. Delete Accounts

Remove mailbox licenses from an existing Titan Email order.

DELETE /restapi/product/{product_key}/orders/{order-id}/seats/{seats}

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId for which the details are to be fetched.
seatsIntegerRequiredSeats/Mailbox licenses count that needs to be removed.

Example Request:

DELETE /restapi/product/titanmailindia/order/0/seats/1?auth-userid=0&api-key=key
  

Success Response:

{
  "entityid": "0",
  "description": "domain.com",
  "actionstatus": "ExecutionStarted",
  "actionstatusdesc": "Your account deletion request will be processed shortly.",
  "actiontypedesc": "Deletion of 1 account for domain.com",
  "status": "Success",
  "eaqid": "0",
  "actiontype": "DeleteAccount"
}
  

10. Delete Order

Delete an existing Titan Email order.

DELETE /restapi/product/{product_key}/order/{order-id}

Query Parameters:

NameData TypeRequired / OptionalDescription
auth-useridIntegerRequiredAuthentication Parameter
api-keyStringRequiredAuthentication Parameter
order-idIntegerRequiredThe OrderId for which the order is to be deleted.

Example Request:

DELETE /restapi/product/titanmailindia/order/0?auth-userid=0&api-key=key
  

Success Response:

{
  "entityid": "0",
  "description": "domain.com",
  "actionstatus": "BegunExecution",
  "actionstatusdesc": "Your Order will be deleted by our automatic provisioning system in the next 5-10 minutes.",
  "actiontypedesc": "Deletion of domain.com",
  "status": "Success",
  "eaqid": "0",
  "actiontype": "DeleteOrder"
}
  

Business (Free Trial) Plan Terms and Conditions

The business trial plan is a 90-day free trial offered with every domain name registered through us. Here are the caveats and terms:

  • The free trial is available only once per domain name.
  • Domains with prior free or paid Titan Email orders are ineligible for the free trial.
  • Domains that have existing orders with Business Email or Enterprise Email are not eligible for the Titan Email Business (Free Trial) plan.
  • The trial offers full access to all product features, with the only limitation being the trial duration.
  • Opting to "Buy more accounts" or "Upgrade to Higher Plan" requires cancellation of the free trial and switching to a paid plan. If an order switches to a paid plan in the middle of the trial, the remaining days of the trial will be forfeited.

Loading...