Amazon EBS Ebs Blocks API

The Ebs Blocks API from Amazon EBS — 2 operation(s) for ebs blocks.

GitHub OpenAPI

Operations 3

GET /snapshots/{SnapshotId}/blocks/{BlockIndex} Get Snapshot Block #
PUT /snapshots/{SnapshotId}/blocks/{BlockIndex} Put Snapshot Block #
GET /snapshots/{SnapshotId}/blocks List Snapshot Blocks #

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-ebs:amazon-ebs-blocks-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-ebs-blocks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Elastic Block Store Blocks API
  version: '2019-11-02'
  description: Generated from AWS's published Smithy model for Amazon Elastic Block Store. 3 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://ebs.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /snapshots/{SnapshotId}/blocks/{BlockIndex}:
    get:
      operationId: GetSnapshotBlock
      summary: Get Snapshot Block
      description: Returns the data in a block in an Amazon Elastic Block Store snapshot. You should always retry requests
        that receive server (5xx) error responses, and ThrottlingException and RequestThrottledException client error responses.
        For more information see Error retries in the Amazon Elastic Compute Cloud User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSnapshotBlockResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '400':
          description: RequestThrottledException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestThrottledException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetSnapshotBlockRequest'
      tags:
      - Blocks
    put:
      operationId: PutSnapshotBlock
      summary: Put Snapshot Block
      description: Writes a block of data to a snapshot. If the specified block contains data, the existing data is overwritten.
        The target snapshot must be in the pending state. Data written to a snapshot must be aligned with 512-KiB sectors.
        You should always retry requests that receive server (5xx) error responses, and ThrottlingException and RequestThrottledException
        client error responses. For more information see Error retries in the Amazon Elastic Compute Cloud User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutSnapshotBlockResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '400':
          description: RequestThrottledException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestThrottledException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutSnapshotBlockRequest'
      tags:
      - Blocks
  /snapshots/{SnapshotId}/blocks:
    get:
      operationId: ListSnapshotBlocks
      summary: List Snapshot Blocks
      description: Returns information about the blocks in an Amazon Elastic Block Store snapshot. You should always retry
        requests that receive server (5xx) error responses, and ThrottlingException and RequestThrottledException client error
        responses. For more information see Error retries in the Amazon Elastic Compute Cloud User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSnapshotBlocksResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '400':
          description: RequestThrottledException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestThrottledException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListSnapshotBlocksRequest'
      tags:
      - Blocks
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: ebs
  schemas:
    AccessDeniedException:
      type: object
      properties:
        Message:
          type: string
        Reason:
          type: string
          enum:
          - UNAUTHORIZED_ACCOUNT
          - DEPENDENCY_ACCESS_DENIED
          description: The reason for the exception.
      required:
      - Reason
    Block:
      type: object
      properties:
        BlockIndex:
          type: integer
          description: The block index.
        BlockToken:
          type: string
          description: The block token for the block index.
    GetSnapshotBlockRequest:
      type: object
      properties:
        SnapshotId:
          type: string
          description: The ID of the snapshot containing the block from which to get data. If the specified snapshot is encrypted,
            you must have permission to use the KMS key that was used to encrypt the snapshot. For more information, see Using
            encryption in the Amazon Elastic Compute Cloud User Guide.
        BlockIndex:
          type: integer
          description: The block index of the block in which to read the data. A block index is a logical index in units of
            512 KiB blocks. To identify the block index, divide the logical offset of the data in the logical volume by the
            block size (logical offset of data/524288). The logical offset of the data must be 512 KiB aligned.
        BlockToken:
          type: string
          description: The block token of the block from which to get data. You can obtain the BlockToken by running the ListChangedBlocks
            or ListSnapshotBlocks operations.
      required:
      - SnapshotId
      - BlockIndex
      - BlockToken
    GetSnapshotBlockResponse:
      type: object
      properties:
        DataLength:
          type: integer
          description: The size of the data in the block.
        BlockData:
          type: string
          format: byte
          description: The data content of the block.
        Checksum:
          type: string
          description: The checksum generated for the block, which is Base64 encoded.
        ChecksumAlgorithm:
          type: string
          enum:
          - SHA256
          description: The algorithm used to generate the checksum for the block, such as SHA256.
    InternalServerException:
      type: object
      properties:
        Message:
          type: string
    ListSnapshotBlocksRequest:
      type: object
      properties:
        SnapshotId:
          type: string
          description: The ID of the snapshot from which to get block indexes and block tokens.
        NextToken:
          type: string
          description: The token to request the next page of results. If you specify NextToken, then StartingBlockIndex is
            ignored.
        MaxResults:
          type: integer
          description: The maximum number of blocks to be returned by the request. Even if additional blocks can be retrieved
            from the snapshot, the request can return less blocks than MaxResults or an empty array of blocks. To retrieve
            the next set of blocks from the snapshot, make another request with the returned NextToken value. The value of
            NextToken is null when there are no more blocks to return.
        StartingBlockIndex:
          type: integer
          description: The block index from which the list should start. The list in the response will start from this block
            index or the next valid block index in the snapshot. If you specify NextToken, then StartingBlockIndex is ignored.
      required:
      - SnapshotId
    ListSnapshotBlocksResponse:
      type: object
      properties:
        Blocks:
          type: array
          items:
            $ref: '#/components/schemas/Block'
          description: An array of objects containing information about the blocks.
        ExpiryTime:
          type: string
          format: date-time
          description: The time when the BlockToken expires.
        VolumeSize:
          type: integer
          description: The size of the volume in GB.
        BlockSize:
          type: integer
          description: The size of the blocks in the snapshot, in bytes.
        NextToken:
          type: string
          description: The token to use to retrieve the next page of results. This value is null when there are no more results
            to return.
    PutSnapshotBlockRequest:
      type: object
      properties:
        SnapshotId:
          type: string
          description: The ID of the snapshot. If the specified snapshot is encrypted, you must have permission to use the
            KMS key that was used to encrypt the snapshot. For more information, see Using encryption in the Amazon Elastic
            Compute Cloud User Guide..
        BlockIndex:
          type: integer
          description: The block index of the block in which to write the data. A block index is a logical index in units
            of 512 KiB blocks. To identify the block index, divide the logical offset of the data in the logical volume by
            the block size (logical offset of data/524288). The logical offset of the data must be 512 KiB aligned.
        BlockData:
          type: string
          format: byte
          description: The data to write to the block. The block data is not signed as part of the Signature Version 4 signing
            process. As a result, you must generate and provide a Base64-encoded SHA256 checksum for the block data using
            the x-amz-Checksum header. Also, you must specify the checksum algorithm using the x-amz-Checksum-Algorithm header.
            The checksum that you provide is part of the Signature Version 4 signing process. It is validated against a checksum
            generated by Amazon EBS to ensure the validity and authenticity of the data. If the checksums do not correspond,
            the request fails. For more information,
        DataLength:
          type: integer
          description: 'The size of the data to write to the block, in bytes. Currently, the only supported size is 524288
            bytes. Valid values: 524288'
        Progress:
          type: integer
          description: The progress of the write process, as a percentage.
        Checksum:
          type: string
          description: A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums are supported.
        ChecksumAlgorithm:
          type: string
          enum:
          - SHA256
          description: The algorithm used to generate the checksum. Currently, the only supported algorithm is SHA256.
      required:
      - SnapshotId
      - BlockIndex
      - BlockData
      - DataLength
      - Checksum
      - ChecksumAlgorithm
    PutSnapshotBlockResponse:
      type: object
      properties:
        Checksum:
          type: string
          description: The SHA256 checksum generated for the block data by Amazon EBS.
        ChecksumAlgorithm:
          type: string
          enum:
          - SHA256
          description: The algorithm used by Amazon EBS to generate the checksum.
    RequestThrottledException:
      type: object
      properties:
        Message:
          type: string
        Reason:
          type: string
          enum:
          - ACCOUNT_THROTTLED
          - DEPENDENCY_REQUEST_THROTTLED
          - RESOURCE_LEVEL_THROTTLE
          description: The reason for the exception.
    ResourceNotFoundException:
      type: object
      properties:
        Message:
          type: string
        Reason:
          type: string
          enum:
          - SNAPSHOT_NOT_FOUND
          - GRANT_NOT_FOUND
          - DEPENDENCY_RESOURCE_NOT_FOUND
          - IMAGE_NOT_FOUND
          description: The reason for the exception.
    ServiceQuotaExceededException:
      type: object
      properties:
        Message:
          type: string
        Reason:
          type: string
          enum:
          - DEPENDENCY_SERVICE_QUOTA_EXCEEDED
          description: The reason for the exception.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/ebs/service/2019-11-02/ebs-2019-11-02.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)