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

# POST /verify

> Independently verify a Parmana attestation and its provenance

## Endpoint

```http theme={null}
POST /verify
Content-Type: application/json
Authorization: Bearer <api-key>
```

`/verify` independently verifies a Parmana attestation.

Verification confirms:

* Signature validity
* Runtime compatibility
* Schema compatibility
* Provenance integrity
* Release integrity

This allows any system to verify a Parmana decision without trusting the original runtime.

***

## Why Verification Exists

Authorization is only useful if it can be independently verified.

```text theme={null}
Decision
    ↓
Attestation
    ↓
Verification
```

Verification allows external systems to answer:

> Did Parmana actually produce this decision?

and

> Can the evidence be trusted?

***

## Core Principle

Parmana does not ask verifiers to trust a decision.

Parmana provides evidence that can be independently verified.

```text theme={null}
Decision
      ↓
Signed Attestation
      ↓
Independent Verification
```

***

## Request Body

```json theme={null}
{
  "attestation": {
    "...": "..."
  }
}
```

***

## Example Request

```json theme={null}
{
  "attestation": {
    "executionId": "claim-001",
    "policyId": "claims-approval",
    "policyVersion": "1.0.0",
    "signature": "..."
  }
}
```

***

## What Parmana Verifies

### Signature Verification

Verifies that the attestation was signed by Parmana.

```text theme={null}
Signature
     ↓
Valid?
```

***

### Runtime Verification

Verifies runtime compatibility.

```text theme={null}
Runtime Hash
      ↓
Known Runtime
```

***

### Schema Compatibility

Verifies schema compatibility.

```text theme={null}
Schema Version
       ↓
Supported?
```

***

### Provenance Verification

Verifies provenance metadata.

```text theme={null}
Bundle
   ↓
Manifest
   ↓
Trust Root
```

***

### Release Verification

Verifies release integrity.

```text theme={null}
Release Manifest
        ↓
Trusted Release
```

***

## Successful Response

```json theme={null}
{
  "valid": true,
  "signatureVerified": true,
  "runtimeVerified": true,
  "schemaCompatible": true,
  "bundleVerified": true,
  "releaseVerified": true,
  "trustRootVerified": true
}
```

***

## Response Fields

| Field             | Description                    |
| ----------------- | ------------------------------ |
| valid             | Overall verification result    |
| signatureVerified | Attestation signature valid    |
| runtimeVerified   | Runtime verification passed    |
| schemaCompatible  | Schema version supported       |
| bundleVerified    | Provenance bundle verified     |
| releaseVerified   | Release verification passed    |
| trustRootVerified | Trust root verification passed |

***

## Verification Outcomes

### Fully Verified

```json theme={null}
{
  "valid": true
}
```

All verification checks passed.

***

### Signature Failure

```json theme={null}
{
  "valid": false,
  "signatureVerified": false
}
```

Attestation signature invalid.

***

### Runtime Failure

```json theme={null}
{
  "valid": false,
  "runtimeVerified": false
}
```

Runtime could not be verified.

***

### Provenance Failure

```json theme={null}
{
  "valid": false,
  "bundleVerified": false
}
```

Provenance chain verification failed.

***

## Example — curl

```bash theme={null}
curl -X POST https://your-runtime/verify \
  -H "Authorization: Bearer $PARMANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d @attestation.json
```

***

## Independent Verification

Verification can be performed:

```text theme={null}
Runtime
Verifier Service
CLI
External Auditor
Compliance Team
```

without trusting the original runtime instance.

***

## Trust Chain

```text theme={null}
Trust Root
      ↓
Release Manifest
      ↓
Runtime
      ↓
Attestation
      ↓
Verification
```

Every layer can be independently validated.

***

## Error Responses

### 400 Bad Request

```json theme={null}
{
  "error": "Invalid attestation"
}
```

***

### 401 Unauthorized

```json theme={null}
{
  "error": "Unauthorized"
}
```

***

### 422 Verification Failed

```json theme={null}
{
  "error": "Verification failed"
}
```

***

### 500 Internal Error

```json theme={null}
{
  "error": "Verifier failure"
}
```

***

## How Verification Fits Into Parmana

```text theme={null}
Verified Signals
        ↓
Policy Evaluation
        ↓
Signed Attestation
        ↓
Independent Verification
        ↓
Trustworthy Evidence
```

Parmana's goal is not merely to make decisions.

Parmana's goal is to make decisions independently verifiable.
