Amazon S3 Glacier S3 Glacier Lock Policy API

The S3 Glacier Lock Policy API from Amazon S3 Glacier — 2 operation(s) for s3 glacier lock policy.

Operations 4

DELETE /{accountId}/vaults/{vaultName}/lock-policy Abort Vault Lock #
GET /{accountId}/vaults/{vaultName}/lock-policy Get Vault Lock #
POST /{accountId}/vaults/{vaultName}/lock-policy Initiate Vault Lock #
POST /{accountId}/vaults/{vaultName}/lock-policy/{lockId} Complete Vault Lock #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-s3-glacier:amazon-s3-glacier-lock-policy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-s3-glacier-lock-policy-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Glacier Lock Policy API
  version: '2012-06-01'
  description: Generated from AWS's published Smithy model for Amazon Glacier. 4 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://glacier.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /{accountId}/vaults/{vaultName}/lock-policy:
    delete:
      operationId: AbortVaultLock
      summary: Abort Vault Lock
      description: This operation aborts the vault locking process if the vault lock is not in the Locked state. If the vault
        lock is in the Locked state when this operation is requested, the operation returns an AccessDeniedException error.
        Aborting the vault locking process removes the vault lock policy from the specified vault. A vault lock is put into
        the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock.
        You can get the state of a vault lock by calling GetVaultLock. For more information about the vault locking process,
        see Amazon Glacier Vault Lock. For more information about vault lock policies, see Amazon Glacier Access Control with
        Vault Lock Policies. This operation is idempotent. You can successfully invoke this operation multiple times, if the
        vault lock is in the InProgress state or if there is no policy associated with the vault.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
        '400':
          description: InvalidParameterValueException; MissingParameterValueException; NoLongerSupportedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParameterValueException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbortVaultLockInput'
            example:
              accountId: '-'
              vaultName: examplevault
      tags:
      - Lock Policy
    get:
      operationId: GetVaultLock
      summary: Get Vault Lock
      description: 'This operation retrieves the following attributes from the lock-policy subresource set on the specified
        vault: The vault lock policy set on the vault. The state of the vault lock, which is either InProgess or Locked. When
        the lock ID expires. The lock ID is used to complete the vault locking process. When the vault lock was initiated
        and put into the InProgress state. A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault
        lock is put into the Locked state by calling CompleteVaultLock. You can abort the vault locking process by calling
        AbortVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock. If there is no vault
        lock policy set on the vault, the operation returns a 404 Not found error. For more information about vault lock policies,
        Amazon Glacier Access Control with Vault Lock Policies.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVaultLockOutput'
              example:
                Policy: '{"Version":"2012-10-17","Statement":[{"Sid":"Define-vault-lock","Effect":"Deny","Principal":{"AWS":"arn:aws:iam::999999999999:root"},"Action":"glacier:DeleteArchive","Resource":"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault","Condition":{"NumericLessThanEquals":{"glacier:ArchiveAgeinDays":"365"}}}]}'
                State: InProgress
                ExpirationDate: exampledate
                CreationDate: exampledate
        '400':
          description: InvalidParameterValueException; MissingParameterValueException; NoLongerSupportedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParameterValueException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetVaultLockInput'
            example:
              accountId: '-'
              vaultName: examplevault
      tags:
      - Lock Policy
    post:
      operationId: InitiateVaultLock
      summary: Initiate Vault Lock
      description: 'This operation initiates the vault locking process by doing the following: Installing a vault lock policy
        on the specified vault. Setting the lock state of vault lock to InProgress. Returning a lock ID, which is used to
        complete the vault locking process. You can set one vault lock policy for each vault and this policy can be up to
        20 KB in size. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.
        You must complete the vault locking process within 24 hours after the vault lock enters the InProgress state. After
        the 24 hour window ends, the lock ID expires, the vault automatically exits the InProgress state, and the vault lock
        policy is removed from the vault. You call CompleteVaultLock to complete the vault locking process by setting the
        state of the vault lock to Locked. After a vault lock is in the Locked state, you cannot initiate a new vault lock
        for the vault. You can abort the vault locking process by calling AbortVaultLock. You can get the state of the vault
        lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock. If
        this operation is called when the vault lock is in'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitiateVaultLockOutput'
              example:
                lockId: AE863rKkWZU53SLW5be4DUcW
        '400':
          description: InvalidParameterValueException; MissingParameterValueException; NoLongerSupportedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParameterValueException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitiateVaultLockInput'
            example:
              accountId: '-'
              vaultName: my-vault
              policy:
                Policy: '{"Version":"2012-10-17","Statement":[{"Sid":"Define-vault-lock","Effect":"Deny","Principal":{"AWS":"arn:aws:iam::999999999999:root"},"Action":"glacier:DeleteArchive","Resource":"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault","Condition":{"NumericLessThanEquals":{"glacier:ArchiveAgeinDays":"365"}}}]}'
      tags:
      - Lock Policy
  /{accountId}/vaults/{vaultName}/lock-policy/{lockId}:
    post:
      operationId: CompleteVaultLock
      summary: Complete Vault Lock
      description: This operation completes the vault locking process by transitioning the vault lock from the InProgress
        state to the Locked state, which causes the vault lock policy to become unchangeable. A vault lock is put into the
        InProgress state by calling InitiateVaultLock. You can obtain the state of the vault lock by calling GetVaultLock.
        For more information about the vault locking process, Amazon Glacier Vault Lock. This operation is idempotent. This
        request is always successful if the vault lock is in the Locked state and the provided lock ID matches the lock ID
        originally used to lock the vault. If an invalid lock ID is passed in the request when the vault lock is in the Locked
        state, the operation returns an AccessDeniedException error. If an invalid lock ID is passed in the request when the
        vault lock is in the InProgress state, the operation throws an InvalidParameter error.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
        '400':
          description: InvalidParameterValueException; MissingParameterValueException; NoLongerSupportedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParameterValueException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteVaultLockInput'
            example:
              accountId: '-'
              vaultName: example-vault
              lockId: AE863rKkWZU53SLW5be4DUcW
      tags:
      - Lock Policy
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: glacier
  schemas:
    AbortVaultLockInput:
      type: object
      properties:
        accountId:
          type: string
          description: The AccountId value is the AWS account ID. This value must match the AWS account ID associated with
            the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-'
            (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the
            request. If you specify your account ID, do not include any hyphens ('-') in the ID.
        vaultName:
          type: string
          description: The name of the vault.
      required:
      - accountId
      - vaultName
    CompleteVaultLockInput:
      type: object
      properties:
        accountId:
          type: string
          description: The AccountId value is the AWS account ID. This value must match the AWS account ID associated with
            the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-'
            (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the
            request. If you specify your account ID, do not include any hyphens ('-') in the ID.
        vaultName:
          type: string
          description: The name of the vault.
        lockId:
          type: string
          description: The lockId value is the lock ID obtained from a InitiateVaultLock request.
      required:
      - accountId
      - vaultName
      - lockId
    GetVaultLockInput:
      type: object
      properties:
        accountId:
          type: string
          description: The AccountId value is the AWS account ID of the account that owns the vault. You can either specify
            an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated
            with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the
            ID.
        vaultName:
          type: string
          description: The name of the vault.
      required:
      - accountId
      - vaultName
    GetVaultLockOutput:
      type: object
      properties:
        Policy:
          type: string
          description: The vault lock policy as a JSON string, which uses "\" as an escape character.
        State:
          type: string
          description: The state of the vault lock. InProgress or Locked.
        ExpirationDate:
          type: string
          description: The UTC date and time at which the lock ID expires. This value can be null if the vault lock is in
            a Locked state.
        CreationDate:
          type: string
          description: The UTC date and time at which the vault lock was put into the InProgress state.
    InitiateVaultLockInput:
      type: object
      properties:
        accountId:
          type: string
          description: The AccountId value is the AWS account ID. This value must match the AWS account ID associated with
            the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-'
            (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the
            request. If you specify your account ID, do not include any hyphens ('-') in the ID.
        vaultName:
          type: string
          description: The name of the vault.
        policy:
          $ref: '#/components/schemas/VaultLockPolicy'
      required:
      - accountId
      - vaultName
    InitiateVaultLockOutput:
      type: object
      properties:
        lockId:
          type: string
          description: The lock ID, which is used to complete the vault locking process.
    InvalidParameterValueException:
      type: object
      properties:
        type:
          type: string
          description: Client
        code:
          type: string
          description: 400 Bad Request
        message:
          type: string
          description: Returned if a parameter of the request is incorrectly specified.
    ResourceNotFoundException:
      type: object
      properties:
        type:
          type: string
          description: Client
        code:
          type: string
          description: 404 Not Found
        message:
          type: string
          description: Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.
    ServiceUnavailableException:
      type: object
      properties:
        type:
          type: string
          description: Server
        code:
          type: string
          description: 500 Internal Server Error
        message:
          type: string
          description: Returned if the service cannot complete the request.
    VaultLockPolicy:
      type: object
      properties:
        Policy:
          type: string
          description: The vault lock policy.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/glacier/service/2012-06-01/glacier-2012-06-01.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)