@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Systems Manager Incident Manager
@version 2018-05-10
@auth AWS SigV4
@endpoints 31
@hint download_for_search
@toc batchGetIncidentFindings(1), createReplicationSet(1), createResponsePlan(1), createTimelineEvent(1), deleteIncidentRecord(1), deleteReplicationSet(1), deleteResourcePolicy(1), deleteResponsePlan(1), deleteTimelineEvent(1), getIncidentRecord(1), getReplicationSet(1), getResourcePolicies(1), getResponsePlan(1), getTimelineEvent(1), listIncidentFindings(1), listIncidentRecords(1), listRelatedItems(1), listReplicationSets(1), listResponsePlans(1), tags(3), listTimelineEvents(1), putResourcePolicy(1), startIncident(1), updateDeletionProtection(1), updateIncidentRecord(1), updateRelatedItems(1), updateReplicationSet(1), updateResponsePlan(1), updateTimelineEvent(1)

@group batchGetIncidentFindings
@endpoint POST /batchGetIncidentFindings
@required {findingIds: [str], incidentRecordArn: str}
@returns(200) {errors: [BatchGetIncidentFindingsError], findings: [Finding]}

@endgroup

@group createReplicationSet
@endpoint POST /createReplicationSet
@required {regions: map<str,RegionMapInputValue>}
@optional {clientToken: str, tags: map<str,str>}
@returns(200) {arn: str}

@endgroup

@group createResponsePlan
@endpoint POST /createResponsePlan
@required {incidentTemplate: IncidentTemplate, name: str}
@optional {actions: [Action], chatChannel: ChatChannel, clientToken: str, displayName: str, engagements: [str], integrations: [Integration], tags: map<str,str>}
@returns(200) {arn: str}

@endgroup

@group createTimelineEvent
@endpoint POST /createTimelineEvent
@required {eventData: str, eventTime: str(timestamp), eventType: str, incidentRecordArn: str}
@optional {clientToken: str, eventReferences: [EventReference]}
@returns(200) {eventId: str, incidentRecordArn: str}

@endgroup

@group deleteIncidentRecord
@endpoint POST /deleteIncidentRecord
@required {arn: str}

@endgroup

@group deleteReplicationSet
@endpoint POST /deleteReplicationSet
@required {arn: str}

@endgroup

@group deleteResourcePolicy
@endpoint POST /deleteResourcePolicy
@required {policyId: str, resourceArn: str}

@endgroup

@group deleteResponsePlan
@endpoint POST /deleteResponsePlan
@required {arn: str}

@endgroup

@group deleteTimelineEvent
@endpoint POST /deleteTimelineEvent
@required {eventId: str, incidentRecordArn: str}

@endgroup

@group getIncidentRecord
@endpoint GET /getIncidentRecord
@required {arn: str}
@returns(200) {incidentRecord: IncidentRecord{arn: str, automationExecutions: [AutomationExecution]?, chatChannel: ChatChannel?{chatbotSns: [str]?, empty: EmptyChatChannel?}, creationTime: str(timestamp), dedupeString: str, impact: int, incidentRecordSource: IncidentRecordSource{createdBy: str, invokedBy: str?, resourceArn: str?, source: str}, lastModifiedBy: str, lastModifiedTime: str(timestamp), notificationTargets: [NotificationTargetItem]?, resolvedTime: str(timestamp)?, status: str, summary: str?, title: str}}

@endgroup

@group getReplicationSet
@endpoint GET /getReplicationSet
@required {arn: str}
@returns(200) {replicationSet: ReplicationSet{arn: str?, createdBy: str, createdTime: str(timestamp), deletionProtected: bool, lastModifiedBy: str, lastModifiedTime: str(timestamp), regionMap: map<str,RegionInfo>, status: str}}

@endgroup

@group getResourcePolicies
@endpoint POST /getResourcePolicies
@required {resourceArn: str}
@optional {maxResults: int, nextToken: str}
@returns(200) {nextToken: str?, resourcePolicies: [ResourcePolicy]}

@endgroup

@group getResponsePlan
@endpoint GET /getResponsePlan
@required {arn: str}
@returns(200) {actions: [Action]?, arn: str, chatChannel: ChatChannel?{chatbotSns: [str]?, empty: EmptyChatChannel?}, displayName: str?, engagements: [str]?, incidentTemplate: IncidentTemplate{dedupeString: str?, impact: int, incidentTags: map<str,str>?, notificationTargets: [NotificationTargetItem]?, summary: str?, title: str}, integrations: [Integration]?, name: str}

@endgroup

@group getTimelineEvent
@endpoint GET /getTimelineEvent
@required {eventId: str, incidentRecordArn: str}
@returns(200) {event: TimelineEvent{eventData: str, eventId: str, eventReferences: [EventReference]?, eventTime: str(timestamp), eventType: str, eventUpdatedTime: str(timestamp), incidentRecordArn: str}}

@endgroup

@group listIncidentFindings
@endpoint POST /listIncidentFindings
@required {incidentRecordArn: str}
@optional {maxResults: int, nextToken: str}
@returns(200) {findings: [FindingSummary], nextToken: str?}

@endgroup

@group listIncidentRecords
@endpoint POST /listIncidentRecords
@optional {filters: [Filter], maxResults: int, nextToken: str}
@returns(200) {incidentRecordSummaries: [IncidentRecordSummary], nextToken: str?}

@endgroup

@group listRelatedItems
@endpoint POST /listRelatedItems
@required {incidentRecordArn: str}
@optional {maxResults: int, nextToken: str}
@returns(200) {nextToken: str?, relatedItems: [RelatedItem]}

@endgroup

@group listReplicationSets
@endpoint POST /listReplicationSets
@optional {maxResults: int, nextToken: str}
@returns(200) {nextToken: str?, replicationSetArns: [str]}

@endgroup

@group listResponsePlans
@endpoint POST /listResponsePlans
@optional {maxResults: int, nextToken: str}
@returns(200) {nextToken: str?, responsePlanSummaries: [ResponsePlanSummary]}

@endgroup

@group tags
@endpoint GET /tags/{resourceArn}
@required {resourceArn: str}
@returns(200) {tags: map<str,str>}

@endgroup

@group listTimelineEvents
@endpoint POST /listTimelineEvents
@required {incidentRecordArn: str}
@optional {filters: [Filter], maxResults: int, nextToken: str, sortBy: str, sortOrder: str}
@returns(200) {eventSummaries: [EventSummary], nextToken: str?}

@endgroup

@group putResourcePolicy
@endpoint POST /putResourcePolicy
@required {policy: str, resourceArn: str}
@returns(200) {policyId: str}

@endgroup

@group startIncident
@endpoint POST /startIncident
@required {responsePlanArn: str}
@optional {clientToken: str, impact: int, relatedItems: [RelatedItem], title: str, triggerDetails: TriggerDetails}
@returns(200) {incidentRecordArn: str}

@endgroup

@group tags
@endpoint POST /tags/{resourceArn}
@required {resourceArn: str, tags: map<str,str>}

@endpoint DELETE /tags/{resourceArn}
@required {resourceArn: str, tagKeys: [str]}

@endgroup

@group updateDeletionProtection
@endpoint POST /updateDeletionProtection
@required {arn: str, deletionProtected: bool}
@optional {clientToken: str}

@endgroup

@group updateIncidentRecord
@endpoint POST /updateIncidentRecord
@required {arn: str}
@optional {chatChannel: ChatChannel, clientToken: str, impact: int, notificationTargets: [NotificationTargetItem], status: str, summary: str, title: str}

@endgroup

@group updateRelatedItems
@endpoint POST /updateRelatedItems
@required {incidentRecordArn: str, relatedItemsUpdate: RelatedItemsUpdate}
@optional {clientToken: str}

@endgroup

@group updateReplicationSet
@endpoint POST /updateReplicationSet
@required {actions: [UpdateReplicationSetAction], arn: str}
@optional {clientToken: str}

@endgroup

@group updateResponsePlan
@endpoint POST /updateResponsePlan
@required {arn: str}
@optional {actions: [Action], chatChannel: ChatChannel, clientToken: str, displayName: str, engagements: [str], incidentTemplateDedupeString: str, incidentTemplateImpact: int, incidentTemplateNotificationTargets: [NotificationTargetItem], incidentTemplateSummary: str, incidentTemplateTags: map<str,str>, incidentTemplateTitle: str, integrations: [Integration]}

@endgroup

@group updateTimelineEvent
@endpoint POST /updateTimelineEvent
@required {eventId: str, incidentRecordArn: str}
@optional {clientToken: str, eventData: str, eventReferences: [EventReference], eventTime: str(timestamp), eventType: str}

@endgroup

@end
