> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axle.insure/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate Policy with Template

> Evaluate a set of Rules against a policy to determine if your application’s requirements are met.

<Info>
  If you have not received access to the Axle sandbox, please reach out to the
  Axle team!
</Info>

## Step 1: Create and complete Ignition session

Follow the steps provided in [this guide](/guides/sandbox-ignition-completion) to create and complete ignition session. Once complete, note your [policy identifier](/api-reference/policies/policy#fields) which will be used to make API call to policy validation engine.

### Optional: Provide `metadata` object when generating ignition session

Include `metadata` in [Start Ignition](/api-reference/ignition/start-ignition) to supply dynamic rule input values at session creation time. At validation time, Axle resolves each rule input by looking up the `source` key defined in the template — first in the validate request body, then in the Ignition session metadata, and finally falling back to the template's `default`.

Keys must match your template `source` values; **metadata** shape and allowed types are defined in [Start Ignition](/api-reference/ignition/start-ignition).

## Step 2: Create Validation Templates

Start by identifying the [rules](/guides/validate/policy-validation#supported-rules) you want to use. Then, either [create](/api-reference/validation/templates/create-template) a new template or [modify](/api-reference/validation/templates/update-template) an existing one.

You can always look into the content and inputs for your template using [getTemplate API](/api-reference/validation/templates/get-template) endpoint

## Step 3: Validate `policy` using template

Use the template identifier to call [Validate Policy with Template](/api-reference/validation/validate-policy-template).

For validation rules that require input parameters (e.g. `comprehensive-coverage-meets-requirements`), supply values in the request body as documented on that endpoint (same rules as session `metadata` on Start Ignition). Keys must match each rule input’s `source`; request body values take priority over Ignition session metadata.

For example, if your template defines `"source": "maxDeductible"` on a rule input, pass `{ "maxDeductible": 500 }` in the request body.

More information about rules with `input` can be found [here](/api-reference/validation/templates/get-template#response-data-rules)
