@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Systems Manager Incident Manager Contacts
@version 2021-05-03
@auth AWS SigV4
@endpoints 39
@hint download_for_search
@toc root(39)

@endpoint POST /
@required {PageId: str, AcceptType: str, AcceptCode: str}
@optional {ContactChannelId: str, Note: str, AcceptCodeValidation: str}

@endpoint POST /
@required {ContactChannelId: str, ActivationCode: str}

@endpoint POST /
@required {Alias: str, Type: str, Plan: Plan}
@optional {DisplayName: str, Tags: [Tag], IdempotencyToken: str}
@returns(200) {ContactArn: str}

@endpoint POST /
@required {ContactId: str, Name: str, Type: str, DeliveryAddress: ContactChannelAddress}
@optional {DeferActivation: bool, IdempotencyToken: str}
@returns(200) {ContactChannelArn: str}

@endpoint POST /
@required {Name: str, ContactIds: [str], TimeZoneId: str, Recurrence: RecurrenceSettings}
@optional {StartTime: str(timestamp), Tags: [Tag], IdempotencyToken: str}
@returns(200) {RotationArn: str}

@endpoint POST /
@required {RotationId: str, NewContactIds: [str], StartTime: str(timestamp), EndTime: str(timestamp)}
@optional {IdempotencyToken: str}
@returns(200) {RotationOverrideId: str}

@endpoint POST /
@required {ContactChannelId: str}

@endpoint POST /
@required {ContactId: str}

@endpoint POST /
@required {ContactChannelId: str}

@endpoint POST /
@required {RotationId: str}

@endpoint POST /
@required {RotationId: str, RotationOverrideId: str}

@endpoint POST /
@required {EngagementId: str}
@returns(200) {ContactArn: str, EngagementArn: str, Sender: str, Subject: str, Content: str, PublicSubject: str?, PublicContent: str?, IncidentId: str?, StartTime: str(timestamp)?, StopTime: str(timestamp)?}

@endpoint POST /
@required {PageId: str}
@returns(200) {PageArn: str, EngagementArn: str, ContactArn: str, Sender: str, Subject: str, Content: str, PublicSubject: str?, PublicContent: str?, IncidentId: str?, SentTime: str(timestamp)?, ReadTime: str(timestamp)?, DeliveryTime: str(timestamp)?}

@endpoint POST /
@required {ContactId: str}
@returns(200) {ContactArn: str, Alias: str, DisplayName: str?, Type: str, Plan: Plan{Stages: [Stage]?, RotationIds: [str]?}}

@endpoint POST /
@required {ContactChannelId: str}
@returns(200) {ContactArn: str, ContactChannelArn: str, Name: str, Type: str, DeliveryAddress: ContactChannelAddress{SimpleAddress: str?}, ActivationStatus: str?}

@endpoint POST /
@required {ContactArn: str}
@returns(200) {ContactArn: str?, Policy: str?}

@endpoint POST /
@required {RotationId: str}
@returns(200) {RotationArn: str, Name: str, ContactIds: [str], StartTime: str(timestamp), TimeZoneId: str, Recurrence: RecurrenceSettings{MonthlySettings: [MonthlySetting]?, WeeklySettings: [WeeklySetting]?, DailySettings: [HandOffTime]?, NumberOfOnCalls: int, ShiftCoverages: map<str,[CoverageTime]>?, RecurrenceMultiplier: int}}

@endpoint POST /
@required {RotationId: str, RotationOverrideId: str}
@returns(200) {RotationOverrideId: str?, RotationArn: str?, NewContactIds: [str]?, StartTime: str(timestamp)?, EndTime: str(timestamp)?, CreateTime: str(timestamp)?}

@endpoint POST /
@required {ContactId: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, ContactChannels: [ContactChannel]}

@endpoint POST /
@optional {NextToken: str, MaxResults: int, AliasPrefix: str, Type: str}
@returns(200) {NextToken: str?, Contacts: [Contact]?}

@endpoint POST /
@optional {NextToken: str, MaxResults: int, IncidentId: str, TimeRangeValue: TimeRange}
@returns(200) {NextToken: str?, Engagements: [Engagement]}

@endpoint POST /
@required {PageId: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, Receipts: [Receipt]?}

@endpoint POST /
@required {PageId: str}
@optional {NextToken: str}
@returns(200) {NextToken: str?, PageResolutions: [ResolutionContact]}

@endpoint POST /
@required {ContactId: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, Pages: [Page]}

@endpoint POST /
@required {EngagementId: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, Pages: [Page]}

@endpoint POST /
@required {EndTime: str(timestamp), Members: [str], TimeZoneId: str, Recurrence: RecurrenceSettings}
@optional {RotationStartTime: str(timestamp), StartTime: str(timestamp), Overrides: [PreviewOverride], NextToken: str, MaxResults: int}
@returns(200) {RotationShifts: [RotationShift]?, NextToken: str?}

@endpoint POST /
@required {RotationId: str, StartTime: str(timestamp), EndTime: str(timestamp)}
@optional {NextToken: str, MaxResults: int}
@returns(200) {RotationOverrides: [RotationOverride]?, NextToken: str?}

@endpoint POST /
@required {RotationId: str, EndTime: str(timestamp)}
@optional {StartTime: str(timestamp), NextToken: str, MaxResults: int}
@returns(200) {RotationShifts: [RotationShift]?, NextToken: str?}

@endpoint POST /
@optional {RotationNamePrefix: str, NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, Rotations: [Rotation]}

@endpoint POST /
@required {ResourceARN: str}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@required {ContactArn: str, Policy: str}

@endpoint POST /
@required {ContactChannelId: str}

@endpoint POST /
@required {ContactId: str, Sender: str, Subject: str, Content: str}
@optional {PublicSubject: str, PublicContent: str, IncidentId: str, IdempotencyToken: str}
@returns(200) {EngagementArn: str}

@endpoint POST /
@required {EngagementId: str}
@optional {Reason: str}

@endpoint POST /
@required {ResourceARN: str, Tags: [Tag]}

@endpoint POST /
@required {ResourceARN: str, TagKeys: [str]}

@endpoint POST /
@required {ContactId: str}
@optional {DisplayName: str, Plan: Plan}

@endpoint POST /
@required {ContactChannelId: str}
@optional {Name: str, DeliveryAddress: ContactChannelAddress}

@endpoint POST /
@required {RotationId: str, Recurrence: RecurrenceSettings}
@optional {ContactIds: [str], StartTime: str(timestamp), TimeZoneId: str}

@end
