Amazon CloudWatch Cloudwatch Appmonitor API

The Cloudwatch Appmonitor API from Amazon CloudWatch — 2 operation(s) for cloudwatch appmonitor.

GitHub OpenAPI

Operations 6

POST /appmonitors/{Id}/ Put Rum Events #
POST /appmonitor Create App Monitor #
GET /appmonitor/{Name} Get App Monitor #
PATCH /appmonitor/{Name} Update App Monitor #
DELETE /appmonitor/{Name} Delete App Monitor #
POST /appmonitors List App Monitors #

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-cloudwatch:amazon-cloudwatch-appmonitor-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-cloudwatch-appmonitor-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon CloudWatch Appmonitor API
  version: '2010-08-01'
  description: Generated from AWS's published Smithy model for Amazon CloudWatch. 6 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://rum.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /appmonitors/{Id}/:
    post:
      operationId: PutRumEvents
      summary: Put Rum Events
      description: Sends telemetry events about your application performance and user behavior to CloudWatch RUM. The code
        snippet that RUM generates for you to add to your application includes PutRumEvents operations to send this data to
        RUM. Each PutRumEvents operation can send a batch of events from one user session.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutRumEventsResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumAccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumInternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutRumEventsRequest'
      tags:
      - Appmonitor
  /appmonitor:
    post:
      operationId: CreateAppMonitor
      summary: Create App Monitor
      description: Creates a Amazon CloudWatch RUM app monitor, which collects telemetry data from your application and sends
        that data to RUM. The data includes performance and reliability information such as page load time, client-side errors,
        and user behavior. You use this operation only to create a new app monitor. To update an existing app monitor, use
        UpdateAppMonitor instead. After you create an app monitor, sign in to the CloudWatch RUM console to get the JavaScript
        code snippet to add to your web application. For more information, see How do I find a code snippet that I've already
        generated?
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAppMonitorResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumAccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumInternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAppMonitorRequest'
      tags:
      - Appmonitor
  /appmonitor/{Name}:
    get:
      operationId: GetAppMonitor
      summary: Get App Monitor
      description: Retrieves the complete configuration information for one app monitor.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAppMonitorResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumAccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumInternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAppMonitorRequest'
      tags:
      - Appmonitor
    patch:
      operationId: UpdateAppMonitor
      summary: Update App Monitor
      description: Updates the configuration of an existing app monitor. When you use this operation, only the parts of the
        app monitor configuration that you specify in this operation are changed. For any parameters that you omit, the existing
        values are kept. You can't use this operation to change the tags of an existing app monitor. To change the tags of
        an existing app monitor, use TagResource. To create a new app monitor, use CreateAppMonitor. After you update an app
        monitor, sign in to the CloudWatch RUM console to get the updated JavaScript code snippet to add to your web application.
        For more information, see How do I find a code snippet that I've already generated?
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAppMonitorResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumAccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumInternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAppMonitorRequest'
      tags:
      - Appmonitor
    delete:
      operationId: DeleteAppMonitor
      summary: Delete App Monitor
      description: Deletes an existing app monitor. This immediately stops the collection of data.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteAppMonitorResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumAccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumInternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAppMonitorRequest'
      tags:
      - Appmonitor
  /appmonitors:
    post:
      operationId: ListAppMonitors
      summary: List App Monitors
      description: Returns a list of the Amazon CloudWatch RUM app monitors in the account.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppMonitorsResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumAccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumInternalServerException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListAppMonitorsRequest'
      tags:
      - Appmonitor
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: rum
  schemas:
    AppMonitor:
      type: object
      properties:
        Name:
          type: string
          description: The name of the app monitor.
        Domain:
          type: string
          description: The top-level internet domain name for which your application has administrative authority.
        DomainList:
          type: array
          items:
            type: string
          description: List the domain names for which your application has administrative authority.
        Id:
          type: string
          description: The unique ID of this app monitor.
        Created:
          type: string
          description: The date and time that this app monitor was created.
        LastModified:
          type: string
          description: The date and time of the most recent changes to this app monitor's configuration.
        Tags:
          type: object
          additionalProperties:
            type: string
          description: The list of tag keys and values associated with this app monitor.
        State:
          type: string
          description: The current state of the app monitor.
        AppMonitorConfiguration:
          $ref: '#/components/schemas/AppMonitorConfiguration'
        DataStorage:
          $ref: '#/components/schemas/DataStorage'
        CustomEvents:
          $ref: '#/components/schemas/CustomEvents'
        DeobfuscationConfiguration:
          $ref: '#/components/schemas/DeobfuscationConfiguration'
        Platform:
          type: string
          description: The platform type for this app monitor. Valid values are Web for web applications , Android for Android
            applications, and iOS for IOS applications.
    AppMonitorConfiguration:
      type: object
      properties:
        IdentityPoolId:
          type: string
          description: The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to RUM.
        ExcludedPages:
          type: array
          items:
            type: string
          description: A list of URLs in your website or application to exclude from RUM data collection. You can't include
            both ExcludedPages and IncludedPages in the same operation.
        IncludedPages:
          type: array
          items:
            type: string
          description: If this app monitor is to collect data from only certain pages in your application, this structure
            lists those pages. You can't include both ExcludedPages and IncludedPages in the same operation.
        FavoritePages:
          type: array
          items:
            type: string
          description: A list of pages in your application that are to be displayed with a "favorite" icon in the CloudWatch
            RUM console.
        SessionSampleRate:
          type: number
          description: Specifies the portion of user sessions to use for RUM data collection. Choosing a higher portion gives
            you more data but also incurs more costs. The range for this value is 0 to 1 inclusive. Setting this to 1 means
            that 100% of user sessions are sampled, and setting it to 0.1 means that 10% of user sessions are sampled. If
            you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.
        GuestRoleArn:
          type: string
          description: 'The ARN of the guest IAM role that is attached to the Amazon Cognito identity pool that is used to
            authorize the sending of data to RUM. It is possible that an app monitor does not have a value for GuestRoleArn.
            For example, this can happen when you use the console to create an app monitor and you allow CloudWatch RUM to
            create a new identity pool for Authorization. In this case, GuestRoleArn is not present in the GetAppMonitor response
            because it is not stored by the service. If this issue affects you, you can take one of the following steps: Use
            the Cloud Development Kit (CDK) to create an i'
        AllowCookies:
          type: boolean
          description: If you set this to true, the RUM web client sets two cookies, a session cookie and a user cookie. The
            cookies allow the RUM web client to collect data relating to the number of users an application has and the behavior
            of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.
        Telemetries:
          type: array
          items:
            type: string
          description: An array that lists the types of telemetry data that this app monitor is to collect. errors indicates
            that RUM collects data about unhandled JavaScript errors raised by your application. performance indicates that
            RUM collects performance data about how your application and its resources are loaded and rendered. This includes
            Core Web Vitals. http indicates that RUM collects data about HTTP errors thrown by your application.
        EnableXRay:
          type: boolean
          description: If you set this to true, RUM enables X-Ray tracing for the user sessions that RUM samples. RUM adds
            an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP requests. You
            can see traces and segments from these user sessions in the X-Ray console and the CloudWatch ServiceLens console.
            For more information, see What is X-Ray?
    AppMonitorDetails:
      type: object
      properties:
        name:
          type: string
          description: The name of the app monitor.
        id:
          type: string
          description: The unique ID of the app monitor.
        version:
          type: string
          description: The version of the app monitor.
    AppMonitorSummary:
      type: object
      properties:
        Name:
          type: string
          description: The name of this app monitor.
        Id:
          type: string
          description: The unique ID of this app monitor.
        Created:
          type: string
          description: The date and time that the app monitor was created.
        LastModified:
          type: string
          description: The date and time of the most recent changes to this app monitor's configuration.
        State:
          type: string
          description: The current state of this app monitor.
        Platform:
          type: string
          description: The platform type for this app monitor. Valid values are Web for web applications, Android for Android
            applications, and iOS for IOS applications.
    CreateAppMonitorRequest:
      type: object
      properties:
        Name:
          type: string
          description: A name for the app monitor.
        Domain:
          type: string
          description: The top-level internet domain name for which your application has administrative authority.
        DomainList:
          type: array
          items:
            type: string
          description: List the domain names for which your application has administrative authority. The CreateAppMonitor
            requires either the domain or the domain list.
        Tags:
          type: object
          additionalProperties:
            type: string
          description: Assigns one or more tags (key-value pairs) to the app monitor. Tags can help you organize and categorize
            your resources. You can also use them to scope user permissions by granting a user permission to access or change
            only resources with certain tag values. Tags don't have any semantic meaning to Amazon Web Services and are interpreted
            strictly as strings of characters. You can associate as many as 50 tags with an app monitor. For more information,
            see Tagging Amazon Web Services resources.
        AppMonitorConfiguration:
          $ref: '#/components/schemas/AppMonitorConfiguration'
        CwLogEnabled:
          type: boolean
          description: Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether
            RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the
            telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. If you omit this parameter,
            the default is false.
        CustomEvents:
          $ref: '#/components/schemas/CustomEvents'
        DeobfuscationConfiguration:
          $ref: '#/components/schemas/DeobfuscationConfiguration'
        Platform:
          type: string
          description: The platform type for the app monitor. Valid values are Web for web applications, Android for Android
            applications, and iOS for IOS applications. If you omit this parameter, the default is Web.
      required:
      - Name
    CreateAppMonitorResponse:
      type: object
      properties:
        Id:
          type: string
          description: The unique ID of the new app monitor.
    CustomEvents:
      type: object
      properties:
        Status:
          type: string
          description: Specifies whether this app monitor allows the web client to define and send custom events. The default
            is for custom events to be DISABLED.
    CwLog:
      type: object
      properties:
        CwLogEnabled:
          type: boolean
          description: Indicated whether the app monitor stores copies of the data that RUM collects in CloudWatch Logs.
        CwLogGroup:
          type: string
          description: The name of the log group where the copies are stored.
    DataStorage:
      type: object
      properties:
        CwLog:
          $ref: '#/components/schemas/CwLog'
    DeleteAppMonitorRequest:
      type: object
      properties:
        Name:
          type: string
          description: The name of the app monitor to delete.
      required:
      - Name
    DeleteAppMonitorResponse:
      type: object
      properties: {}
    DeobfuscationConfiguration:
      type: object
      properties:
        JavaScriptSourceMaps:
          $ref: '#/components/schemas/JavaScriptSourceMaps'
    GetAppMonitorRequest:
      type: object
      properties:
        Name:
          type: string
          description: The app monitor to retrieve information for.
      required:
      - Name
    GetAppMonitorResponse:
      type: object
      properties:
        AppMonitor:
          $ref: '#/components/schemas/AppMonitor'
    JavaScriptSourceMaps:
      type: object
      properties:
        Status:
          type: string
          description: Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default
            is for JavaScript error stack trace unminification to be DISABLED.
        S3Uri:
          type: string
          description: The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.
      required:
      - Status
    ListAppMonitorsRequest:
      type: object
      properties:
        MaxResults:
          type: integer
          description: The maximum number of results to return in one operation. The default is 50. The maximum that you can
            specify is 100.
        NextToken:
          type: string
          description: Use the token returned by the previous operation to request the next page of results.
    ListAppMonitorsResponse:
      type: object
      properties:
        NextToken:
          type: string
          description: A token that you can use in a subsequent operation to retrieve the next set of results.
        AppMonitorSummaries:
          type: array
          items:
            $ref: '#/components/schemas/AppMonitorSummary'
          description: An array of structures that contain information about the returned app monitors.
    PutRumEventsRequest:
      type: object
      properties:
        Id:
          type: string
          description: The ID of the app monitor that is sending this data.
        BatchId:
          type: string
          description: A unique identifier for this batch of RUM event data.
        AppMonitorDetails:
          $ref: '#/components/schemas/AppMonitorDetails'
        UserDetails:
          $ref: '#/components/schemas/UserDetails'
        RumEvents:
          type: array
          items:
            $ref: '#/components/schemas/RumEvent'
          description: An array of structures that contain the telemetry event data.
        Alias:
          type: string
          description: If the app monitor uses a resource-based policy that requires PutRumEvents requests to specify a certain
            alias, specify that alias here. This alias will be compared to the rum:alias context key in the resource-based
            policy. For more information, see Using resource-based policies with CloudWatch RUM.
      required:
      - Id
      - BatchId
      - AppMonitorDetails
      - UserDetails
      - RumEvents
    PutRumEventsResponse:
      type: object
      properties: {}
    RumAccessDeniedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    RumConflictException:
      type: object
      properties:
        message:
          type: string
        resourceName:
          type: string
          description: The name of the resource that is associated with the error.
        resourceType:
          type: string
          description: The type of the resource that is associated with the error.
      required:
      - message
      - resourceName
    RumEvent:
      type: object
      properties:
        id:
          type: string
          description: A unique ID for this event.
        timestamp:
          type: string
          description: The exact time that this event occurred.
        type:
          type: string
          description: The JSON schema that denotes the type of event this is, such as a page load or a new session.
        metadata:
          type: string
          description: Metadata about this event, which contains a JSON serialization of the identity of the user for this
            session. The user information comes from information such as the HTTP user-agent request header and document interface.
        details:
          type: string
          description: A string containing details about the event.
      required:
      - id
      - timestamp
      - type
      - details
    RumInternalServerException:
      type: object
      properties:
        message:
          type: string
        retryAfterSeconds:
          type: integer
          description: The value of a parameter in the request caused an error.
      required:
      - message
    RumResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
        resourceName:
          type: string
          description: The name of the resource that is associated with the error.
        resourceType:
          type: string
          description: The type of the resource that is associated with the error.
      required:
      - message
      - resourceName
    RumServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    RumValidationException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
        serviceCode:
          type: string
          description: The ID of the service that is associated with the error.
        quotaCode:
          type: string
          description: The ID of the service quota that was exceeded.
        retryAfterSeconds:
          type: integer
          description: The value of a parameter in the request caused an error.
      required:
      - message
    UpdateAppMonitorRequest:
      type: object
      properties:
        Name:
          type: string
          description: The name of the app monitor to update.
        Domain:
          type: string
          description: The top-level internet domain name for which your application has administrative authority.
        DomainList:
          type: array
          items:
            type: string
          description: List the domain names for which your application has administrative authority. The UpdateAppMonitor
            allows either the domain or the domain list.
        AppMonitorConfiguration:
          $ref: '#/components/schemas/AppMonitorConfiguration'
        CwLogEnabled:
          type: boolean
          description: Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether
            RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the
            telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges.
        CustomEvents:
          $ref: '#/components/schemas/CustomEvents'
        DeobfuscationConfiguration:
          $ref: '#/components/schemas/DeobfuscationConfiguration'
      required:
      - Name
    UpdateAppMonitorResponse:
      type: object
      properties: {}
    UserDetails:
      type: object
      properties:
        userId:
          type: string
          description: The ID of the user for this user session. This ID is generated by RUM and does not include any personally
            identifiable information about the user.
        sessionId:
          type: string
          description: The session ID that the performance events are from.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/rum/service/2018-05-10/rum-2018-05-10.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)