Skip to main content
POST
Issue policy

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme

Body

application/json
otp
string
required

The OTP received by the customer from the Issue OTP API

Pattern: ^\d{4}$
Example:

"1234"

quote_request_id
integer
required

ID of the car quote request

Example:

123

quote_reference_id
string<uuid>
required

Unique identifier for the quote reference ID (coming from POST /quote-requests)

Example:

"550e8400-e29b-41d4-a716-446655440000"

quote_price_id
string<uuid>
required

Unique identifier for the quote price ID that exists inside a quote item (coming from POST /quote-requests)

Example:

"550e8400-e29b-41d4-a716-446655440001"

benefits
string<uuid>[]

List of benefit UUIDs

UUID of a benefit (coming from POST /quote-request)

Example:
extra_fields
object

Optional free-form object with additional fields. Total JSON-encoded size must not exceed 255 characters.

Example:

Response

Created

A motor policy. The same object is returned by Issue policy and Show policy, and is what the webhooks carry.

id
integer

The Yasmina policy id. Quote it in support requests.

Example:

1234

status
enum<integer>

0 awaiting payment, 1 issued, 2 cancelled. It becomes 1 once payment has cleared and the insurer has issued the policy.

Available options:
0,
1,
2
Example:

1

price
number

What the customer paid, in SAR, including VAT.

Example:

6770.51

product_id
integer

Always 6 for comprehensive motor.

Example:

6

provider_policy_id
string | null

The insurer's own policy number, set when the policy is issued. Treat it as free text: insurers use their own formats, and many are not numeric.

Example:

"P/219/5515/26/3854847/00"

provider_policy
string | null

Storage key of the policy document. Use policy_url to download it.

Example:

"shahin-policies/00000000-0000-0000-0000-000000000000.pdf"

policy_url
string | null

Link to the policy document. Download the file rather than storing the link, and do not hardcode the host.

Example:

"https://<object-storage-host>/<bucket>/shahin-policies/00000000-0000-0000-0000-000000000000.pdf"

invoice_url
string | null

Link to the invoice, on the same terms as policy_url.

Example:

"https://<object-storage-host>/<bucket>/shahin-policies/00000000-0000-0000-0000-000000000000_invoice.pdf"

Where the customer pays. Already used by the time the policy is issued.

Example:

"https://portal.yasmina.ai/short/XXXXX"

redirect_url
string | null

Where the customer is sent after paying, if you supplied one.

Example:

"https://your-site.example/insurance-complete?order_id=12345"

start_date
string<date>

First day of cover.

Example:

"2026-10-02"

expiration_date
string<date>

Last day of cover.

Example:

"2027-10-01"

created_at
string<date-time>

When the policy was created, before payment.

Example:

"2026-10-01T08:24:11.000000Z"

purchased_at
string<date-time> | null

When payment cleared. Null until the customer has paid.

Example:

"2026-10-01T08:26:58.000000Z"

uploaded_at
string<date-time> | null

When the policy document was attached. For issued policies this is the closest available issue timestamp.

Example:

"2026-10-01T08:27:12.000000Z"

meta_data
object

The details the policy was issued on.