Titan Email API Documentation

Overview

The Titan Orderbox 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 Name Product 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 ID Product Name Plan Name Description
1761 Titan Email (India) Professional 5 GB Plan 
1758 Titan Email (India) Business 10 GB Plan
1759 Titan Email (India) Enterprise 50 GB Plan
1760 Titan Email (India) Business (Free Trial) 90-Day Free Trial of the Business plan offered with all new Domain Name Registrations
1762 Titan Email (Global) Professional 5 GB Plan
1756 Titan Email (Global) Business 10 GB Plan
1757 Titan Email (Global) Enterprise 50 GB Plan
1755 Titan 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
domain-name String Required The domain name for which the Order is placed.
customer-id Integer Required The Customer under whom the Order should be added.
plan-id Integer Required The plan under which the Order should be added. To fetch the plan details i.e., plan-id etc., use this method.
noOfMonths Integer Required The number of months for which the Order is placed.
invoice-option String Required This parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
discount-amount Float Optional Discount amount for the order value.
additional-param-json JSON String Required No 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId for which the order is to be renewed.
tenure Integer Required Tenure in months for which the order is to be renewed.
invoice-option String Required This parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
auto-renew Boolean Optional Enables / Disables the Auto Renewal setting for the Order.
Important note for Auto-Renewal
discount-amount Float Optional Discount amount for the order value.
additional-info JSON String Optional No 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId for which the details are to be fetched.
planid Integer Required New Plan ID to which the order should be upgraded.
noOfMonths Integer Required Specify the duration, in months, for which the order should be modified. If not provided, the order will be upgraded for the current tenure.
invoice-option String Required This parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
discount-amount Float Optional Discount amount for the order value.
additional-info JSON String Optional No 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId which is to be suspended.
reason String Required Reason 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Optional The OrderId for which the details are to be fetched.
domain-name String Optional Domain name for which the details are to be fetched
filter String Optional This 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId for which the details are to be fetched.
seats Integer Required Additional seats/mailbox licenses that needs to be added.
invoice-option String Required This parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd
discount-amount Float Optional Discount 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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId for which the details are to be fetched.
seats Integer Required Seats/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:

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The 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.