@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api KeyVaultClient
@version 7.0-preview
@common_fields {api-version: any}
@endpoints 78
@hint download_for_search
@toc keys(15), deletedkeys(4), secrets(8), deletedsecrets(4), certificates(23), deletedcertificates(4), storage(13), deletedstorage(7)

@group keys
@endpoint POST /keys/{key-name}/create
@required {key-name: any, parameters: any}
@returns(200)

@endpoint PUT /keys/{key-name}
@required {key-name: any, parameters: any}
@returns(200)

@endpoint DELETE /keys/{key-name}
@required {key-name: any}
@returns(200)

@endpoint PATCH /keys/{key-name}/{key-version}
@required {key-name: any, key-version: any, parameters: any}
@returns(200)

@endpoint GET /keys/{key-name}/{key-version}
@required {key-name: any, key-version: any}
@returns(200)

@endpoint GET /keys/{key-name}/versions
@required {key-name: any}
@optional {maxresults: any}
@returns(200)

@endpoint GET /keys
@optional {maxresults: any}
@returns(200)

@endpoint POST /keys/{key-name}/backup
@required {key-name: any}
@returns(200)

@endpoint POST /keys/restore
@required {parameters: any}
@returns(200)

@endpoint POST /keys/{key-name}/{key-version}/encrypt
@required {key-name: any, key-version: any, parameters: any}
@returns(200)

@endpoint POST /keys/{key-name}/{key-version}/decrypt
@required {key-name: any, key-version: any, parameters: any}
@returns(200)

@endpoint POST /keys/{key-name}/{key-version}/sign
@required {key-name: any, key-version: any, parameters: any}
@returns(200)

@endpoint POST /keys/{key-name}/{key-version}/verify
@required {key-name: any, key-version: any, parameters: any}
@returns(200)

@endpoint POST /keys/{key-name}/{key-version}/wrapkey
@required {key-name: any, key-version: any, parameters: any}
@returns(200)

@endpoint POST /keys/{key-name}/{key-version}/unwrapkey
@required {key-name: any, key-version: any, parameters: any}
@returns(200)

@endgroup

@group deletedkeys
@endpoint GET /deletedkeys
@optional {maxresults: any}
@returns(200)

@endpoint GET /deletedkeys/{key-name}
@required {key-name: any}
@returns(200)

@endpoint DELETE /deletedkeys/{key-name}
@required {key-name: any}
@returns(204)

@endpoint POST /deletedkeys/{key-name}/recover
@required {key-name: any}
@returns(200)

@endgroup

@group secrets
@endpoint PUT /secrets/{secret-name}
@required {secret-name: any, parameters: any}
@returns(200)

@endpoint DELETE /secrets/{secret-name}
@required {secret-name: any}
@returns(200)

@endpoint PATCH /secrets/{secret-name}/{secret-version}
@required {secret-name: any, secret-version: any, parameters: any}
@returns(200)

@endpoint GET /secrets/{secret-name}/{secret-version}
@required {secret-name: any, secret-version: any}
@returns(200)

@endpoint GET /secrets
@optional {maxresults: any}
@returns(200)

@endpoint GET /secrets/{secret-name}/versions
@required {secret-name: any}
@optional {maxresults: any}
@returns(200)

@endgroup

@group deletedsecrets
@endpoint GET /deletedsecrets
@optional {maxresults: any}
@returns(200)

@endpoint GET /deletedsecrets/{secret-name}
@required {secret-name: any}
@returns(200)

@endpoint DELETE /deletedsecrets/{secret-name}
@required {secret-name: any}
@returns(204)

@endpoint POST /deletedsecrets/{secret-name}/recover
@required {secret-name: any}
@returns(200)

@endgroup

@group secrets
@endpoint POST /secrets/{secret-name}/backup
@required {secret-name: any}
@returns(200)

@endpoint POST /secrets/restore
@required {parameters: any}
@returns(200)

@endgroup

@group certificates
@endpoint GET /certificates
@optional {maxresults: any, includePending: any}
@returns(200)

@endpoint DELETE /certificates/{certificate-name}
@required {certificate-name: any}
@returns(200)

@endpoint PUT /certificates/contacts
@required {contacts: any}
@returns(200)

@endpoint GET /certificates/contacts
@returns(200)

@endpoint DELETE /certificates/contacts
@returns(200)

@endpoint GET /certificates/issuers
@optional {maxresults: any}
@returns(200)

@endpoint PUT /certificates/issuers/{issuer-name}
@required {issuer-name: any, parameter: any}
@returns(200)

@endpoint PATCH /certificates/issuers/{issuer-name}
@required {issuer-name: any, parameter: any}
@returns(200)

@endpoint GET /certificates/issuers/{issuer-name}
@required {issuer-name: any}
@returns(200)

@endpoint DELETE /certificates/issuers/{issuer-name}
@required {issuer-name: any}
@returns(200)

@endpoint POST /certificates/{certificate-name}/create
@required {certificate-name: any, parameters: any}
@returns(202)

@endpoint POST /certificates/{certificate-name}/import
@required {certificate-name: any, parameters: any}
@returns(200)

@endpoint GET /certificates/{certificate-name}/versions
@required {certificate-name: any}
@optional {maxresults: any}
@returns(200)

@endpoint GET /certificates/{certificate-name}/policy
@required {certificate-name: any}
@returns(200)

@endpoint PATCH /certificates/{certificate-name}/policy
@required {certificate-name: any, certificatePolicy: any}
@returns(200)

@endpoint PATCH /certificates/{certificate-name}/{certificate-version}
@required {certificate-name: any, certificate-version: any, parameters: any}
@returns(200)

@endpoint GET /certificates/{certificate-name}/{certificate-version}
@required {certificate-name: any, certificate-version: any}
@returns(200)

@endpoint PATCH /certificates/{certificate-name}/pending
@required {certificate-name: any, certificateOperation: any}
@returns(200)

@endpoint GET /certificates/{certificate-name}/pending
@required {certificate-name: any}
@returns(200)

@endpoint DELETE /certificates/{certificate-name}/pending
@required {certificate-name: any}
@returns(200)

@endpoint POST /certificates/{certificate-name}/pending/merge
@required {certificate-name: any, parameters: any}
@returns(201)

@endpoint POST /certificates/{certificate-name}/backup
@required {certificate-name: any}
@returns(200)

@endpoint POST /certificates/restore
@required {parameters: any}
@returns(200)

@endgroup

@group deletedcertificates
@endpoint GET /deletedcertificates
@optional {maxresults: any, includePending: any}
@returns(200)

@endpoint GET /deletedcertificates/{certificate-name}
@required {certificate-name: any}
@returns(200)

@endpoint DELETE /deletedcertificates/{certificate-name}
@required {certificate-name: any}
@returns(204)

@endpoint POST /deletedcertificates/{certificate-name}/recover
@required {certificate-name: any}
@returns(200)

@endgroup

@group storage
@endpoint GET /storage
@optional {maxresults: any}
@returns(200)

@endgroup

@group deletedstorage
@endpoint GET /deletedstorage
@optional {maxresults: any}
@returns(200)

@endpoint GET /deletedstorage/{storage-account-name}
@required {storage-account-name: any}
@returns(200)

@endpoint DELETE /deletedstorage/{storage-account-name}
@required {storage-account-name: any}
@returns(204)

@endpoint POST /deletedstorage/{storage-account-name}/recover
@required {storage-account-name: any}
@returns(200)

@endgroup

@group storage
@endpoint POST /storage/{storage-account-name}/backup
@required {storage-account-name: any}
@returns(200)

@endpoint POST /storage/restore
@required {parameters: any}
@returns(200)

@endpoint DELETE /storage/{storage-account-name}
@required {storage-account-name: any}
@returns(200)

@endpoint GET /storage/{storage-account-name}
@required {storage-account-name: any}
@returns(200)

@endpoint PUT /storage/{storage-account-name}
@required {storage-account-name: any, parameters: any}
@returns(200)

@endpoint PATCH /storage/{storage-account-name}
@required {storage-account-name: any, parameters: any}
@returns(200)

@endpoint POST /storage/{storage-account-name}/regeneratekey
@required {storage-account-name: any, parameters: any}
@returns(200)

@endpoint GET /storage/{storage-account-name}/sas
@required {storage-account-name: any}
@optional {maxresults: any}
@returns(200)

@endgroup

@group deletedstorage
@endpoint GET /deletedstorage/{storage-account-name}/sas
@required {storage-account-name: any}
@optional {maxresults: any}
@returns(200)

@endpoint GET /deletedstorage/{storage-account-name}/sas/{sas-definition-name}
@required {storage-account-name: any, sas-definition-name: any}
@returns(200)

@endpoint POST /deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover
@required {storage-account-name: any, sas-definition-name: any}
@returns(200)

@endgroup

@group storage
@endpoint DELETE /storage/{storage-account-name}/sas/{sas-definition-name}
@required {storage-account-name: any, sas-definition-name: any}
@returns(200)

@endpoint GET /storage/{storage-account-name}/sas/{sas-definition-name}
@required {storage-account-name: any, sas-definition-name: any}
@returns(200)

@endpoint PUT /storage/{storage-account-name}/sas/{sas-definition-name}
@required {storage-account-name: any, sas-definition-name: any, parameters: any}
@returns(200)

@endpoint PATCH /storage/{storage-account-name}/sas/{sas-definition-name}
@required {storage-account-name: any, sas-definition-name: any, parameters: any}
@returns(200)

@endgroup

@end
