Amazon Well-Architected Tool Profiles API

The Profiles API from Amazon Well-Architected Tool — 5 operation(s) for profiles.

GitHub OpenAPI

Operations 7

POST /profiles Create Profile #
DELETE /profiles/{ProfileArn} Delete Profile #
GET /profiles/{ProfileArn} Get Profile #
PATCH /profiles/{ProfileArn} Update Profile #
POST /profiles/{ProfileArn}/shares Create Profile Share #
GET /profiles/{ProfileArn}/shares List Profile Shares #
DELETE /profiles/{ProfileArn}/shares/{ShareId} Delete Profile Share #

Documentation

Specifications

Schemas & Data

Other Resources

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-well-architected-tool:amazon-well-architected-tool-profiles-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-well-architected-tool-profiles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Well-Architected Tool Profiles API
  version: '2020-03-31'
  description: Generated from AWS's published Smithy model for AWS Well-Architected Tool. 7 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://wellarchitected.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /profiles:
    post:
      operationId: CreateProfile
      summary: Create Profile
      description: Create a profile.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProfileOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProfileInput'
      tags:
      - Profiles
  /profiles/{ProfileArn}:
    delete:
      operationId: DeleteProfile
      summary: Delete Profile
      description: Delete a profile. Disclaimer By sharing your profile with other Amazon Web Services accounts, you acknowledge
        that Amazon Web Services will make your profile available to those other accounts. Those other accounts may continue
        to access and use your shared profile even if you delete the profile from your own Amazon Web Services account or
        terminate your Amazon Web Services account.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteProfileInput'
      tags:
      - Profiles
    get:
      operationId: GetProfile
      summary: Get Profile
      description: Get profile information.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProfileOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProfileInput'
      tags:
      - Profiles
    patch:
      operationId: UpdateProfile
      summary: Update Profile
      description: Update a profile.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateProfileOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProfileInput'
      tags:
      - Profiles
  /profiles/{ProfileArn}/shares:
    post:
      operationId: CreateProfileShare
      summary: Create Profile Share
      description: Create a profile share.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProfileShareOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProfileShareInput'
      tags:
      - Profiles
    get:
      operationId: ListProfileShares
      summary: List Profile Shares
      description: List profile shares.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProfileSharesOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListProfileSharesInput'
      tags:
      - Profiles
  /profiles/{ProfileArn}/shares/{ShareId}:
    delete:
      operationId: DeleteProfileShare
      summary: Delete Profile Share
      description: Delete a profile share.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteProfileShareInput'
      tags:
      - Profiles
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: wellarchitected
  schemas:
    AccessDeniedException:
      type: object
      properties:
        Message:
          type: string
      required:
      - Message
    ConflictException:
      type: object
      properties:
        Message:
          type: string
        ResourceId:
          type: string
        ResourceType:
          type: string
      required:
      - Message
      - ResourceId
      - ResourceType
    CreateProfileInput:
      type: object
      properties:
        ProfileName:
          type: string
          description: Name of the profile.
        ProfileDescription:
          type: string
          description: The profile description.
        ProfileQuestions:
          type: array
          items:
            $ref: '#/components/schemas/ProfileQuestionUpdate'
          description: The profile questions.
        ClientRequestToken:
          type: string
        Tags:
          type: object
          additionalProperties:
            type: string
          description: The tags assigned to the profile.
      required:
      - ProfileName
      - ProfileDescription
      - ProfileQuestions
      - ClientRequestToken
    CreateProfileOutput:
      type: object
      properties:
        ProfileArn:
          type: string
          description: The profile ARN.
        ProfileVersion:
          type: string
          description: Version of the profile.
    CreateProfileShareInput:
      type: object
      properties:
        ProfileArn:
          type: string
          description: The profile ARN.
        SharedWith:
          type: string
        ClientRequestToken:
          type: string
      required:
      - ProfileArn
      - SharedWith
      - ClientRequestToken
    CreateProfileShareOutput:
      type: object
      properties:
        ShareId:
          type: string
        ProfileArn:
          type: string
          description: The profile ARN.
    DeleteProfileInput:
      type: object
      properties:
        ProfileArn:
          type: string
          description: The profile ARN.
        ClientRequestToken:
          type: string
      required:
      - ProfileArn
      - ClientRequestToken
    DeleteProfileShareInput:
      type: object
      properties:
        ShareId:
          type: string
        ProfileArn:
          type: string
          description: The profile ARN.
        ClientRequestToken:
          type: string
      required:
      - ShareId
      - ProfileArn
      - ClientRequestToken
    GetProfileInput:
      type: object
      properties:
        ProfileArn:
          type: string
          description: The profile ARN.
        ProfileVersion:
          type: string
          description: The profile version.
      required:
      - ProfileArn
    GetProfileOutput:
      type: object
      properties:
        Profile:
          $ref: '#/components/schemas/Profile'
    InternalServerException:
      type: object
      properties:
        Message:
          type: string
      required:
      - Message
    ListProfileSharesInput:
      type: object
      properties:
        ProfileArn:
          type: string
          description: The profile ARN.
        SharedWithPrefix:
          type: string
          description: The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the
            profile is shared.
        NextToken:
          type: string
        MaxResults:
          type: integer
          description: The maximum number of results to return for this request.
        Status:
          type: string
          enum:
          - ACCEPTED
          - REJECTED
          - PENDING
          - REVOKED
          - EXPIRED
          - ASSOCIATING
          - ASSOCIATED
          - FAILED
      required:
      - ProfileArn
    ListProfileSharesOutput:
      type: object
      properties:
        ProfileShareSummaries:
          type: array
          items:
            $ref: '#/components/schemas/ProfileShareSummary'
          description: Profile share summaries.
        NextToken:
          type: string
    Profile:
      type: object
      properties:
        ProfileArn:
          type: string
          description: The profile ARN.
        ProfileVersion:
          type: string
          description: The profile version.
        ProfileName:
          type: string
          description: The profile name.
        ProfileDescription:
          type: string
          description: The profile description.
        ProfileQuestions:
          type: array
          items:
            $ref: '#/components/schemas/ProfileQuestion'
          description: Profile questions.
        Owner:
          type: string
        CreatedAt:
          type: string
          description: The date and time when the profile was created.
        UpdatedAt:
          type: string
          description: The date and time when the profile was last updated.
        ShareInvitationId:
          type: string
          description: The ID assigned to the share invitation.
        Tags:
          type: object
          additionalProperties:
            type: string
          description: The tags assigned to the profile.
    ProfileChoice:
      type: object
      properties:
        ChoiceId:
          type: string
        ChoiceTitle:
          type: string
        ChoiceDescription:
          type: string
    ProfileQuestion:
      type: object
      properties:
        QuestionId:
          type: string
        QuestionTitle:
          type: string
        QuestionDescription:
          type: string
        QuestionChoices:
          type: array
          items:
            $ref: '#/components/schemas/ProfileChoice'
          description: The question choices.
        SelectedChoiceIds:
          type: array
          items:
            type: string
          description: The selected choices.
        MinSelectedChoices:
          type: integer
          description: The minimum number of selected choices.
        MaxSelectedChoices:
          type: integer
          description: The maximum number of selected choices.
    ProfileQuestionUpdate:
      type: object
      properties:
        QuestionId:
          type: string
        SelectedChoiceIds:
          type: array
          items:
            type: string
          description: The selected choices.
    ProfileShareSummary:
      type: object
      properties:
        ShareId:
          type: string
        SharedWith:
          type: string
        Status:
          type: string
          enum:
          - ACCEPTED
          - REJECTED
          - PENDING
          - REVOKED
          - EXPIRED
          - ASSOCIATING
          - ASSOCIATED
          - FAILED
        StatusMessage:
          type: string
          description: Profile share invitation status message.
    ResourceNotFoundException:
      type: object
      properties:
        Message:
          type: string
        ResourceId:
          type: string
        ResourceType:
          type: string
      required:
      - Message
      - ResourceId
      - ResourceType
    ServiceQuotaExceededException:
      type: object
      properties:
        Message:
          type: string
        ResourceId:
          type: string
        ResourceType:
          type: string
        QuotaCode:
          type: string
        ServiceCode:
          type: string
      required:
      - Message
      - QuotaCode
      - ServiceCode
    ThrottlingException:
      type: object
      properties:
        Message:
          type: string
        QuotaCode:
          type: string
        ServiceCode:
          type: string
      required:
      - Message
    UpdateProfileInput:
      type: object
      properties:
        ProfileArn:
          type: string
          description: The profile ARN.
        ProfileDescription:
          type: string
          description: The profile description.
        ProfileQuestions:
          type: array
          items:
            $ref: '#/components/schemas/ProfileQuestionUpdate'
          description: Profile questions.
      required:
      - ProfileArn
    UpdateProfileOutput:
      type: object
      properties:
        Profile:
          $ref: '#/components/schemas/Profile'
    ValidationException:
      type: object
      properties:
        Message:
          type: string
        Reason:
          type: string
          enum:
          - UNKNOWN_OPERATION
          - CANNOT_PARSE
          - FIELD_VALIDATION_FAILED
          - OTHER
        Fields:
          type: array
          items:
            $ref: '#/components/schemas/ValidationExceptionField'
      required:
      - Message
    ValidationExceptionField:
      type: object
      properties:
        Name:
          type: string
        Message:
          type: string
      required:
      - Name
      - Message
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/wellarchitected/service/2020-03-31/wellarchitected-2020-03-31.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)