RTS Maharashtra Tourism · WordPress REST API

RTS API Reference

Everything the applicant-facing forms need: submit an application for each service, track and correct it, and load the districts, talukas and master data that fill the form dropdowns.

Base URL https://rts.consofthub.in/wp-json/rts/v1
10Submission endpoints
3Tracking endpoints
3Lookup endpoints
JSONRequests & responses

Quick reference

Every endpoint at a glance. Paths are relative to the base URL above.

MethodPathAuthPurpose
POST /insert-application/caravan-tourism-policy-registration Basic auth MT01 Caravan Tourism Policy — Registration
POST /insert-application/agricultural-tourism-policy-registration Basic auth MT10 Agricultural Tourism Policy — Registration
POST /insert-application/adventure-tourism-policy-registration Basic auth MT11 Adventure Tourism Policy — Registration
POST /insert-application/registration-of-vacation-homes Basic auth MT07 Registration of Vacation Homes
POST /insert-application/registration-of-tourism-villas Basic auth MT05 Registration of Tourism Villas
POST /insert-application/registration-of-tourism-apartments Basic auth MT06 Registration of Tourism Apartments
POST /insert-application/registration-of-homestays Basic auth MT08 Registration of Homestays
POST /insert-application/issuance-of-temporary-registration-certificate Basic auth MT02 Issuance of Temporary Registration Certificate
POST /insert-application/issuance-of-no-objection-certificate Basic auth MT09 Issuance of No Objection Certificate
POST /insert-application/issuance-of-eligibility-certificate Basic auth MT04 Issuance of Eligibility Certificate
GET /application-status/{application_id} None Status and flagged fields of an application
POST /update-flagged-fields/{application_id} None Submit corrections for flagged fields
GET /application-document None Download a stored document
GET /district-data None All districts with their region
GET /taluka-data/{district_id} None Talukas of a district
GET /master-data None Dropdown / reference data for the forms
POST /application-insert Basic auth Legacy generic submission

Authentication

Endpoints that create applications require HTTP Basic authentication. Lookup and tracking endpoints are open.

Join the integration username and application password with a colon, base64-encode the result and send it in the Authorization header. Credentials are issued by the RTS team and must only be used server-side — never ship them in browser JavaScript.

Header

HTTP
Authorization: Basic base64("<username>:<application password>")

Example request

curl
curl -X POST "https://rts.consofthub.in/wp-json/rts/v1/insert-application/registration-of-homestays" \
  -H "Authorization: Basic <base64 credentials>" \
  -H "Content-Type: application/json" \
  --data @application.json

Authentication errors · HTTP 401

Situationmessage
No Authorization headerAuthorization header is missing.
Header is not Basic …Authorization header missing or invalid.
Wrong username or passwordInvalid credentials.

401 response

JSON
{
    "code": "rest_forbidden",
    "message": "Invalid credentials.",
    "data": {
        "status": 401
    }
}
Authentication errors use WordPress’s error shape (code / message / data.status). Every other response uses the success / data envelope below.

Requests & responses

How to send data and how to read what comes back.

Requests

  • Send POST bodies as JSON with Content-Type: application/json. A body that is not a JSON object returns 400 Invalid JSON body.
  • Numbers may be sent as JSON numbers or numeric strings — 12 and "12" are equivalent.
  • Field names are case-sensitive.

Response envelope

Responses are { "success": true|false, "data": { … } }. On failure data.message explains why; validation failures that concern several fields also include data.fields.

201 Created
{
    "success": true,
    "data": {
        "message": "Application data inserted successfully.",
        "application_id": 123
    }
}
422 Unprocessable Entity
{
    "success": false,
    "data": {
        "message": "Required fields are missing.",
        "fields": [
            "applicant_name",
            "district_id"
        ]
    }
}

HTTP status codes · submission endpoints

StatusMeaningdata.message examples
201Application stored. data.application_id is the new application’s ID.Application data inserted successfully.
400Body is not a JSON object.Invalid JSON body.
401Missing or wrong credentials — see Authentication.—
409The same account already submitted this service — see duplicates.Duplicate application found.
422Validation failed. Nothing was stored; fix the request and resend. Required fields are missing. (+ fields)
These fields must be non-negative numbers. (+ fields)
Invalid email address.
Invalid mobile; expected a 10-digit mobile number.
The declaration must be accepted.
Invalid district_id.
region_id does not match the selected district.
aadhar_card must be a PDF, JPG or PNG file.
500Database error while storing; data.debug holds the database message. Safe to retry.Failed to insert application data.
Validation stops at the first failing rule, except that all missing required fields (and all invalid number fields) are reported together in data.fields. Order: authentication → JSON body → documents → required fields → declaration → numbers → formats (dates, IDs, email, mobile) → district / region → duplicate.

Submission rules

Behaviour shared by every /insert-application/* endpoint.

RuleDetail
One endpoint per serviceThe URL decides the service: each form posts to its own /insert-application/<form> route, and the application is stored with that service’s code (MT01–MT11, shown on each card). Any slug in the body is ignored and replaced with the route name.
Only documented fields are keptEach endpoint stores the fields listed for it, plus documents. Unknown keys are silently dropped — a typo in a field name loses that value (and a misspelt required field is reported as missing).
Text is sanitizedHTML tags are stripped from every text value; single-line fields also lose line breaks. Emails are normalised.
Region follows districtThe applicant’s district must exist in /district-data. If region_id is sent it must match that district’s region; the stored region is always the district’s.
DuplicatesOne application per account per service: a second submission with the same account email + mobile for the same service returns 409. Which fields are the account’s email / mobile is listed per endpoint under Stored as.
Initial statusNew applications start as 1 – Pending (see status codes).
Full payload is keptThe whole sanitized payload is stored with the application and shown to reviewers; the Stored as columns are copied out for the dashboard and duplicate check.

Documents

Files travel inline in the JSON body as base64 data URIs.

Format
data:<mime type>;base64,<base64 data>

"aadhar_card": "data:application/pdf;base64,JVBERi0xLjMKJcTl8uXrp..."

Rules

RuleDetail
Allowed typesapplication/pdf image/jpeg image/jpg image/png
Maximum size5 MB per file, measured after base64 decoding.
EncodingStrict base64. Whitespace inside the data is removed; any other invalid character rejects the file.
No fileSend "" or null, or omit the key.
Errors (422)<field> must be a base64 data URI.
<field> must be a PDF, JPG or PNG file.
<field> contains invalid base64 data.
<field> exceeds the 5 MB limit.

Where documents may appear

Each endpoint lists which keys it treats as documents — a fixed list, a key prefix such as file_*, or “any top-level field whose value is a data URI”.

Files inside nested structures (repeater rows, file objects, enclosures) are moved to top-level document keys such as file_aadhar or file_enclosure_ca_certificate, and the nested entry keeps that key name. Those top-level keys are the names reviewers flag, and the names used by /application-document and /update-flagged-fields.

The whole request, files included, must fit the server’s upload limits. Forms with many documents should keep files small (compress scans, prefer PDF) — very large submissions can be rejected by the web server before they reach the API.

Value formats

The types used in the field tables and what each accepts.

TypeAccepted values
stringSingle-line text. Tags and line breaks are stripped.
textMulti-line text. Tags are stripped; line breaks kept.
integerWhole number or numeric string; stored as a non-negative integer. Empty becomes 0.
numberNon-negative number, decimals allowed, e.g. "1250000.50". Stored as the submitted string. Negative or non-numeric values return 422.
booleantrue "true" 1 "1" "yes" "on" are true; anything else ("", "false", 0) is false.
dateA real calendar date. Each field states whether it takes YYYY-MM-DD only or also YYYY/MM/DD. Empty is allowed for optional dates.
mobile10 digits starting with 6–9, e.g. 7588690658. No +91, spaces or dashes.
AadhaarExactly 12 digits.
PANABCDE1234F — 5 letters, 4 digits, 1 letter (upper-cased before checking).
GSTIN15 characters, e.g. 27AAACR5055K1Z7 (upper-cased before checking).
pincode6 digits, not starting with 0.
data URISee Documents.

Application status codes

Returned as application_status by /application-status.

CodeLabelMeaning for the applicant
1PendingSubmitted (or corrected) and waiting for review.
2On holdA reviewer flagged fields that need correcting — see /update-flagged-fields.
3Pending from ApplicantWaiting on the applicant.
4RejectApplication rejected.
5ApprovedApplication approved.

Submit an application

One endpoint per service. All share the authentication, responses, rules and document handling above; each card lists that form’s fields.

POST /insert-application/caravan-tourism-policy-registration Basic auth

MT01 Caravan Tourism Policy — Registration

Registers a caravan under the Caravan Tourism Policy. Service code MT01; processed within 30 days.

Body fields

FieldTypeRequiredRules
applicant_name string Required —
address text Required —
applicant_type string Required Applicant type ID, stored as sent.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
district_id integer Required ID from /district-data. Unknown IDs are rejected (422).
emergency_contact string Optional 10-digit mobile when given.
caravan_type_id integer Required ID from master-data caravan_types.
vehicle_reg_no string Required —
capacity integer Optional —
beds integer Optional —
engine_no string Optional —
chassis_no string Optional —
amenities integer[] Optional IDs from master-data caravan_amenities.
optional_features integer[] Optional IDs from master-data caravan_optional_features.
routes text Optional —
email string Required Submitting account’s email.
mobile string Required 10-digit mobile.
registration_fee_challan vehicle_reg_card vehicle_insurance declaration_form aadhar_card pan_card vehicle_purchase_copy company_proof data URI Optional Documents. Only these keys are accepted; "" means not uploaded.

Stored as

Application columnTaken from
applicant_nameapplicant_name
applicant_emailemail
applicant_mobile_numbermobile
district_iddistrict_id
service_codeMT01 (fixed)

Duplicate check: email + mobile for this service.

Example request body
POST /insert-application/caravan-tourism-policy-registration · file data shortened
{
    "applicant_name": "Frances Hays",
    "address": "Et labore laboris ip",
    "applicant_type": "10",
    "region_id": "12",
    "district_id": "24",
    "emergency_contact": "8089090890",
    "caravan_type_id": "3",
    "vehicle_reg_no": "MH12AB1234",
    "capacity": 12,
    "beds": 4,
    "engine_no": "744",
    "chassis_no": "49",
    "amenities": [
        1
    ],
    "optional_features": [
        6
    ],
    "routes": "Pune - Mahabaleshwar",
    "email": "owner@example.com",
    "mobile": "7588690658",
    "registration_fee_challan": "data:application/pdf;base64,JVBERi0xLjMK...",
    "aadhar_card": "data:application/pdf;base64,JVBERi0xLjMK...",
    "pan_card": ""
}
POST /insert-application/agricultural-tourism-policy-registration Basic auth

MT10 Agricultural Tourism Policy — Registration

Registers an agri-tourism centre. Service code MT10; processed within 45 days.

Body fields

FieldTypeRequiredRules
applicant_name string Required —
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
district_id integer Required ID from /district-data. Unknown IDs are rejected (422).
applicant_type_id integer Required —
center_name string Required —
applicant_address text Required —
center_address text Required —
land_description text Optional —
facility_day_trip facility_accommodation facility_play_area_children facility_adventure_games facility_rural_games facility_agricultural_camping facility_horticulture_product_sale boolean Optional Checkboxes. Send "true" when ticked, "" otherwise. Stored as "true" / "".
activity_green_house activity_milk_business activity_fisheries activity_rop_vatika activity_animal_bird_rearing activity_nature_adventure_tourism activity_other boolean Optional Same format as the facility checkboxes.
activity_other_text string Conditional Required when activity_other is ticked.
applicant_live_in_place "yes" | "no" Optional Any other value is stored as "".
center_started_on string Optional Stored as sent.
email string Required Submitting account’s email.
mobile string Required 10-digit mobile.
file_* data URI Optional Every key starting with file_ is treated as a document, e.g. file_signature_stamp, file_land_documents.

Stored as

Application columnTaken from
applicant_nameapplicant_name
applicant_emailemail
applicant_mobile_numbermobile
district_iddistrict_id
service_codeMT10 (fixed)

Duplicate check: email + mobile for this service.

Example request body
POST /insert-application/agricultural-tourism-policy-registration · file data shortened
{
    "applicant_name": "Rodgers and Savage Inc",
    "region_id": "12",
    "district_id": "24",
    "center_name": "Azalia Gardner",
    "applicant_type_id": "10",
    "applicant_address": "Fuga Hic quia rerum",
    "center_address": "Quos tenetur maxime",
    "land_description": "Sint magnam sint do",
    "facility_day_trip": "true",
    "facility_accommodation": "true",
    "facility_rural_games": "",
    "applicant_live_in_place": "yes",
    "activity_other": "",
    "activity_other_text": "",
    "center_started_on": "2021",
    "email": "owner@example.com",
    "mobile": "7588690658",
    "file_signature_stamp": "data:application/pdf;base64,JVBERi0xLjMK...",
    "file_land_documents": "data:application/pdf;base64,JVBERi0xLjMK..."
}
POST /insert-application/adventure-tourism-policy-registration Basic auth

MT11 Adventure Tourism Policy — Registration

New registration or renewal of an adventure-activity operator. Service code MT11; processed within 30 days.

Body fields

FieldTypeRequiredRules
category string Optional e.g. land.
applicant_name string Required Organisation name.
type_of_registration string Required e.g. new, renewal.
type_of_applicant integer Required —
owner_name string Required —
designation string Optional —
aadhar_no_of_applicant string Required Exactly 12 digits.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
district_id integer Required ID from /district-data. Unknown IDs are rejected (422).
taluka_id string Optional Stored as text in the payload; not written to the taluka_id column.
email_id string Required Organisation email. Valid email.
mobile_no string Required Organisation mobile, 10 digits.
whatsapp_no string Optional 10-digit mobile when given.
registered_address text Required —
same_as_above boolean Optional When true, correspondence_address is overwritten with registered_address.
correspondence_address text Optional —
primary_activity_location string Optional —
category_of_registration string Required —
MahaATITHI_reg_no string Optional —
registration_date date Optional YYYY-MM-DD only.
adventure_category string Required e.g. land-activity.
grass_amount string Optional Stored as sent, e.g. "1,500".
declaration_place string Required —
declaration_date date Required YYYY-MM-DD only.
declaration_name_of_applicant string Required —
declaration boolean Required Must be true.
email string Required Submitting account’s email.
mobile string Required Submitting account’s mobile, 10 digits.
(any key) data URI Optional Every top-level field whose value is a data URI is a document, e.g. previousRegistrationCertificate, proofOfOrg. Key case is preserved.

Stored as

Application columnTaken from
applicant_nameapplicant_name
applicant_emailemail
applicant_mobile_numbermobile
district_iddistrict_id
service_codeMT11 (fixed)

Duplicate check: email + mobile for this service.

Example request body
POST /insert-application/adventure-tourism-policy-registration · file data shortened
{
    "category": "land",
    "applicant_name": "Garrett and Sanchez LLC",
    "type_of_registration": "renewal",
    "type_of_applicant": "10",
    "owner_name": "Coby Newman",
    "aadhar_no_of_applicant": "146456456456",
    "region_id": 12,
    "district_id": 24,
    "email_id": "org@example.com",
    "mobile_no": "6360808908",
    "registered_address": "Debitis consequuntur",
    "same_as_above": "true",
    "category_of_registration": "Technical Service Provider Organisation",
    "registration_date": "2026-09-06",
    "adventure_category": "land-activity",
    "declaration_place": "Pune",
    "declaration_date": "2026-09-06",
    "declaration_name_of_applicant": "Emerald Baird",
    "declaration": true,
    "email": "owner@example.com",
    "mobile": "7588690658",
    "previousRegistrationCertificate": "data:application/pdf;base64,JVBERi0xLjMK...",
    "proofOfOrg": "data:application/pdf;base64,JVBERi0xLjMK..."
}
POST /insert-application/registration-of-vacation-homes Basic auth

MT07 Registration of Vacation Homes

Registers a vacation home. Service code MT07; processed within 45 days.

The four tourism property forms (vacation homes, villas, apartments, homestays) accept exactly the same fields. Each has its own endpoint and service_code, so duplicates are checked per form.

Body fields

FieldTypeRequiredRules
name string Required Applicant name. Stored in the applicant_name column.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
region_district_id integer Required Applicant’s district (paired with region_id). Drives the table’s district_id column and the region check.
business_name string Required —
business_type integer Required Applicant type ID.
pan_no string Required PAN, e.g. ABCDE1234F. Upper-cased before validation.
business_pan_no string Optional PAN format when given.
aadhaar_no string Required Exactly 12 digits.
udyam_reg_no string Optional —
ownership_proof_type string Optional e.g. Property Card, Property Tax Receipts.
state string Optional Stored as sent (name or ID).
district integer Optional Business / property address district ID.
district_id integer Required Property district ID. Stored in the payload only.
is_property_rented "1" | "0" Optional Stored as "1" / "0".
operator_name string Conditional Required when is_property_rented is "1".
property_name string Required —
geo_link string Optional —
address_proof_type string Optional —
address text Required Multi-line allowed.
total_area_sqft integer Optional Whole number; decimals are truncated.
mahabooking_reg_no string Optional —
is_operational "1" | "0" Optional —
operational_since string Conditional Required when is_operational is "1". Stored as sent (e.g. a year).
guests_till_march integer Optional —
flats_count integer Optional —
flat_types string[] Optional —
attached_toilet has_dustbins road_access food_on_request payment_upi "1" | "0" Optional Yes/no answers.
facilities integer[] Optional Facility IDs; duplicates and zeros removed.
gras_paid "1" | "0" Optional —
grl_no string Conditional Required when gras_paid is "1".
email string Required Submitting account’s email. Stored in applicant_email.
phone string Required 10-digit mobile. Stored in applicant_mobile_number.
file object Optional { "<category>": [ { "file": <data URI>, "original_name": "…", "size": 123 } ] }. Each upload is stored as a document named file_<category>, then file_<category>_2, _3… for further files in the same category. original_name and size are discarded.

Stored as

Application columnTaken from
applicant_namename
applicant_emailemail
applicant_mobile_numberphone
district_idregion_district_id
service_codeMT07 (fixed)

Duplicate check: email + phone for this service.

Example request body
POST /insert-application/registration-of-vacation-homes · file data shortened
{
    "name": "Patricia Buck",
    "region_id": "12",
    "region_district_id": "24",
    "business_name": "Carol Stuart",
    "business_type": "10",
    "pan_no": "AAAAA1111A",
    "business_pan_no": "",
    "aadhaar_no": "855668678678",
    "ownership_proof_type": "Property Card",
    "state": "14",
    "district": "4",
    "is_property_rented": "0",
    "operator_name": "",
    "property_name": "Slade Vega",
    "address": "Dicta assumenda exce",
    "district_id": "3",
    "total_area_sqft": "12",
    "is_operational": "1",
    "operational_since": "2019",
    "flats_count": 1,
    "facilities": [
        7
    ],
    "gras_paid": "1",
    "grl_no": "695",
    "flat_types": [
        "2 BHK"
    ],
    "email": "owner@example.com",
    "phone": "7588690658",
    "file": {
        "aadhar": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "aadhar.pdf",
                "size": 18810
            }
        ],
        "pan": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "pan.pdf",
                "size": 18810
            }
        ]
    }
}
POST /insert-application/registration-of-tourism-villas Basic auth

MT05 Registration of Tourism Villas

Registers a tourism villa. Service code MT05; processed within 45 days.

The four tourism property forms (vacation homes, villas, apartments, homestays) accept exactly the same fields. Each has its own endpoint and service_code, so duplicates are checked per form.

Body fields

FieldTypeRequiredRules
name string Required Applicant name. Stored in the applicant_name column.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
region_district_id integer Required Applicant’s district (paired with region_id). Drives the table’s district_id column and the region check.
business_name string Required —
business_type integer Required Applicant type ID.
pan_no string Required PAN, e.g. ABCDE1234F. Upper-cased before validation.
business_pan_no string Optional PAN format when given.
aadhaar_no string Required Exactly 12 digits.
udyam_reg_no string Optional —
ownership_proof_type string Optional e.g. Property Card, Property Tax Receipts.
state string Optional Stored as sent (name or ID).
district integer Optional Business / property address district ID.
district_id integer Required Property district ID. Stored in the payload only.
is_property_rented "1" | "0" Optional Stored as "1" / "0".
operator_name string Conditional Required when is_property_rented is "1".
property_name string Required —
geo_link string Optional —
address_proof_type string Optional —
address text Required Multi-line allowed.
total_area_sqft integer Optional Whole number; decimals are truncated.
mahabooking_reg_no string Optional —
is_operational "1" | "0" Optional —
operational_since string Conditional Required when is_operational is "1". Stored as sent (e.g. a year).
guests_till_march integer Optional —
flats_count integer Optional —
flat_types string[] Optional —
attached_toilet has_dustbins road_access food_on_request payment_upi "1" | "0" Optional Yes/no answers.
facilities integer[] Optional Facility IDs; duplicates and zeros removed.
gras_paid "1" | "0" Optional —
grl_no string Conditional Required when gras_paid is "1".
email string Required Submitting account’s email. Stored in applicant_email.
phone string Required 10-digit mobile. Stored in applicant_mobile_number.
file object Optional { "<category>": [ { "file": <data URI>, "original_name": "…", "size": 123 } ] }. Each upload is stored as a document named file_<category>, then file_<category>_2, _3… for further files in the same category. original_name and size are discarded.

Stored as

Application columnTaken from
applicant_namename
applicant_emailemail
applicant_mobile_numberphone
district_idregion_district_id
service_codeMT05 (fixed)

Duplicate check: email + phone for this service.

Example request body
POST /insert-application/registration-of-tourism-villas · file data shortened
{
    "name": "Patricia Buck",
    "region_id": "12",
    "region_district_id": "24",
    "business_name": "Carol Stuart",
    "business_type": "10",
    "pan_no": "AAAAA1111A",
    "business_pan_no": "",
    "aadhaar_no": "855668678678",
    "ownership_proof_type": "Property Card",
    "state": "14",
    "district": "4",
    "is_property_rented": "0",
    "operator_name": "",
    "property_name": "Slade Vega",
    "address": "Dicta assumenda exce",
    "district_id": "3",
    "total_area_sqft": "12",
    "is_operational": "1",
    "operational_since": "2019",
    "flats_count": 1,
    "facilities": [
        7
    ],
    "gras_paid": "1",
    "grl_no": "695",
    "flat_types": [
        "2 BHK"
    ],
    "email": "owner@example.com",
    "phone": "7588690658",
    "file": {
        "aadhar": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "aadhar.pdf",
                "size": 18810
            }
        ],
        "pan": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "pan.pdf",
                "size": 18810
            }
        ]
    }
}
POST /insert-application/registration-of-tourism-apartments Basic auth

MT06 Registration of Tourism Apartments

Registers a tourism apartment. Service code MT06; processed within 45 days.

The four tourism property forms (vacation homes, villas, apartments, homestays) accept exactly the same fields. Each has its own endpoint and service_code, so duplicates are checked per form.

Body fields

FieldTypeRequiredRules
name string Required Applicant name. Stored in the applicant_name column.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
region_district_id integer Required Applicant’s district (paired with region_id). Drives the table’s district_id column and the region check.
business_name string Required —
business_type integer Required Applicant type ID.
pan_no string Required PAN, e.g. ABCDE1234F. Upper-cased before validation.
business_pan_no string Optional PAN format when given.
aadhaar_no string Required Exactly 12 digits.
udyam_reg_no string Optional —
ownership_proof_type string Optional e.g. Property Card, Property Tax Receipts.
state string Optional Stored as sent (name or ID).
district integer Optional Business / property address district ID.
district_id integer Required Property district ID. Stored in the payload only.
is_property_rented "1" | "0" Optional Stored as "1" / "0".
operator_name string Conditional Required when is_property_rented is "1".
property_name string Required —
geo_link string Optional —
address_proof_type string Optional —
address text Required Multi-line allowed.
total_area_sqft integer Optional Whole number; decimals are truncated.
mahabooking_reg_no string Optional —
is_operational "1" | "0" Optional —
operational_since string Conditional Required when is_operational is "1". Stored as sent (e.g. a year).
guests_till_march integer Optional —
flats_count integer Optional —
flat_types string[] Optional —
attached_toilet has_dustbins road_access food_on_request payment_upi "1" | "0" Optional Yes/no answers.
facilities integer[] Optional Facility IDs; duplicates and zeros removed.
gras_paid "1" | "0" Optional —
grl_no string Conditional Required when gras_paid is "1".
email string Required Submitting account’s email. Stored in applicant_email.
phone string Required 10-digit mobile. Stored in applicant_mobile_number.
file object Optional { "<category>": [ { "file": <data URI>, "original_name": "…", "size": 123 } ] }. Each upload is stored as a document named file_<category>, then file_<category>_2, _3… for further files in the same category. original_name and size are discarded.

Stored as

Application columnTaken from
applicant_namename
applicant_emailemail
applicant_mobile_numberphone
district_idregion_district_id
service_codeMT06 (fixed)

Duplicate check: email + phone for this service.

Example request body
POST /insert-application/registration-of-tourism-apartments · file data shortened
{
    "name": "Patricia Buck",
    "region_id": "12",
    "region_district_id": "24",
    "business_name": "Carol Stuart",
    "business_type": "10",
    "pan_no": "AAAAA1111A",
    "business_pan_no": "",
    "aadhaar_no": "855668678678",
    "ownership_proof_type": "Property Card",
    "state": "14",
    "district": "4",
    "is_property_rented": "0",
    "operator_name": "",
    "property_name": "Slade Vega",
    "address": "Dicta assumenda exce",
    "district_id": "3",
    "total_area_sqft": "12",
    "is_operational": "1",
    "operational_since": "2019",
    "flats_count": 1,
    "facilities": [
        7
    ],
    "gras_paid": "1",
    "grl_no": "695",
    "flat_types": [
        "2 BHK"
    ],
    "email": "owner@example.com",
    "phone": "7588690658",
    "file": {
        "aadhar": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "aadhar.pdf",
                "size": 18810
            }
        ],
        "pan": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "pan.pdf",
                "size": 18810
            }
        ]
    }
}
POST /insert-application/registration-of-homestays Basic auth

MT08 Registration of Homestays

Registers a homestay. Service code MT08; processed within 45 days.

The four tourism property forms (vacation homes, villas, apartments, homestays) accept exactly the same fields. Each has its own endpoint and service_code, so duplicates are checked per form.

Body fields

FieldTypeRequiredRules
name string Required Applicant name. Stored in the applicant_name column.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
region_district_id integer Required Applicant’s district (paired with region_id). Drives the table’s district_id column and the region check.
business_name string Required —
business_type integer Required Applicant type ID.
pan_no string Required PAN, e.g. ABCDE1234F. Upper-cased before validation.
business_pan_no string Optional PAN format when given.
aadhaar_no string Required Exactly 12 digits.
udyam_reg_no string Optional —
ownership_proof_type string Optional e.g. Property Card, Property Tax Receipts.
state string Optional Stored as sent (name or ID).
district integer Optional Business / property address district ID.
district_id integer Required Property district ID. Stored in the payload only.
is_property_rented "1" | "0" Optional Stored as "1" / "0".
operator_name string Conditional Required when is_property_rented is "1".
property_name string Required —
geo_link string Optional —
address_proof_type string Optional —
address text Required Multi-line allowed.
total_area_sqft integer Optional Whole number; decimals are truncated.
mahabooking_reg_no string Optional —
is_operational "1" | "0" Optional —
operational_since string Conditional Required when is_operational is "1". Stored as sent (e.g. a year).
guests_till_march integer Optional —
flats_count integer Optional —
flat_types string[] Optional —
attached_toilet has_dustbins road_access food_on_request payment_upi "1" | "0" Optional Yes/no answers.
facilities integer[] Optional Facility IDs; duplicates and zeros removed.
gras_paid "1" | "0" Optional —
grl_no string Conditional Required when gras_paid is "1".
email string Required Submitting account’s email. Stored in applicant_email.
phone string Required 10-digit mobile. Stored in applicant_mobile_number.
file object Optional { "<category>": [ { "file": <data URI>, "original_name": "…", "size": 123 } ] }. Each upload is stored as a document named file_<category>, then file_<category>_2, _3… for further files in the same category. original_name and size are discarded.

Stored as

Application columnTaken from
applicant_namename
applicant_emailemail
applicant_mobile_numberphone
district_idregion_district_id
service_codeMT08 (fixed)

Duplicate check: email + phone for this service.

Example request body
POST /insert-application/registration-of-homestays · file data shortened
{
    "name": "Patricia Buck",
    "region_id": "12",
    "region_district_id": "24",
    "business_name": "Carol Stuart",
    "business_type": "10",
    "pan_no": "AAAAA1111A",
    "business_pan_no": "",
    "aadhaar_no": "855668678678",
    "ownership_proof_type": "Property Card",
    "state": "14",
    "district": "4",
    "is_property_rented": "0",
    "operator_name": "",
    "property_name": "Slade Vega",
    "address": "Dicta assumenda exce",
    "district_id": "3",
    "total_area_sqft": "12",
    "is_operational": "1",
    "operational_since": "2019",
    "flats_count": 1,
    "facilities": [
        7
    ],
    "gras_paid": "1",
    "grl_no": "695",
    "flat_types": [
        "2 BHK"
    ],
    "email": "owner@example.com",
    "phone": "7588690658",
    "file": {
        "aadhar": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "aadhar.pdf",
                "size": 18810
            }
        ],
        "pan": [
            {
                "file": "data:application/pdf;base64,JVBERi0xLjMK...",
                "original_name": "pan.pdf",
                "size": 18810
            }
        ]
    }
}
POST /insert-application/issuance-of-temporary-registration-certificate Basic auth

MT02 Issuance of Temporary Registration Certificate

Applies for a temporary registration certificate for a tourism enterprise project. Service code MT02; processed within 45 days.

This form carries two sets of contact details: email/mobile belong to the enterprise, email_id/phone to the logged-in account. The duplicate check uses the account’s.

Body fields

FieldTypeRequiredRules
applicant_name string Required —
company_name string Required —
email string Required Enterprise email. Valid email; payload only.
mobile string Required Enterprise mobile, 10 digits; payload only.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
district_id integer Required ID from /district-data. Unknown IDs are rejected (422).
enterprise_type integer Required —
aadhar_number string Required Exactly 12 digits.
application_category integer Required —
survey_type integer Optional —
survey_number string Optional —
village_city taluka string Optional —
district state integer Optional Enterprise address district / state IDs.
pincode string Optional 6 digits, not starting with 0.
website string Optional Stored as a sanitized URL.
udyog_aadhar string Optional —
gst_number string Optional Valid 15-character GSTIN when given; upper-cased.
zone string Optional —
project_type string Required e.g. New, Expansion.
eligibility_certificate string Optional —
project_category integer Required —
project_subcategory string Optional —
project_description text Optional —
land_ownership_type building_ownership_type land_type string Optional e.g. Owned.
land_area project_cost total_employees number Optional Non-negative number (decimals allowed); stored as the submitted string.
land_est building_est machinery_est engineering_est preop_est margin_est number Optional Estimated cost per head. Non-negative.
land_inv building_inv machinery_inv engineering_inv preop_inv margin_inv number Optional Investment made per head. Non-negative.
share_promoters share_financial share_public loan_financial loan_banks loan_others number Optional Means of finance. Non-negative.
expansion_details array Conditional Rows of { existing_facilities, existing_employment, expansion_facilities, expansion_employment } (non-negative numbers). At least one row is required when project_type is Expansion.
entrepreneurs_profile array Optional Rows of { name, designation, ownership, gender, age }. ownership is a percentage 0–100; age a whole number.
other_documents array Optional Rows of { other_doc_name, other_doc_no, other_issue_date, other_validity_date, other_doc_file }. A file (data URI) is stored as document file_other_document_<n> and the row’s other_doc_file holds that key. null means no file.
<type>_doc_no <type>_issue_date string, date Optional For each supporting document type: commencement_certificate, sanctioned_plan, proof_of_identity, proof_of_address, land_ownership, project_report, incorporation_documents, gst_registration, special_category_proof, ca_certificate, processing_fee_challan.
<type>_file signature data URI Optional Every top-level data-URI field is a document, e.g. ca_certificate_file, processing_fee_challan_file, signature.
declaration boolean Required Must be true.
place string Required —
date date Required YYYY/MM/DD or YYYY-MM-DD.
email_id string Required Submitting account’s email. Stored in applicant_email.
phone string Required Submitting account’s mobile, 10 digits. Stored in applicant_mobile_number.

Stored as

Application columnTaken from
applicant_nameapplicant_name
applicant_emailemail_id
applicant_mobile_numberphone
district_iddistrict_id
service_codeMT02 (fixed)

Duplicate check: email_id + phone for this service.

Example request body
POST /insert-application/issuance-of-temporary-registration-certificate · file data shortened
{
    "applicant_name": "Julian Chaney",
    "company_name": "Lamb and Downs Inc",
    "email": "enterprise@example.com",
    "mobile": "9789797979",
    "region_id": "16",
    "district_id": "7",
    "enterprise_type": "10",
    "aadhar_number": "898798979799",
    "application_category": "1",
    "pincode": "456456",
    "website": "https://www.example.com",
    "project_type": "Expansion",
    "project_category": "5",
    "project_cost": "2500000",
    "land_est": "1000000",
    "expansion_details": [
        {
            "existing_facilities": "42",
            "existing_employment": "20",
            "expansion_facilities": "60",
            "expansion_employment": "35"
        }
    ],
    "entrepreneurs_profile": [
        {
            "name": "Alexis Vinson",
            "designation": "Director",
            "ownership": "60",
            "gender": "Male",
            "age": "43"
        }
    ],
    "other_documents": [
        {
            "other_doc_name": "Fire NOC",
            "other_doc_no": "186",
            "other_issue_date": "2026-01-05",
            "other_validity_date": "",
            "other_doc_file": "data:application/pdf;base64,JVBERi0xLjMK..."
        }
    ],
    "ca_certificate_doc_no": "700",
    "ca_certificate_issue_date": "2026/08/01",
    "ca_certificate_file": "data:application/pdf;base64,JVBERi0xLjMK...",
    "declaration": "true",
    "place": "Pune",
    "date": "2026/09/01",
    "email_id": "owner@example.com",
    "phone": "7588690658",
    "signature": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
}
POST /insert-application/issuance-of-no-objection-certificate Basic auth

MT09 Issuance of No Objection Certificate

Applies for a NOC for a tourism project. Service code MT09; processed within 30 days.

Body fields

FieldTypeRequiredRules
applicant_name string Required —
company_name string Required —
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
district_id integer Required ID from /district-data. Unknown IDs are rejected (422).
registration_no string Optional —
application_date date Required YYYY-MM-DD only.
applicant_type integer Required —
agreement_type string Optional e.g. Mortgage.
c_address text Required Correspondence address.
c_city c_taluka c_district c_state string Optional Names, not IDs.
c_pincode string Optional 6 digits.
c_mobile string Required 10-digit mobile.
c_phone string | number Optional Landline. 0 means not given and is stored as "".
c_email string Required Valid email.
c_fax string Optional —
p_address text Optional Permanent address.
p_city p_taluka p_district p_state string Optional Names, not IDs.
p_pincode string Optional 6 digits.
p_mobile string Optional 10-digit mobile when given.
p_phone string | number Optional Landline; 0 stored as "".
p_email string Optional Valid email when given.
p_website string Optional Stored as a sanitized URL.
land_gat land_village land_taluka land_district string Optional Project land details.
area_a area_b area_c area_d area_e number Optional Non-negative.
na_gat na_village na_taluka na_district string Optional Non-agricultural land details.
na_area number Optional Non-negative.
estimated_project_cost proposed_employment project_employment number Optional Non-negative.
cost_land cost_building cost_machinery cost_electrical cost_misc cost_other number Optional Non-negative.
tourism_activities incentives_availed text Optional —
existed_before boolean Optional Stored as "1" / "0".
eligibility_cert_no string Conditional Required when existed_before is true.
eligibility_date date Conditional Required when existed_before is true. YYYY-MM-DD.
present_status string Optional —
noc_purpose text Required —
noc_authority text Required —
name_designation string Required —
declaration_accept boolean Required Must be true.
email string Required Submitting account’s email.
phone string Required Submitting account’s mobile, 10 digits.
signature doc_challan doc_affidavit … data URI Optional Every top-level data-URI field is a document. These three get friendly labels on the review page.

Stored as

Application columnTaken from
applicant_nameapplicant_name
applicant_emailemail
applicant_mobile_numberphone
district_iddistrict_id
service_codeMT09 (fixed)

Duplicate check: email + phone for this service.

Example request body
POST /insert-application/issuance-of-no-objection-certificate · file data shortened
{
    "applicant_name": "Imani Duran",
    "company_name": "Burris Figueroa Co",
    "region_id": 12,
    "district_id": 18,
    "application_date": "2026-09-01",
    "applicant_type": 10,
    "c_address": "Eu ea quis rem sit",
    "c_district": "Amravati",
    "c_pincode": "456454",
    "c_mobile": "8978978989",
    "c_phone": 0,
    "c_email": "contact@example.com",
    "estimated_project_cost": 1500000,
    "existed_before": 0,
    "noc_purpose": "Hotel construction",
    "noc_authority": "Collector, Amravati",
    "name_designation": "Roary Ramirez, Director",
    "declaration_accept": "true",
    "email": "owner@example.com",
    "phone": "7588690658",
    "signature": "data:image/jpeg;base64,/9j/4AAQSkZJRg...",
    "doc_challan": "data:application/pdf;base64,JVBERi0xLjMK...",
    "doc_affidavit": "data:application/pdf;base64,JVBERi0xLjMK..."
}
POST /insert-application/issuance-of-eligibility-certificate Basic auth

MT04 Issuance of Eligibility Certificate

Applies for an eligibility certificate against a provisional registration. Service code MT04; processed within 60 days.

Body fields

FieldTypeRequiredRules
applicant_name string Required —
provisional_number string Required —
gst_number string Optional Valid 15-character GSTIN when given; upper-cased.
region_id integer Optional Must equal the region of the district below, otherwise 422. The stored value is always taken from the district.
district_id integer Required ID from /district-data. Unknown IDs are rejected (422).
entrepreneurs array Required At least one row of { name, designation, ownership, gender, age }. ownership is free text here; age a whole number.
project_description text Optional —
commencement_date date Required YYYY/MM/DD or YYYY-MM-DD.
operation_details string Required e.g. Third Party.
cost_component object Optional Amount per asset component (non-negative number). Components: structures_buildings, machinery_equipment, material_handling, mep_installations, fixtures_furniture, waste_treatment, transformer_generator, captive_power, utility_installation, quality_investments, sustainability_initiatives. Other keys are dropped.
asset_age object Optional Text per asset component (same keys).
ownership object Optional List of strings per asset component, e.g. { "captive_power": ["Owned"] }.
other_docs array Optional Rows of { name, doc_no, issue_date, validity_date, file }. A file is stored as document file_other_doc_<n> and the row’s file holds that key.
enclosures object Optional { "<type>": { label, doc_no, issue_date, file } }, e.g. travel_life, ca_certificate. Any type key is accepted. A file is stored as document file_enclosure_<type>.
declaration_check boolean Required Must be true.
declaration_place string Required —
declaration_date date Required YYYY/MM/DD or YYYY-MM-DD.
email string Required Submitting account’s email.
mobile string Required Submitting account’s mobile, 10 digits.

Stored as

Application columnTaken from
applicant_nameapplicant_name
applicant_emailemail
applicant_mobile_numbermobile
district_iddistrict_id
service_codeMT04 (fixed)

Duplicate check: email + mobile for this service.

Example request body
POST /insert-application/issuance-of-eligibility-certificate · file data shortened
{
    "applicant_name": "Kimberley Adams",
    "provisional_number": "664",
    "gst_number": "27AAACR5055K1Z7",
    "region_id": 12,
    "district_id": 24,
    "entrepreneurs": [
        {
            "name": "Jorden Small",
            "designation": "Partner",
            "ownership": "50%",
            "gender": "Female",
            "age": "38"
        }
    ],
    "commencement_date": "2026/09/07",
    "operation_details": "Third Party",
    "other_docs": [
        {
            "name": "Lease deed",
            "doc_no": "92",
            "issue_date": "",
            "validity_date": "",
            "file": null
        }
    ],
    "cost_component": {
        "structures_buildings": "1200000",
        "machinery_equipment": "300000"
    },
    "asset_age": {
        "structures_buildings": "2 years",
        "machinery_equipment": "New"
    },
    "ownership": {
        "structures_buildings": [
            "Owned"
        ],
        "machinery_equipment": [
            "Leased"
        ]
    },
    "declaration_check": "true",
    "declaration_place": "Pune",
    "declaration_date": "2026/09/01",
    "email": "owner@example.com",
    "mobile": "7588690658",
    "enclosures": {
        "travel_life": {
            "label": "",
            "doc_no": "",
            "issue_date": "",
            "file": "data:application/pdf;base64,JVBERi0xLjMK..."
        },
        "ca_certificate": {
            "label": "",
            "doc_no": "",
            "issue_date": "",
            "file": "data:application/pdf;base64,JVBERi0xLjMK..."
        }
    }
}

Track & correct

Check an application’s progress and send corrections when a reviewer puts it on hold.

GET /application-status/{application_id} No auth

Application status

Current status of an application, plus the fields a reviewer flagged when it is on hold.

Path parameters

NameTypeRequiredDescription
application_idintegerRequiredThe application_id returned when the application was submitted.

Response fields · data.data

FieldTypeDescription
application_idstringApplication ID.
applicant_namestringApplicant name as stored.
applicant_emailstringAccount email as stored.
application_statusstringStatus code — see status codes.
flagged_fieldsstring[]Only when the status is 2: payload keys the applicant must correct (document keys included, e.g. file_aadhar).

Responses

200 · on hold
{
    "success": true,
    "data": {
        "message": "Application status retrieved successfully.",
        "data": {
            "application_id": "123",
            "applicant_name": "Patricia Buck",
            "applicant_email": "owner@example.com",
            "application_status": "2",
            "flagged_fields": [
                "address",
                "file_aadhar"
            ]
        }
    }
}
200 · not found
{
    "success": false,
    "data": {
        "message": "Application not found."
    }
}
Errors on this endpoint return HTTP 200 with success: false — check success, not only the status code.
POST /update-flagged-fields/{application_id} No auth

Update flagged fields

Submit corrected values for the fields a reviewer flagged. Only works while the application is on hold (status 2).

Body

FieldTypeRequiredDescription
fieldsobjectRequiredMap of flagged field key → corrected value. Keys that were not flagged are ignored. Values must be strings or numbers (a corrected document is a data URI string); arrays and objects are stored as "".

Behaviour

  • Only the submitted flagged keys change; the rest of the application is untouched.
  • Corrected keys are removed from the flagged list. When none remain, the status returns to 1 – Pending for re-review; otherwise it stays 2.
  • The change is recorded in the application’s status history as made by the applicant.

Example

Request
{
    "fields": {
        "address": "Plot 12, MG Road, Pune",
        "file_aadhar": "data:application/pdf;base64,JVBERi0xLjMK..."
    }
}
200 · success
{
    "success": true,
    "data": {
        "message": "Payload updated successfully.",
        "data": {
            "updated_fields": [
                "address",
                "file_aadhar"
            ],
            "remaining_flagged": [],
            "status_code": "1"
        }
    }
}

Errors · HTTP 200, success: false

messageCause
No corrected field values were provided.fields missing, empty or not an object.
Application not found.Unknown application ID.
Flagged fields can only be updated for applications on hold.Status is not 2.
No flagged fields found for this application.Nothing was flagged.
None of the submitted fields match the fields flagged for this application.Every submitted key was unflagged.
Failed to update payload.Database error; data.debug has details.
Corrected values are stored as plain text without the per-form validation used at submission — validate them in the form before sending.
GET /application-document No auth

Application document

Streams one stored document as a real file (PDF / image) instead of a data URI. Used by the review pages.

Query parameters

NameTypeRequiredDescription
idstringRequiredEncrypted application ID token generated by the site — not the plain numeric ID.
fieldstringRequiredDocument key in the payload, e.g. aadhar_card, file_aadhar, previousRegistrationCertificate. Case-sensitive.
dl1OptionalDownload as an attachment instead of displaying inline.

Responses

StatusBody
200The file, with its Content-Type and a file name like application-123-aadhar_card.pdf.
400rts_invalid_request — Missing id or field.
404rts_document_not_found — Document not found. No such application, or the field holds no document.

Lookups

Reference data for the form dropdowns. All open, all GET.

GET /district-data No auth

District data

All districts with their region. Use these IDs for every district_id / region_district_id and region_id sent to the submission endpoints.

Response

200
{
    "success": true,
    "data": {
        "message": "District data retrieved successfully.",
        "data": [
            {
                "id": "24",
                "district_name": "Pune",
                "region_id": "12"
            }
        ]
    }
}
If no districts exist the endpoint returns HTTP 200 with success: false and No district data found.
GET /taluka-data/{district_id} No auth

Taluka data

Talukas of one district.

Path parameters

NameTypeRequiredDescription
district_idintegerRequiredDistrict ID from /district-data.

Response

200
{
    "success": true,
    "data": {
        "message": "Taluka data retrieved successfully.",
        "data": [
            {
                "id": "101",
                "district_id": "24",
                "taluka_name": "Haveli"
            }
        ]
    }
}
An unknown district, or one without talukas, returns HTTP 200 with success: false and No taluka data found.
GET /master-data No auth

Master data

Consolidated read-only lookup data for the MT01–MT12 forms — one endpoint for every dropdown / reference list instead of a route per table.

Query parameters

NameTypeRequiredDescription
resourcestringOptionalOne resource key (see resource keys). Omit to get every resource at once.
include_inactive1OptionalInclude is_active = 0 rows (excluded by default). No effect on districts / regions.

Responses

GET /master-data?resource=caravan_types
{
    "success": true,
    "data": {
        "message": "Caravan Types retrieved.",
        "data": [
            {
                "id": 2,
                "name": "Camper Trailer",
                "is_active": true
            }
        ]
    }
}
GET /master-data
{
    "success": true,
    "data": {
        "message": "Master data retrieved.",
        "data": {
            "caravan_types": {
                "label": "Caravan Types",
                "data": [
                    "..."
                ]
            },
            "districts": {
                "label": "Districts",
                "data": [
                    "..."
                ]
            }
        }
    }
}
project_categories rows include a units array of unit IDs; regions rows include a districts array of district IDs. Both are real JSON arrays — no manual parsing needed.

Master data resource keys

Values accepted by ?resource=. Each link opens the live data.

#LabelResource keyTableDirect URL
1 Caravan Types caravan_types wp_mt_caravan_types https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=caravan_types
2 Caravan Amenities caravan_amenities wp_mt_caravan_amenities https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=caravan_amenities
3 Caravan Optional Features caravan_optional_features wp_mt_caravan_optional_features https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=caravan_optional_features
4 Categories categories wp_mt_categories https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=categories
5 Tourism Facilities tourism_facilities wp_mt_tourism_facilities https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=tourism_facilities
6 Enterprise Types enterprise_types wp_mt_enterprise_types https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=enterprise_types
7 Project Categories project_categories wp_mt_project_categories https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=project_categories
8 Adventure Activity Categories adventure_activity_categories wp_mt_adventure_activity_categories https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=adventure_activity_categories
9 Industrial: Safety & Security industrial_safety_security wp_mt_industrial_safety_security https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=industrial_safety_security
10 Industrial: General Requirements industrial_general_requirements wp_mt_industrial_general_requirements https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=industrial_general_requirements
11 Industrial: Additional Features industrial_additional_features wp_mt_industrial_additional_features https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=industrial_additional_features
12 Industrial: Guest Services industrial_guest_services wp_mt_industrial_guest_services https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=industrial_guest_services
13 Districts districts wp_rts_districts https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=districts
14 Regions regions wp_rts_regions https://rts.consofthub.in/wp-json/rts/v1/master-data?resource=regions
The 4 industrial_* resources are placeholder tables — the upstream endpoints they mirror haven’t published data yet, so they currently always return an empty array.

Legacy

Kept for existing integrations.

POST /application-insert Basic auth

Generic application insert

Original generic submission endpoint. Stores the whole body without per-form validation.

New integrations should use the per-service /insert-application/* endpoints.

Required body fields

FieldTypeStored as
applicant_namestringapplicant_name
c_emailstringapplicant_email
c_mobilestringapplicant_mobile_number
service_codestringservice_code
district_idintegerdistrict_id (region looked up from it)
p_talukaintegertaluka_id

Any other fields are stored in the payload as sent. Returns HTTP 200 for both success (Application data inserted successfully.) and failure (All fields are required., Duplicate application found., Failed to insert application data.) — check success. The response does not include the new application ID.

RTS Maharashtra Tourism · internal API reference for frontend integration.
Scroll to Top