Skip to main content

Introduction

This guide describes the Travel Insurance APIs available on Yasmina’s platform. These APIs cover the core operations required for issuing and managing travel insurance policies, including quoting, issuing policies, generating payment links, and handling claims. Our APIs follow RESTful standards and are designed with consistent request and response structures, making them easy to integrate, test, and maintain within your systems.

What you will learn

  • Creating travel insurance quotes
  • Handling payments
  • Issuing and showing the policy

Prerequisites

  1. Account in Yasmina – See the Onboarding section for details.
  2. Authenticated Token - You can follow the Authentication guide or head straight to the Generate Token API.
  3. Backend server - Required to securely call Yasmina APIs.

Travel Insurance Overview

Travel insurance is designed to cover individuals or groups during international trips. Yasmina currently supports Schengen-compliant travel insurance, with configurable trip duration and multi-traveller support. A typical travel insurance flow includes:
  1. Collecting trip and traveller information
  2. Requesting a quote
  3. Issuing the policy
  4. Completing payment
  5. Downloading policy documents

Request Quote

In this step, your customer provides information about the trip and you present them with the price of the insurance. In order to request a quote, you need to execute the following Request Quote API.

Endpoint

POST /api/v1/travel/quotes

Example request

{
  "nationality_id": "1234567890",
  "phone_number": "+966501234567",
  "email": "[email protected]",
  "multi_entry": false,
  "duration": 10,
  "start_date": "2026-02-27",
  "date_of_birth": "1988-04-20",
  "travellers": [
    {
      "nationality": "SA",
      "full_name": "Yasmina Alex",
      "passport_number": "G12345678",
      "gender": "m",
      "date_of_birth": "1982-04-20",
      "relation": "self",
      "passport_expiry_date": "2026-10-30"
    }
  ]
}
Once you execute the request quote API. You get a response with the quotation object. Most importantly you get a quote_id field. The value is needed later in the Purchase Policy API.

Example response

{
    "client_id": "****",
    "quote_id": "Q-V1GN40HU",
    "meta_data": {
        "travellers": [
            {
                "nationality": "SA",
                "full_name": "Yasmina Alex",
                "passport_number": "G12345678",
                "gender": "m",
                "date_of_birth": "1982-04-20",
                "relation": "self",
                "passport_expiry_date": "2026-10-30"
            }
        ],
        "multi_entry": false,
        "start_date": "2026-02-27",
        "duration": 10
    },
    "nationality_id": "1234567890",
    "phone_number": "+966501234567",
    "email": "[email protected]",
    "date_of_birth": "1988-04-20",
    "type": "yasmina_schengen_travel_insurance",
    "bill": {
        "items": {
            "adult": {
                "count": 1,
                "price": 55,
                "total": 55
            }
        },
        "adminFees": 25
    },
    "price": 92,
    "updated_at": "2026-02-03T07:12:38.000000Z",
    "created_at": "2026-02-03T07:12:38.000000Z",
    "travellers": [
        {
            "nationality": "SA",
            "full_name": "Yasmina Alex",
            "passport_number": "G12345678",
            "gender": "m",
            "date_of_birth": "1982-04-20",
            "relation": "self",
            "passport_expiry_date": "2026-10-30"
        }
    ],
    "multi_entry": false,
    "start_date": "2026-02-27",
    "duration": 10
}

Purchase the Travel Policy

Before your customers can get the Travel Insurance Policy, they will need to complete the payment. The Purchase Policy API is used to get a policy object with a payment link. You will need to provide the quote_id obtained from the previous step. Afterwards you get a response that has a policy object, and in that response there is a payment_link. Redirect the customer to this link to complete the payment process.

Endpoint

POST /api/v1/yasmina-schengen-travel

Example request

{
  "quote_id": "Q-FNWXGDPK",
}

Example response

{
    "id": 936,
    "meta_data": {
        "bill": {
            "items": {
                "adult": {
                    "count": 1,
                    "price": 55,
                    "total": 55
                }
            },
            "adminFees": 25
        },
        "email": "[email protected]",
        "price": 92,
        "duration": 10,
        "quote_id": 1,
        "start_date": "2026-02-27",
        "travellers": [
            {
                "gender": "m",
                "relation": "self",
                "full_name": "Yasmina Alex",
                "nationality": "SA",
                "date_of_birth": "1982-04-20",
                "passport_number": "G12345678",
                "passport_expiry_date": "2026-10-30"
            }
        ],
        "multi_entry": false,
        "phone_number": "+966501234567",
        "date_of_birth": "1988-04-20",
        "nationality_id": "1234567890"
    },
    "product_id": 8,
    "client_id": "a0fd456b-853d-4511-b80f-2bfdb0e66303",
    "canceled_at": null,
    "provider_policy_id": null,
    "provider_policy": null,
    "start_date": null,
    "pdf_parsed": 0,
    "cancellation_document": null,
    "invoice": null,
    "has_sent_cancellation_email": 0,
    "created_at": "2026-02-03T07:12:45.000000Z",
    "updated_at": "2026-02-03T07:12:45.000000Z",
    "status": 0,
    "transfer_date_at": null,
    "cancellation_request_at": null,
    "deleted_at": null,
    "is_old_policy": 0,
    "payment_link": "https://sandbox.yasmina.ai/short/4OrJN",
    "price": 92,
    "insurance_company_id": null,
    "redirect_url": null,
    "hidden_meta_data": null,
    "uploaded_at": null,
    "policy_url": null,
    "invoice_url": null
}

Redirect URL

In addition to supplying the quote_id you can also add redirect_url. This is used to redirect the customer to any page or deep link you need after the payment is completed. You can also include a query string with policyID and it will automatically replace it with the actual id of the policy object. Example for policy id 123
	{
		quote_id: "Q-FNWXGDPK",
		redirect_url: "https://www.example.com?yasmina_policy_id=policyID"
	}
Will become on the response
	{
		redirect_url: "https://www.example.com?yasmina_policy_id=123"
	}
And the customer that purchased the policy will be redirected to https://www.example.com?yasmina_policy_id=123

Showing & Downloading the policy

In order to get a status of a policy, you can use the Show Policy API. This API, takes a Yasmina Policy id and will return the policy object The response includes both policy_url and invoice_url, these URLs contain pdf files that your customer can download.