Amazon IAM Iam Mfa Device API

The Iam Mfa Device API from Amazon IAM — 5 operation(s) for iam mfa device.

Business capability
Identity & Access Management BC-620.20

Operations 5

POST /?Action=EnableMFADevice Enable MFADevice #
POST /?Action=GetMFADevice Get MFADevice #
POST /?Action=ListMFADevices List MFADevices #
POST /?Action=TagMFADevice Tag MFADevice #
POST /?Action=UntagMFADevice Untag MFADevice #

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-iam:amazon-iam-mfa-device-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-iam-mfa-device-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AWS Identity and Access Management Mfa Device API
  version: '2010-05-08'
  description: Generated from AWS's published Smithy model for AWS Identity and Access Management. 5 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://iam.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Mfa Device
paths:
  /?Action=EnableMFADevice:
    post:
      operationId: EnableMFADevice
      summary: Enable MFADevice
      description: Enables the specified MFA device and associates it with the specified IAM user. When enabled, the MFA device is required for every subsequent login by the IAM user associated with the device.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                type: string
        '409':
          description: ConcurrentModificationException; EntityAlreadyExistsException; EntityTemporarilyUnmodifiableException; LimitExceededException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '403':
          description: InvalidAuthenticationCodeException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidAuthenticationCodeException'
        '404':
          description: NoSuchEntityException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchEntityException'
        '500':
          description: ServiceFailureException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ServiceFailureException'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: EnableMFADevice
                  Version:
                    type: string
                    const: '2010-05-08'
              - $ref: '#/components/schemas/EnableMFADeviceRequest'
      tags:
      - Mfa Device
  /?Action=GetMFADevice:
    post:
      operationId: GetMFADevice
      summary: Get MFADevice
      description: Retrieves information about an MFA device for a specified user.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetMFADeviceResponse'
        '404':
          description: NoSuchEntityException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchEntityException'
        '500':
          description: ServiceFailureException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ServiceFailureException'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: GetMFADevice
                  Version:
                    type: string
                    const: '2010-05-08'
              - $ref: '#/components/schemas/GetMFADeviceRequest'
      tags:
      - Mfa Device
  /?Action=ListMFADevices:
    post:
      operationId: ListMFADevices
      summary: List MFADevices
      description: Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this operation lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the Amazon Web Services access key ID signing the request for this operation. You can paginate the results using the MaxItems and Marker parameters.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ListMFADevicesResponse'
        '404':
          description: NoSuchEntityException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchEntityException'
        '500':
          description: ServiceFailureException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ServiceFailureException'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: ListMFADevices
                  Version:
                    type: string
                    const: '2010-05-08'
              - $ref: '#/components/schemas/ListMFADevicesRequest'
      tags:
      - Mfa Device
  /?Action=TagMFADevice:
    post:
      operationId: TagMFADevice
      summary: Tag MFADevice
      description: 'Adds one or more tags to an IAM virtual multi-factor authentication (MFA) device. If a tag with the same key name already exists, then that tag is overwritten with the new value. A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following: Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200. Access control - Include tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM virtual MFA device that has a specified tag attached. For examples of policies that show how to use tags to control access, see Control access using IAM tags in the IAM User Guide. If any one of the tags is invalid or if you exceed the allowed maximum number of tags, then the entire request fails and the resource is not created. For more information about tagging, see Tagging IAM resources in the IAM User Guide. Amazon Web Services always interprets the tag Value as a single string. I'
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                type: string
        '409':
          description: ConcurrentModificationException; LimitExceededException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '400':
          description: InvalidInputException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidInputException'
        '404':
          description: NoSuchEntityException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchEntityException'
        '500':
          description: ServiceFailureException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ServiceFailureException'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: TagMFADevice
                  Version:
                    type: string
                    const: '2010-05-08'
              - $ref: '#/components/schemas/TagMFADeviceRequest'
      tags:
      - Mfa Device
  /?Action=UntagMFADevice:
    post:
      operationId: UntagMFADevice
      summary: Untag MFADevice
      description: Removes the specified tags from the IAM virtual multi-factor authentication (MFA) device. For more information about tagging, see Tagging IAM resources in the IAM User Guide.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                type: string
        '409':
          description: ConcurrentModificationException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '400':
          description: InvalidInputException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidInputException'
        '404':
          description: NoSuchEntityException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchEntityException'
        '500':
          description: ServiceFailureException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ServiceFailureException'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: UntagMFADevice
                  Version:
                    type: string
                    const: '2010-05-08'
              - $ref: '#/components/schemas/UntagMFADeviceRequest'
      tags:
      - Mfa Device
components:
  schemas:
    GetMFADeviceRequest:
      type: object
      properties:
        SerialNumber:
          type: string
          description: Serial number that uniquely identifies the MFA device. For this API, we only accept FIDO security key ARNs.
        UserName:
          type: string
          description: The friendly name identifying the user.
      required:
      - SerialNumber
    GetMFADeviceResponse:
      type: object
      properties:
        UserName:
          type: string
          description: The friendly name identifying the user.
        SerialNumber:
          type: string
          description: Serial number that uniquely identifies the MFA device. For this API, we only accept FIDO security key ARNs.
        EnableDate:
          type: string
          format: date-time
          description: The date that a specified user's MFA device was first enabled.
        Certifications:
          type: object
          additionalProperties:
            type: string
          description: The certifications of a specified user's MFA device. We currently provide FIPS-140-2, FIPS-140-3, and FIDO certification levels obtained from FIDO Alliance Metadata Service (MDS).
      required:
      - SerialNumber
    ListMFADevicesRequest:
      type: object
      properties:
        UserName:
          type: string
          description: 'The name of the user whose MFA devices you want to list. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-'
        Marker:
          type: string
          description: Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.
        MaxItems:
          type: integer
          description: Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.
    MFADevice:
      type: object
      properties:
        UserName:
          type: string
          description: The user with whom the MFA device is associated.
        SerialNumber:
          type: string
          description: The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.
        EnableDate:
          type: string
          format: date-time
          description: The date when the MFA device was enabled for the user.
      required:
      - UserName
      - SerialNumber
      - EnableDate
    TagMFADeviceRequest:
      type: object
      properties:
        SerialNumber:
          type: string
          description: 'The unique identifier for the IAM virtual MFA device to which you want to add tags. For virtual MFA devices, the serial number is the same as the ARN. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-'
        Tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: The list of tags that you want to attach to the IAM virtual MFA device. Each tag consists of a key name and an associated value.
      required:
      - SerialNumber
      - Tags
    UntagMFADeviceRequest:
      type: object
      properties:
        SerialNumber:
          type: string
          description: 'The unique identifier for the IAM virtual MFA device from which you want to remove tags. For virtual MFA devices, the serial number is the same as the ARN. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-'
        TagKeys:
          type: array
          items:
            type: string
          description: A list of key names as a simple array of strings. The tags with matching keys are removed from the specified instance profile.
      required:
      - SerialNumber
      - TagKeys
    NoSuchEntityException:
      type: object
      properties:
        message:
          type: string
    InvalidInputException:
      type: object
      properties:
        message:
          type: string
    EnableMFADeviceRequest:
      type: object
      properties:
        UserName:
          type: string
          description: 'The name of the IAM user for whom you want to enable the MFA device. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-'
        SerialNumber:
          type: string
          description: 'The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-'
        AuthenticationCode1:
          type: string
          description: An authentication code emitted by the device. The format for this parameter is a string of six digits. Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.
        AuthenticationCode2:
          type: string
          description: A subsequent authentication code emitted by the device. The format for this parameter is a string of six digits. Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.
      required:
      - UserName
      - SerialNumber
      - AuthenticationCode1
      - AuthenticationCode2
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: The key name that can be used to look up or retrieve the associated value. For example, Department or Cost Center are common choices.
        Value:
          type: string
          description: The value associated with this tag. For example, tags with a key name of Department could have values such as Human Resources, Accounting, and Support. Tags with a key name of Cost Center might have values that consist of the number associated with the different cost centers in your company. Typically, many resources have tags with the same key name but with different values.
      required:
      - Key
      - Value
    InvalidAuthenticationCodeException:
      type: object
      properties:
        message:
          type: string
    ConcurrentModificationException:
      type: object
      properties:
        message:
          type: string
    ListMFADevicesResponse:
      type: object
      properties:
        MFADevices:
          type: array
          items:
            $ref: '#/components/schemas/MFADevice'
          description: A list of MFA devices.
        IsTruncated:
          type: boolean
          description: A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.
        Marker:
          type: string
          description: When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.
      required:
      - MFADevices
    ServiceFailureException:
      type: object
      properties:
        message:
          type: string
  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: iam
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/iam/service/2010-05-08/iam-2010-05-08.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)