---
updatedAt: 2026-07-27T10:30:03.000Z
agentTools:
  projectIndex: https://docs.cermatiprotect.com/llms.txt
---

# Create Application

This endpoint creates an insurance application.

# OpenAPI definition

```json
{
  "openapi": "3.0.2",
  "info": {
    "title": "Cermati Protect Insurance API by Product Type",
    "version": "1.0.0",
    "description": "This Cermati Protect Insurance API Document for each product type",
    "termsOfService": "https://www.cermatiprotect.com/pages/terms-and-conditions",
    "contact": {
      "email": "dev.cermati@cermati.com"
    },
    "x-logo": {
      "url": "https://static.cermatiprotect.com/static/dist/images/logo/cermati-protect-white.png"
    }
  },
  "tags": [
    {
      "name": "Accommodation Insurance",
      "description": "Accommodation insurance covers Hotel insurance, NHA customer."
    }
  ],
  "servers": [
    {
      "url": "https://api-staging.cermatiprotect.com/insurance/v1"
    },
    {
      "url": "https://api.cermatiprotect.com/insurance/v1"
    }
  ],
  "paths": {
    "/accommodation": {
      "post": {
        "summary": "Create Application",
        "description": "This endpoint creates an insurance application.",
        "tags": [
          "Accommodation Insurance"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/AccommodationCreate"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ApplicationOperation"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    },
    "responses": {
      "ApplicationOperation": {
        "description": "",
        "content": {
          "application/json": {
            "schema": {
              "description": "",
              "type": "object",
              "properties": {
                "refNo": {
                  "type": "string",
                  "maxLength": 140,
                  "description": "Unique identifier from the partner, this must be unique per application."
                },
                "trxId": {
                  "type": "string",
                  "maxLength": 100,
                  "description": "The application transaction ID generated by Cermati Protect system."
                },
                "status": {
                  "$ref": "#/components/schemas/Status"
                },
                "documents": {
                  "type": "array",
                  "description": "List of the uploaded application documents",
                  "items": {
                    "type": "object",
                    "properties": {
                      "filename": {
                        "type": "string",
                        "description": "The name of the file"
                      },
                      "filetype": {
                        "type": "string",
                        "description": "The type of the file"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of the application document that is represented by this file"
                      }
                    }
                  }
                },
                "documentLinks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentLink"
                  },
                  "description": "Download URL for uploaded application documents. The link will be available when the application is ISSUED status. This link will be generated and available for 24 hours from the last enquiry request. If the link expires, a partner is required to generate a new link to the document via enquire request."
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Timestamp of the created application."
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Timestamp of the updated application."
                },
                "expiredAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Expiration time of the created application."
                },
                "cancelledAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Timestamp of the cancelled application."
                }
              },
              "required": [
                "refNo",
                "trxId",
                "status",
                "createdAt"
              ]
            },
            "examples": {
              "Success": {
                "$ref": "#/components/examples/ApplicationOperationResponse"
              }
            }
          }
        }
      }
    },
    "requestBodies": {
      "AccommodationCreate": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "string",
                  "maxLength": 100,
                  "description": "Partnership Product Id given to partner.",
                  "example": "insurance-1"
                },
                "refNo": {
                  "type": "string",
                  "maxLength": 140,
                  "description": "Unique identifier from the partner, this must be unique per application.",
                  "example": "IN2331211"
                },
                "premium": {
                  "type": "number",
                  "minimum": 0,
                  "description": "Amount of insurance premium paid in IDR.",
                  "example": 150000
                },
                "adminFee": {
                  "type": "number",
                  "minimum": 0,
                  "description": "Amount of admin fee paid in IDR.",
                  "example": 0
                },
                "purchasedAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Timestamp indicating when the booking created (ISO 8601 format with timezone).",
                  "example": "2021-05-06T01:32:35.003+07:00"
                },
                "coverageStart": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date time indicating insurance coverage started (ISO 8601 format with timezone).",
                  "example": "2021-05-01T07:00:00.000+07:00"
                },
                "coverageEnd": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date time indicating insurance coverage ended (ISO 8601 format with timezone).",
                  "example": "2021-05-10T12:03:54.566+07:00"
                },
                "name": {
                  "type": "string",
                  "maxLength": 100,
                  "description": "Full name of the contact order.",
                  "example": "Cermat Indra Kusuma"
                },
                "email": {
                  "type": "string",
                  "maxLength": 100,
                  "description": "Email address of the contact order.",
                  "example": "kusuma.indra@cermatiprotect.com"
                },
                "phoneNo": {
                  "type": "string",
                  "maxLength": 20,
                  "description": "Phone Number of the contact order, format +[countryCode][phoneNo] e.g. +62817654321.",
                  "example": "+628888123123"
                },
                "checkInTime": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Check-in time.",
                  "example": "2021-05-09T14:00:00.000+07:00"
                },
                "checkOutTime": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Check-out time must be later than check-in date.",
                  "example": "2021-05-10T12:00:00.000+07:00"
                },
                "orderId": {
                  "type": "string",
                  "maxLength": 100,
                  "description": "Booking ID or Itinerary ID from partner.",
                  "example": "A1106000155"
                },
                "accommodation": {
                  "$ref": "#/components/schemas/Accommodation"
                },
                "rooms": {
                  "description": "Room details included within an application.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Room"
                  }
                },
                "overrideNotificationUrl": {
                  "$ref": "#/components/schemas/OverrideNotificationUrl"
                },
                "totalPrice": {
                  "type": "number",
                  "minimum": 0,
                  "description": "Total price after discount for all rooms including add-ons and tax, exclude premium in IDR. Amount >= 0.",
                  "example": 4041800
                },
                "totalDiscount": {
                  "type": "number",
                  "minimum": 0,
                  "description": "Total discount in IDR, amount >= 0.",
                  "example": 0
                },
                "additionalParameters": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Extra parameters applicable to the product. The expected fields depend on the product ID."
                }
              },
              "required": [
                "productId",
                "refNo",
                "name",
                "email",
                "phoneNo",
                "checkInTime",
                "checkOutTime",
                "orderId",
                "orderedAt",
                "accommodation",
                "rooms",
                "totalPrice",
                "totalDiscount"
              ]
            }
          }
        }
      }
    },
    "schemas": {
      "DocumentLink": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the link.",
            "maxLength": 200
          },
          "url": {
            "type": "string",
            "description": "LInk to documents.",
            "maxLength": 1000
          }
        }
      },
      "Status": {
        "type": "string",
        "maxLength": 20,
        "description": "Status of the application, refer to Insurance Application Status section.",
        "enum": [
          "ACTIVATED",
          "CANCELLED",
          "DATA_COMPLETE",
          "DATA_INCOMPLETE",
          "EXPIRED",
          "INVALID",
          "ISSUED",
          "REJECTED"
        ]
      },
      "Accommodation": {
        "type": "object",
        "description": "Details of the accommodation.",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 140,
            "description": "Name of the accommodation.",
            "example": "Hotel Indonesia Kempinski Jakarta"
          },
          "type": {
            "type": "string",
            "maxLength": 30,
            "description": "Accommodation type, options:\n- hotel\n- apartment\n- motel\n- bed and breakfast\n- other (please specify)\n",
            "example": "hotel"
          },
          "address": {
            "type": "string",
            "maxLength": 1000,
            "description": "Address of the accommodation.",
            "example": "Jalan MH Thamrin No. 1, Thamrin"
          },
          "city": {
            "type": "string",
            "maxLength": 50,
            "description": "City where the accommodation located.",
            "example": "Jakarta Pusat"
          },
          "postalCode": {
            "type": "string",
            "maxLength": 10,
            "description": "Postal code of the accommodation.",
            "example": "10310"
          },
          "country": {
            "type": "string",
            "maxLength": 2,
            "description": "Country where the accommodation is located. ISO Country code e.g. ID, SG.",
            "example": "ID"
          }
        },
        "required": [
          "name",
          "type",
          "address",
          "city",
          "postalCode",
          "country"
        ]
      },
      "Room": {
        "type": "object",
        "description": "Room details included within an application.",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 100,
            "description": "Unique identifier associated with the room. Partners need to provide an identifier for the room to be used as reference when doing an update request to identify which room data will be updated.",
            "example": "lux-1"
          },
          "type": {
            "type": "string",
            "maxLength": 140,
            "description": "Room type e.g. Junior suite twin bed, Deluxe double bed with garden view, Two bedroom apartment.",
            "example": "Deluxe"
          },
          "capacity": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum person capacity of the room.",
            "example": 2
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "description": "Room price per night after tax, excluding add-on.",
            "example": 3484800
          },
          "addons": {
            "description": "Add-on included in the booking.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoomAddon"
            }
          },
          "guestName": {
            "type": "string",
            "maxLength": 140,
            "description": "Guest Name to be updated.",
            "example": "Cermat Indra Kusuma"
          },
          "guestTitle": {
            "type": "string",
            "enum": [
              "MR",
              "MS",
              "MRS"
            ],
            "description": "Guest title.",
            "example": "MR"
          }
        },
        "required": [
          "id",
          "type",
          "capacity",
          "price"
        ]
      },
      "RoomAddon": {
        "type": "object",
        "description": "Add-on included in the booking.",
        "properties": {
          "addonId": {
            "type": "string",
            "maxLength": 100,
            "description": "Unique identifier associated with add-on.",
            "example": "late-check-out"
          },
          "addonName": {
            "type": "string",
            "maxLength": 140,
            "description": "Name of the add-on.",
            "example": "Late Check Out"
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "description": "Price of the add-on in IDR.",
            "example": 557000
          }
        },
        "required": [
          "addonId",
          "addonName",
          "price"
        ]
      },
      "OverrideNotificationUrl": {
        "type": "object",
        "description": "Override Notification URL.",
        "properties": {
          "applicationEvent": {
            "type": "string",
            "description": "Enter override URL for the Application Event notifications.",
            "example": "URL"
          },
          "claimEvent": {
            "type": "string",
            "description": "Enter override URL for the Application Event notifications.",
            "example": "URL"
          }
        }
      }
    },
    "examples": {
      "ApplicationOperationResponse": {
        "value": {
          "refNo": "IN2331211",
          "trxId": "insurance-IN2331211",
          "status": "DATA_COMPLETE",
          "documents": [],
          "documentLinks": [],
          "createdAt": "2022-06-30T16:19:47.189+07:00",
          "updatedAt": "2022-06-30T16:19:47.189+07:00",
          "expiredAt": null,
          "cancelledAt": null
        }
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true,
    "samples-enabled": true
  }
}
```