Amazon Systems Manager Systems Manager Inventory API

The Systems Manager Inventory API from Amazon Systems Manager — 3 operation(s) for systems manager inventory.

Operations 3

POST /#DeleteInventory Delete Inventory #
POST /#GetInventory Get Inventory #
POST /#PutInventory Put Inventory #

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-systems-manager:amazon-systems-manager-inventory-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-systems-manager-inventory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon Simple Systems Manager (SSM) Inventory API
  version: '2014-11-06'
  description: Generated from AWS's published Smithy model for Amazon Simple Systems Manager (SSM). 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://ssm.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Inventory
paths:
  /#DeleteInventory:
    post:
      operationId: DeleteInventory
      summary: Delete Inventory
      description: Delete a custom inventory type or the data associated with a custom Inventory type. Deleting a custom inventory type is also referred to as deleting a custom inventory schema.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DeleteInventoryResult'
        '500':
          description: InternalServerError
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '400':
          description: InvalidDeleteInventoryParametersException; InvalidInventoryRequestException; InvalidOptionException; InvalidTypeNameException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidDeleteInventoryParametersException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AmazonSSM.DeleteInventory
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeleteInventoryRequest'
      tags:
      - Inventory
  /#GetInventory:
    post:
      operationId: GetInventory
      summary: Get Inventory
      description: Query inventory information. This includes managed node status, such as Stopped or Terminated.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/GetInventoryResult'
        '500':
          description: InternalServerError
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '400':
          description: InvalidAggregatorException; InvalidFilter; InvalidInventoryGroupException; InvalidNextToken; InvalidResultAttributeException; InvalidTypeNameException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidAggregatorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AmazonSSM.GetInventory
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/GetInventoryRequest'
      tags:
      - Inventory
  /#PutInventory:
    post:
      operationId: PutInventory
      summary: Put Inventory
      description: Bulk update custom inventory items on one or more managed nodes. The request adds an inventory item, if it doesn't already exist, or updates an inventory item, if it does exist.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/PutInventoryResult'
        '400':
          description: CustomSchemaCountLimitExceededException; InvalidInstanceId; InvalidInventoryItemContextException; InvalidItemContentException; InvalidTypeNameException; ItemContentMismatchException; ItemSizeLimitExceededException; SubTypeCountLimitExceededException; TotalSizeLimitExceededException; UnsupportedInventoryItemContextException; UnsupportedInventorySchemaVersionException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CustomSchemaCountLimitExceededException'
        '500':
          description: InternalServerError
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AmazonSSM.PutInventory
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/PutInventoryRequest'
      tags:
      - Inventory
components:
  schemas:
    InventoryItem:
      type: object
      properties:
        TypeName:
          type: string
          description: 'The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.'
        SchemaVersion:
          type: string
          description: The schema version for the inventory item.
        CaptureTime:
          type: string
          description: The time the inventory information was collected.
        ContentHash:
          type: string
          description: MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API doesn't update the inventory item type contents if the MD5 hash hasn't changed since last update.
        Content:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
          description: The inventory data of the inventory type.
        Context:
          type: object
          additionalProperties:
            type: string
          description: A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType properties of the AWS:ComplianceItem type.
      required:
      - TypeName
      - SchemaVersion
      - CaptureTime
    InvalidDeleteInventoryParametersException:
      type: object
      properties:
        Message:
          type: string
    GetInventoryRequest:
      type: object
      properties:
        Filters:
          type: array
          items:
            $ref: '#/components/schemas/InventoryFilter'
          description: One or more filters. Use a filter to return a more specific list of results.
        Aggregators:
          type: array
          items:
            $ref: '#/components/schemas/InventoryAggregator'
          description: Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType type, you can see a count of how many Windows and Linux managed nodes exist in your inventoried fleet.
        ResultAttributes:
          type: array
          items:
            $ref: '#/components/schemas/ResultAttribute'
          description: The list of inventory item types to return.
        NextToken:
          type: string
          description: The token for the next set of items to return. (You received this token from a previous call.)
        MaxResults:
          type: integer
          description: The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.
    PutInventoryRequest:
      type: object
      properties:
        InstanceId:
          type: string
          description: An managed node ID where you want to add or update inventory items.
        Items:
          type: array
          items:
            $ref: '#/components/schemas/InventoryItem'
          description: The inventory items that you want to add or update on managed nodes.
      required:
      - InstanceId
      - Items
    ResultAttribute:
      type: object
      properties:
        TypeName:
          type: string
          description: 'Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.'
      required:
      - TypeName
    InvalidAggregatorException:
      type: object
      properties:
        Message:
          type: string
    InventoryFilter:
      type: object
      properties:
        Key:
          type: string
          description: The name of the filter key.
        Values:
          type: array
          items:
            type: string
          description: Inventory filter values.
        Type:
          type: string
          enum:
          - Equal
          - NotEqual
          - BeginWith
          - LessThan
          - GreaterThan
          - Exists
          description: The type of filter. The Exists filter must be used with aggregators. For more information, see Aggregating inventory data in the Amazon Web Services Systems Manager User Guide.
      required:
      - Key
      - Values
    InventoryDeletionSummary:
      type: object
      properties:
        TotalCount:
          type: integer
          description: The total number of items to delete. This count doesn't change during the delete operation.
        RemainingCount:
          type: integer
          description: Remaining number of items to delete.
        SummaryItems:
          type: array
          items:
            $ref: '#/components/schemas/InventoryDeletionSummaryItem'
          description: A list of counts and versions for deleted items.
    InternalServerError:
      type: object
      properties:
        Message:
          type: string
    InventoryDeletionSummaryItem:
      type: object
      properties:
        Version:
          type: string
          description: The inventory type version.
        Count:
          type: integer
          description: A count of the number of deleted items.
        RemainingCount:
          type: integer
          description: The remaining number of items to delete.
    InventoryResultItem:
      type: object
      properties:
        TypeName:
          type: string
          description: The name of the inventory result item type.
        SchemaVersion:
          type: string
          description: The schema version for the inventory result item/
        CaptureTime:
          type: string
          description: The time inventory item data was captured.
        ContentHash:
          type: string
          description: MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API doesn't update the inventory item type contents if the MD5 hash hasn't changed since last update.
        Content:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
          description: Contains all the inventory data of the item type. Results include attribute names and values.
      required:
      - TypeName
      - SchemaVersion
      - Content
    DeleteInventoryResult:
      type: object
      properties:
        DeletionId:
          type: string
          description: Every DeleteInventory operation is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other operations.
        TypeName:
          type: string
          description: The name of the inventory data type specified in the request.
        DeletionSummary:
          $ref: '#/components/schemas/InventoryDeletionSummary'
    GetInventoryResult:
      type: object
      properties:
        Entities:
          type: array
          items:
            $ref: '#/components/schemas/InventoryResultEntity'
          description: Collection of inventory entities such as a collection of managed node inventory.
        NextToken:
          type: string
          description: The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.
    InventoryGroup:
      type: object
      properties:
        Name:
          type: string
          description: The name of the group.
        Filters:
          type: array
          items:
            $ref: '#/components/schemas/InventoryFilter'
          description: Filters define the criteria for the group. The matchingCount field displays the number of resources that match the criteria. The notMatchingCount field displays the number of resources that don't match the criteria.
      required:
      - Name
      - Filters
    PutInventoryResult:
      type: object
      properties:
        Message:
          type: string
          description: Information about the request.
    InventoryResultEntity:
      type: object
      properties:
        Id:
          type: string
          description: ID of the inventory result entity. For example, for managed node inventory the result will be the managed node ID. For EC2 instance inventory, the result will be the instance ID.
        Data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/InventoryResultItem'
          description: The data section in the inventory result entity JSON.
    InventoryAggregator:
      type: object
      properties:
        Expression:
          type: string
          description: The inventory type and attribute name for aggregation.
        Aggregators:
          type: array
          items:
            $ref: '#/components/schemas/InventoryAggregator'
          description: Nested aggregators to further refine aggregation for an inventory type.
        Groups:
          type: array
          items:
            $ref: '#/components/schemas/InventoryGroup'
          description: A user-defined set of one or more filters on which to aggregate inventory data. Groups return a count of resources that match and don't match the specified criteria.
    CustomSchemaCountLimitExceededException:
      type: object
      properties:
        Message:
          type: string
    DeleteInventoryRequest:
      type: object
      properties:
        TypeName:
          type: string
          description: The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.
        SchemaDeleteOption:
          type: string
          enum:
          - DisableSchema
          - DeleteSchema
          description: 'Use the SchemaDeleteOption to delete a custom inventory type (schema). If you don''t choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options: DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the PutInventory operation for a version greater than the disabled version. DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema '
        DryRun:
          type: boolean
          description: Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the DryRun option.
        ClientToken:
          type: string
          description: User-provided idempotency token.
      required:
      - TypeName
  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: ssm
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/ssm/service/2014-11-06/ssm-2014-11-06.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)