> For the complete documentation index, see [llms.txt](https://docs.enclaive.cloud/nitride/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enclaive.cloud/nitride/api/attestations.md).

# Attestations

## Update attestation

> Updates an existing attestation record

```json
{"openapi":"3.0.2","info":{"title":"Enclaive auth-ratls API","version":"0.0.0-0"},"servers":[{"url":"http://localhost:8200","description":"Local development server"}],"paths":{"/v1/auth/ratls/attestations":{"post":{"tags":["Attestations"],"summary":"Update attestation","description":"Updates an existing attestation record","operationId":"updateAttestation","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsUpdate_attestationsRequest"}}}},"responses":{"200":{"description":"Attestation updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsUpdate_attestationsResponse"}}}},"400":{"description":"Invalid request body"},"404":{"description":"Attestation not found"}}}}},"components":{"schemas":{"AttestationsUpdate_attestationsRequest":{"type":"object","properties":{"created":{"type":"integer","description":"Creation timestamp, set by the plugin","format":"int64"},"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"nonce":{"type":"string","description":"Nonce for the report"},"policy":{"type":"string","description":"Policy for this workload"},"report":{"type":"string","description":"Request only. The report to verify, encoded as base64"},"totp":{"type":"string","description":"Request only. The update totp for the policy of the workload"},"updated":{"type":"integer","description":"Update timestamp, set by the plugin whenever a change is made to the workload","format":"int64"},"uuid":{"type":"string","description":"Workload Identifier, generated by the plugin"}},"required":["created","description","events","name","namespace","nonce","policy","updated","uuid"]},"AttestationsUpdate_attestationsResponse":{"type":"object","properties":{"auth":{"type":"object"},"data":{"type":"object","properties":{"created":{"type":"integer","description":"Creation timestamp, set by the plugin","format":"int64"},"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"nonce":{"type":"string","description":"Nonce for the report"},"policy":{"type":"string","description":"Policy for this workload"},"report":{"type":"string","description":"Request only. The report to verify, encoded as base64"},"totp":{"type":"string","description":"Request only. The update totp for the policy of the workload"},"updated":{"type":"integer","description":"Update timestamp, set by the plugin whenever a change is made to the workload","format":"int64"},"uuid":{"type":"string","description":"Workload Identifier, generated by the plugin"}}}}}}}}
```

## Create attestation

> Creates a new attestation record for a workload

```json
{"openapi":"3.0.2","info":{"title":"Enclaive auth-ratls API","version":"0.0.0-0"},"servers":[{"url":"http://localhost:8200","description":"Local development server"}],"paths":{"/v1/auth/ratls/attestations":{"put":{"tags":["Attestations"],"summary":"Create attestation","description":"Creates a new attestation record for a workload","operationId":"createAttestation","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsCreate_attestationsRequest"}}}},"responses":{"200":{"description":"Attestation created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsCreate_attestationsResponse"}}}},"400":{"description":"Invalid request body"}}}}},"components":{"schemas":{"AttestationsCreate_attestationsRequest":{"type":"object","properties":{"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"policy":{"type":"string","description":"Policy for this workload"}},"required":["description","events","name","namespace","policy"]},"AttestationsCreate_attestationsResponse":{"type":"object","properties":{"request_id":{"type":"string"},"lease_id":{"type":"string"},"renewable":{"type":"boolean"},"lease_duration":{"type":"integer"},"data":{"type":"object","properties":{"created":{"type":"integer","description":"Creation timestamp, set by the API"},"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"nonce":{"type":"string","description":"Nonce for the report, managed by the API"},"policy":{"type":"string","description":"Policy for this workload"},"updated":{"type":"integer","description":"Update timestamp, managed by the API"},"uuid":{"type":"string","description":"Workload Identifier, generated by the API","format":"uuid"}}},"wrap_info":{"type":"null"},"warnings":{"type":"null"},"auth":{"type":"null"}}}}}}
```

## List all attestations

> Retrieves a list of all attestation records

```json
{"openapi":"3.0.2","info":{"title":"Enclaive auth-ratls API","version":"0.0.0-0"},"servers":[{"url":"http://localhost:8200","description":"Local development server"}],"paths":{"/v1/auth/ratls/attestations/":{"get":{"tags":["Attestations"],"summary":"List all attestations","description":"Retrieves a list of all attestation records","operationId":"listAttestations","parameters":[{"name":"list","description":"Must be set to 'true' to retrieve the list","in":"query","schema":{"type":"string","enum":["true"]},"required":true}],"responses":{"200":{"description":"Attestation list retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsList_attestationsResponse"}}}}}}}},"components":{"schemas":{"AttestationsList_attestationsResponse":{"type":"object","properties":{"auth":{"type":"object"},"data":{"type":"object","properties":{"keys":{"type":"array","description":"List of entries","items":{"type":"object"},"default":[]}}}}}}}}
```

## Get attestation details

> Retrieves detailed information about a specific attestation

```json
{"openapi":"3.0.2","info":{"title":"Enclaive auth-ratls API","version":"0.0.0-0"},"servers":[{"url":"http://localhost:8200","description":"Local development server"}],"paths":{"/v1/auth/ratls/attestations/{uuid}":{"get":{"tags":["Attestations"],"summary":"Get attestation details","description":"Retrieves detailed information about a specific attestation","operationId":"getAttestation","responses":{"200":{"description":"Attestation details retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsCreate_attestationsResponse"}}}},"400":{"description":"Invalid UUID format or attestation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsError_Response"}}}}}}}},"components":{"schemas":{"AttestationsCreate_attestationsResponse":{"type":"object","properties":{"request_id":{"type":"string"},"lease_id":{"type":"string"},"renewable":{"type":"boolean"},"lease_duration":{"type":"integer"},"data":{"type":"object","properties":{"created":{"type":"integer","description":"Creation timestamp, set by the API"},"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"nonce":{"type":"string","description":"Nonce for the report, managed by the API"},"policy":{"type":"string","description":"Policy for this workload"},"updated":{"type":"integer","description":"Update timestamp, managed by the API"},"uuid":{"type":"string","description":"Workload Identifier, generated by the API","format":"uuid"}}},"wrap_info":{"type":"null"},"warnings":{"type":"null"},"auth":{"type":"null"}}},"AttestationsError_Response":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```

## Delete attestation

> Removes a specific attestation record

```json
{"openapi":"3.0.2","info":{"title":"Enclaive auth-ratls API","version":"0.0.0-0"},"servers":[{"url":"http://localhost:8200","description":"Local development server"}],"paths":{"/v1/auth/ratls/attestations/{uuid}":{"delete":{"tags":["Attestations"],"summary":"Delete attestation","description":"Removes a specific attestation record","operationId":"deleteAttestation","responses":{"200":{"description":"Attestation deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsCreate_attestationsResponse"}}}},"400":{"description":"Invalid UUID format or attestation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsError_Response"}}}}}}}},"components":{"schemas":{"AttestationsCreate_attestationsResponse":{"type":"object","properties":{"request_id":{"type":"string"},"lease_id":{"type":"string"},"renewable":{"type":"boolean"},"lease_duration":{"type":"integer"},"data":{"type":"object","properties":{"created":{"type":"integer","description":"Creation timestamp, set by the API"},"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"nonce":{"type":"string","description":"Nonce for the report, managed by the API"},"policy":{"type":"string","description":"Policy for this workload"},"updated":{"type":"integer","description":"Update timestamp, managed by the API"},"uuid":{"type":"string","description":"Workload Identifier, generated by the API","format":"uuid"}}},"wrap_info":{"type":"null"},"warnings":{"type":"null"},"auth":{"type":"null"}}},"AttestationsError_Response":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```

## Update attestation nonce

> Updates the nonce value for a specific attestation

```json
{"openapi":"3.0.2","info":{"title":"Enclaive auth-ratls API","version":"0.0.0-0"},"servers":[{"url":"http://localhost:8200","description":"Local development server"}],"paths":{"/v1/auth/ratls/attestations/{uuid}/nonce":{"post":{"tags":["Attestations"],"summary":"Update attestation nonce","description":"Updates the nonce value for a specific attestation","operationId":"updateAttestationNonce","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsUpdate_attestationsUuidNonceRequest"}}}},"responses":{"200":{"description":"Nonce updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsUpdate_attestationsUuidNonceResponse"}}}},"400":{"description":"Invalid request body"},"404":{"description":"Attestation not found"}}}}},"components":{"schemas":{"AttestationsUpdate_attestationsUuidNonceRequest":{"type":"object","properties":{"created":{"type":"integer","description":"Creation timestamp, set by the plugin","format":"int64"},"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"nonce":{"type":"string","description":"Nonce for the report"},"policy":{"type":"string","description":"Policy for this workload"},"report":{"type":"string","description":"Request only. The report to verify, encoded as base64"},"totp":{"type":"string","description":"Request only. The update totp for the policy of the workload"},"updated":{"type":"integer","description":"Update timestamp, set by the plugin whenever a change is made to the workload","format":"int64"}},"required":["created","description","events","name","namespace","nonce","policy","updated"]},"AttestationsUpdate_attestationsUuidNonceResponse":{"type":"object","properties":{"request_id":{"type":"string"},"lease_id":{"type":"string"},"renewable":{"type":"boolean"},"lease_duration":{"type":"integer"},"data":{"type":"object","properties":{"created":{"type":"integer"},"description":{"type":"string"},"events":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"},"nonce":{"type":"string","description":"Base64 encoded nonce value"},"policy":{"type":"string"},"updated":{"type":"integer"},"uuid":{"type":"string","format":"uuid"}}},"wrap_info":{"type":"null"},"warnings":{"type":"null"},"auth":{"type":"null"}}}}}}
```

## Submit or verify attestation report

> Submits a new attestation report or verifies an existing one

```json
{"openapi":"3.0.2","info":{"title":"Enclaive auth-ratls API","version":"0.0.0-0"},"servers":[{"url":"http://localhost:8200","description":"Local development server"}],"paths":{"/v1/auth/ratls/attestations/{uuid}/report":{"post":{"tags":["Attestations"],"summary":"Submit or verify attestation report","description":"Submits a new attestation report or verifies an existing one","operationId":"submitAttestationReport","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsUpdate_attestationsUuidReportRequest"}}}},"responses":{"200":{"description":"Report processed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsUpdate_attestationsUuidReportResponse"}}}},"400":{"description":"Invalid base64 report data or invalid UUID format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsError_Response"}}}},"404":{"description":"Attestation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestationsError_Response"}}}}}}}},"components":{"schemas":{"AttestationsUpdate_attestationsUuidReportRequest":{"type":"object","properties":{"report":{"type":"string","description":"Base64 encoded report data","format":"base64"}},"required":["report"]},"AttestationsUpdate_attestationsUuidReportResponse":{"type":"object","properties":{"auth":{"type":"object"},"data":{"type":"object","properties":{"created":{"type":"integer","description":"Creation timestamp, set by the plugin","format":"int64"},"description":{"type":"string","description":"Description for this workload"},"events":{"type":"string","description":"A URL to a webhook that is called with the attestation result"},"name":{"type":"string","description":"Name for this workload"},"namespace":{"type":"string","description":"The target namespace for the auth token after verification"},"nonce":{"type":"string","description":"Nonce for the report"},"policy":{"type":"string","description":"Policy for this workload"},"report":{"type":"string","description":"Request only. The report to verify, encoded as base64"},"totp":{"type":"string","description":"Request only. The update totp for the policy of the workload"},"updated":{"type":"integer","description":"Update timestamp, set by the plugin whenever a change is made to the workload","format":"int64"},"uuid":{"type":"string","description":"Workload Identifier, generated by the plugin"}}}}},"AttestationsError_Response":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```
