Amazon IAM Iam Profile API

The Iam Profile API from Amazon IAM — 1 operation(s) for iam profile.

GitHub OpenAPI

Operations 5

POST /profiles Create Profile #
GET /profiles List Profiles #
GET /profile/{profileId} Get Profile #
PATCH /profile/{profileId} Update Profile #
DELETE /profile/{profileId} Delete Profile #

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-profile-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-profile-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Identity and Access Management Profile 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://rolesanywhere.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /profiles:
    post:
      operationId: CreateProfile
      summary: Create Profile
      description: 'Creates a profile, a list of the roles that Roles Anywhere service is trusted to assume. You use profiles
        to intersect permissions with IAM managed policies. Required permissions: rolesanywhere:CreateProfile.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileDetailResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProfileRequest'
      tags:
      - Profile
    get:
      operationId: ListProfiles
      summary: List Profiles
      description: 'Lists all profiles in the authenticated account and Amazon Web Services Region. Required permissions:
        rolesanywhere:ListProfiles.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProfilesResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListRequest'
      tags:
      - Profile
  /profile/{profileId}:
    get:
      operationId: GetProfile
      summary: Get Profile
      description: 'Gets a profile. Required permissions: rolesanywhere:GetProfile.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileDetailResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScalarProfileRequest'
      tags:
      - Profile
    patch:
      operationId: UpdateProfile
      summary: Update Profile
      description: 'Updates a profile, a list of the roles that IAM Roles Anywhere service is trusted to assume. You use profiles
        to intersect permissions with IAM managed policies. Required permissions: rolesanywhere:UpdateProfile.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileDetailResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProfileRequest'
      tags:
      - Profile
    delete:
      operationId: DeleteProfile
      summary: Delete Profile
      description: 'Deletes a profile. Required permissions: rolesanywhere:DeleteProfile.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileDetailResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScalarProfileRequest'
      tags:
      - Profile
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: rolesanywhere
  schemas:
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
    AttributeMapping:
      type: object
      properties:
        certificateField:
          type: string
          description: Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.
        mappingRules:
          type: array
          items:
            $ref: '#/components/schemas/MappingRule'
          description: A list of mapping entries for every supported specifier or sub-field.
    CreateProfileRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the profile.
        requireInstanceProperties:
          type: boolean
          description: Unused, saved for future use. Will likely specify whether instance properties are required in temporary
            credential requests with this profile.
        sessionPolicy:
          type: string
          description: A session policy that applies to the trust boundary of the vended session credentials.
        roleArns:
          type: array
          items:
            type: string
          description: A list of IAM roles that this profile can assume in a temporary credential request.
        managedPolicyArns:
          type: array
          items:
            type: string
          description: A list of managed policy ARNs that apply to the vended session credentials.
        durationSeconds:
          type: integer
          description: Used to determine how long sessions vended using this profile are valid for. See the Expiration section
            of the CreateSession API documentation page for more details. In requests, if this value is not provided, the
            default value will be 3600.
        enabled:
          type: boolean
          description: Specifies whether the profile is enabled.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/RolesanywhereTag'
          description: The tags to attach to the profile.
        acceptRoleSessionName:
          type: boolean
          description: Used to determine if a custom role session name will be accepted in a temporary credential request.
      required:
      - name
      - roleArns
    ListProfilesResponse:
      type: object
      properties:
        nextToken:
          type: string
          description: A token that indicates where the output should continue from, if a previous request did not show all
            results. To get the next results, make the request again with this value.
        profiles:
          type: array
          items:
            $ref: '#/components/schemas/ProfileDetail'
          description: A list of profiles.
    ListRequest:
      type: object
      properties:
        nextToken:
          type: string
          description: A token that indicates where the output should continue from, if a previous request did not show all
            results. To get the next results, make the request again with this value.
        pageSize:
          type: integer
          description: The number of resources in the paginated list.
    MappingRule:
      type: object
      properties:
        specifier:
          type: string
          description: Specifier within a certificate field, such as CN, OU, or UID from the Subject field.
      required:
      - specifier
    ProfileDetail:
      type: object
      properties:
        profileId:
          type: string
          description: The unique identifier of the profile.
        profileArn:
          type: string
          description: The ARN of the profile.
        name:
          type: string
          description: The name of the profile.
        requireInstanceProperties:
          type: boolean
          description: Unused, saved for future use. Will likely specify whether instance properties are required in temporary
            credential requests with this profile.
        enabled:
          type: boolean
          description: Indicates whether the profile is enabled.
        createdBy:
          type: string
          description: The Amazon Web Services account that created the profile.
        sessionPolicy:
          type: string
          description: A session policy that applies to the trust boundary of the vended session credentials.
        roleArns:
          type: array
          items:
            type: string
          description: A list of IAM roles that this profile can assume in a temporary credential request.
        managedPolicyArns:
          type: array
          items:
            type: string
          description: A list of managed policy ARNs that apply to the vended session credentials.
        createdAt:
          type: string
          description: The ISO-8601 timestamp when the profile was created.
        updatedAt:
          type: string
          description: The ISO-8601 timestamp when the profile was last updated.
        durationSeconds:
          type: integer
          description: Used to determine how long sessions vended using this profile are valid for. See the Expiration section
            of the CreateSession API documentation page for more details. In requests, if this value is not provided, the
            default value will be 3600.
        acceptRoleSessionName:
          type: boolean
          description: Used to determine if a custom role session name will be accepted in a temporary credential request.
        attributeMappings:
          type: array
          items:
            $ref: '#/components/schemas/AttributeMapping'
          description: A mapping applied to the authenticating end-entity certificate.
    ProfileDetailResponse:
      type: object
      properties:
        profile:
          $ref: '#/components/schemas/ProfileDetail'
    ResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
    RolesanywhereTag:
      type: object
      properties:
        key:
          type: string
          description: The tag key.
        value:
          type: string
          description: The tag value.
      required:
      - key
      - value
    ScalarProfileRequest:
      type: object
      properties:
        profileId:
          type: string
          description: The unique identifier of the profile.
      required:
      - profileId
    ServiceUnavailableException:
      type: object
      properties:
        message:
          type: string
          description: The exception message.
        retryAfterSeconds:
          type: integer
          description: The recommended number of seconds after which the client should retry the request.
      required:
      - message
    UpdateProfileRequest:
      type: object
      properties:
        profileId:
          type: string
          description: The unique identifier of the profile.
        name:
          type: string
          description: The name of the profile.
        sessionPolicy:
          type: string
          description: A session policy that applies to the trust boundary of the vended session credentials.
        roleArns:
          type: array
          items:
            type: string
          description: A list of IAM roles that this profile can assume in a temporary credential request.
        managedPolicyArns:
          type: array
          items:
            type: string
          description: A list of managed policy ARNs that apply to the vended session credentials.
        durationSeconds:
          type: integer
          description: Used to determine how long sessions vended using this profile are valid for. See the Expiration section
            of the CreateSession API documentation page for more details. In requests, if this value is not provided, the
            default value will be 3600.
        acceptRoleSessionName:
          type: boolean
          description: Used to determine if a custom role session name will be accepted in a temporary credential request.
      required:
      - profileId
    ValidationException:
      type: object
      properties:
        message:
          type: string
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/rolesanywhere/service/2018-05-10/rolesanywhere-2018-05-10.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)