# Tools

## Validate Certificate Revocation List

> Download and validate a list of CRL URLs without saving. Returns the status of each CRL item.

```json
{"openapi":"3.0.2","info":{"title":"Link11 WAAP","version":"v4.3"},"paths":{"/api/v4.3/verify-certificate-revocation-list":{"post":{"operationId":"validate_certificate_revocation_list","summary":"Validate Certificate Revocation List","description":"Download and validate a list of CRL URLs without saving. Returns the status of each CRL item.","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CRLUrlItem"}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"crl_statuses":{"type":"array","items":{"$ref":"#/components/schemas/CRLStatusItem"}}}}}},"description":"CRL validation completed successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InputError"}}},"description":"One or more CRLs failed validation"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"tags":["Tools"]}}},"components":{"schemas":{"CRLUrlItem":{"properties":{"url":{"title":"URL","type":"string","format":"uri","description":"CRL download URL"}},"required":["url"],"title":"CRLUrlItem","type":"object"},"CRLStatusItem":{"properties":{"url":{"title":"URL","type":"string","format":"uri","description":"CRL download URL"},"issuer":{"title":"Issuer","type":"string","nullable":true},"last_check":{"title":"Last Check","type":"string","nullable":true},"last_download":{"title":"Last Download","type":"string","nullable":true},"last_update":{"title":"Last Update","type":"string","nullable":true},"status":{"title":"Status","type":"boolean"},"error":{"title":"Error","type":"string","nullable":true}},"required":["url","status"],"title":"CRLStatusItem","type":"object"},"InputError":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"InputError","type":"object"},"Error":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"Error","type":"object"}}}}
```

## Extract Certificate from PFX File

> When given a PFX file, extracts and returns the certificate body and private key

```json
{"openapi":"3.0.2","info":{"title":"Link11 WAAP","version":"v4.3"},"paths":{"/api/v4.3/tools/certificates/extractpfx":{"post":{"operationId":"extract_pfx_api_v3_reblaze_tools_certificates_extractpfx__post_1347381705324767602","summary":"Extract Certificate from PFX File","description":"When given a PFX file, extracts and returns the certificate body and private key","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CertificatePayload"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Request was successful"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"tags":["Tools"]}}},"components":{"schemas":{"CertificatePayload":{"properties":{"fileName":{"format":"binary","title":"Filename","type":"string"},"password":{"title":"Password","type":"string","description":"Required if the certificate is password-protected"}},"required":["fileName"],"title":"CertificatePayload","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"Error":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"Error","type":"object"}}}}
```

## Extract Certificate from PEM File

> When given a PEM file, extracts and returns the certificate body

```json
{"openapi":"3.0.2","info":{"title":"Link11 WAAP","version":"v4.3"},"paths":{"/api/v4.3/tools/certificates/extractpem":{"post":{"operationId":"extract_pfx_api_v3_reblaze_tools_certificates_extractpem__post_1347381705324767602","summary":"Extract Certificate from PEM File","description":"When given a PEM file, extracts and returns the certificate body","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CertificatePayload"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Request was successful"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"tags":["Tools"]}}},"components":{"schemas":{"CertificatePayload":{"properties":{"fileName":{"format":"binary","title":"Filename","type":"string"},"password":{"title":"Password","type":"string","description":"Required if the certificate is password-protected"}},"required":["fileName"],"title":"CertificatePayload","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"Error":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"Error","type":"object"}}}}
```

## Extract Certificate from DER File

> When given a DER file, extracts and returns the certificate body

```json
{"openapi":"3.0.2","info":{"title":"Link11 WAAP","version":"v4.3"},"paths":{"/api/v4.3/tools/certificates/extractder":{"post":{"operationId":"extract_pfx_api_v3_reblaze_tools_certificates_extractder__post_1347381705324767602","summary":"Extract Certificate from DER File","description":"When given a DER file, extracts and returns the certificate body","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CertificatePayload"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Request was successful"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"tags":["Tools"]}}},"components":{"schemas":{"CertificatePayload":{"properties":{"fileName":{"format":"binary","title":"Filename","type":"string"},"password":{"title":"Password","type":"string","description":"Required if the certificate is password-protected"}},"required":["fileName"],"title":"CertificatePayload","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"Error":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"Error","type":"object"}}}}
```

## Get Planet DNS information

> Get DNS zone ID and predefined records

```json
{"openapi":"3.0.2","info":{"title":"Link11 WAAP","version":"v4.3"},"paths":{"/api/v4.3/tools/dns-information":{"get":{"operationId":"get_dns_information_api_v3_reblaze_tools_dns_information__get_1802260566489934553","summary":"Get Planet DNS information","description":"Get DNS zone ID and predefined records","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successfully retrieved DNS information"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InputError"}}},"description":"Input Error"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"tags":["Tools"]}}},"components":{"schemas":{"InputError":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"InputError","type":"object"},"Error":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"Error","type":"object"}}}}
```

## Publish

> Publish the current version of the specified configuration to the system storage bucket. By default, the name and url of the bucket are 'prod' and 'gs\://rbz-$PLANETNAME-config/prod'. These values are also available in the console; navigate to System -> System DB -> select the \*system\* namespace -> publishinfo -> the \*buckets\* settings. Also, only one publish operation can occur at a time. If a 503 error is received, the previous operation has not yet finished, so the publish command should be resent until it is successful.

```json
{"openapi":"3.0.2","info":{"title":"Link11 WAAP","version":"v4.3"},"paths":{"/api/v4.3/tools/publish/{config}":{"put":{"operationId":"publish_api_v3_reblaze_tools_publish__config___put_931981463518633046","summary":"Publish","description":"Publish the current version of the specified configuration to the system storage bucket. By default, the name and url of the bucket are 'prod' and 'gs://rbz-$PLANETNAME-config/prod'. These values are also available in the console; navigate to System -> System DB -> select the *system* namespace -> publishinfo -> the *buckets* settings. Also, only one publish operation can occur at a time. If a 503 error is received, the previous operation has not yet finished, so the publish command should be resent until it is successful.","parameters":[{"in":"path","name":"config","required":true,"schema":{"title":"Config","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ToolsPublishConfigPutRequest"},"title":"Body","type":"array"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseUpdate"}}},"description":"Configuration published successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedResponse"}}},"description":"Publish Configuration Validation Error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedResponse"}}},"description":"Publish Already In Progress"}},"tags":["Tools"]}}},"components":{"schemas":{"ToolsPublishConfigPutRequest":{"properties":{"name":{"title":"Name","type":"string"},"url":{"title":"Url","type":"string"}},"title":"ToolsPublishConfigPutRequest","type":"object"},"ResponseUpdate":{"title":"ResponseUpdate","type":"object","properties":{"message":{"title":"Message","description":"Information about successful update operation","type":"string"}},"required":["message"]},"DetailedResponse":{"properties":{"message":{"title":"Message","type":"string"},"detail":{"title":"Detail","type":"string"},"data":{"type":"object","properties":{"message":{"title":"Message","type":"string"}}}},"required":["message","detail","data"],"title":"DetailedResponse","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"Error":{"properties":{"code":{"title":"Code","type":"integer"},"message":{"title":"Message","type":"string"}},"required":["code","message"],"title":"Error","type":"object"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://waap.docs.link11.com/reference-information/api/namespace-reference/tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
