@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS IoT Wireless
@version 2020-11-22
@auth AWS SigV4
@endpoints 112
@hint download_for_search
@toc partner-accounts(5), fuota-tasks(11), multicast-groups(13), wireless-devices(13), wireless-gateways(15), destinations(5), device-profiles(4), network-analyzer-configurations(5), service-profiles(4), wireless-gateway-task-definitions(4), wireless_device_import_task(5), event-configurations-resource-types(2), log-levels(6), metric-configuration(2), metrics(1), positions(2), position-configurations(3), position-estimate(1), event-configurations(3), resource-positions(2), service-endpoint(1), tags(3), wireless_device_import_tasks(1), wireless_single_device_import_task(1)

@group partner-accounts
@endpoint POST /partner-accounts
@required {Sidewalk: SidewalkAccountInfo}
@optional {ClientRequestToken: str, Tags: [Tag]}
@returns(200) {Sidewalk: SidewalkAccountInfo?{AmazonId: str?, AppServerPrivateKey: str?}, Arn: str?}

@endgroup

@group fuota-tasks
@endpoint PUT /fuota-tasks/{Id}/multicast-group
@required {Id: str, MulticastGroupId: str}

@endpoint PUT /fuota-tasks/{Id}/wireless-device
@required {Id: str, WirelessDeviceId: str}

@endgroup

@group multicast-groups
@endpoint PUT /multicast-groups/{Id}/wireless-device
@required {Id: str, WirelessDeviceId: str}

@endgroup

@group wireless-devices
@endpoint PUT /wireless-devices/{Id}/thing
@required {Id: str, ThingArn: str}

@endgroup

@group wireless-gateways
@endpoint PUT /wireless-gateways/{Id}/certificate
@required {Id: str, IotCertificateId: str}
@returns(200) {IotCertificateId: str?}

@endpoint PUT /wireless-gateways/{Id}/thing
@required {Id: str, ThingArn: str}

@endgroup

@group multicast-groups
@endpoint DELETE /multicast-groups/{Id}/session
@required {Id: str}

@endgroup

@group destinations
@endpoint POST /destinations
@required {Name: str, ExpressionType: str, Expression: str, RoleArn: str}
@optional {Description: str, Tags: [Tag], ClientRequestToken: str}
@returns(200) {Arn: str?, Name: str?}

@endgroup

@group device-profiles
@endpoint POST /device-profiles
@optional {Name: str, LoRaWAN: LoRaWANDeviceProfile, Tags: [Tag], ClientRequestToken: str, Sidewalk: SidewalkCreateDeviceProfile}
@returns(200) {Arn: str?, Id: str?}

@endgroup

@group fuota-tasks
@endpoint POST /fuota-tasks
@required {FirmwareUpdateImage: str, FirmwareUpdateRole: str}
@optional {Name: str, Description: str, ClientRequestToken: str, LoRaWAN: LoRaWANFuotaTask, Tags: [Tag], RedundancyPercent: int, FragmentSizeBytes: int, FragmentIntervalMS: int}
@returns(200) {Arn: str?, Id: str?}

@endgroup

@group multicast-groups
@endpoint POST /multicast-groups
@required {LoRaWAN: LoRaWANMulticast}
@optional {Name: str, Description: str, ClientRequestToken: str, Tags: [Tag]}
@returns(200) {Arn: str?, Id: str?}

@endgroup

@group network-analyzer-configurations
@endpoint POST /network-analyzer-configurations
@required {Name: str}
@optional {TraceContent: TraceContent, WirelessDevices: [str], WirelessGateways: [str], Description: str, Tags: [Tag], ClientRequestToken: str, MulticastGroups: [str]}
@returns(200) {Arn: str?, Name: str?}

@endgroup

@group service-profiles
@endpoint POST /service-profiles
@optional {Name: str, LoRaWAN: LoRaWANServiceProfile, Tags: [Tag], ClientRequestToken: str}
@returns(200) {Arn: str?, Id: str?}

@endgroup

@group wireless-devices
@endpoint POST /wireless-devices
@required {Type: str, DestinationName: str}
@optional {Name: str, Description: str, ClientRequestToken: str, LoRaWAN: LoRaWANDevice, Tags: [Tag], Positioning: str, Sidewalk: SidewalkCreateWirelessDevice}
@returns(200) {Arn: str?, Id: str?}

@endgroup

@group wireless-gateways
@endpoint POST /wireless-gateways
@required {LoRaWAN: LoRaWANGateway}
@optional {Name: str, Description: str, Tags: [Tag], ClientRequestToken: str}
@returns(200) {Arn: str?, Id: str?}

@endpoint POST /wireless-gateways/{Id}/tasks
@required {Id: str, WirelessGatewayTaskDefinitionId: str}
@returns(200) {WirelessGatewayTaskDefinitionId: str?, Status: str?}

@endgroup

@group wireless-gateway-task-definitions
@endpoint POST /wireless-gateway-task-definitions
@required {AutoCreateTasks: bool}
@optional {Name: str, Update: UpdateWirelessGatewayTaskCreate, ClientRequestToken: str, Tags: [Tag]}
@returns(200) {Id: str?, Arn: str?}

@endgroup

@group destinations
@endpoint DELETE /destinations/{Name}
@required {Name: str}

@endgroup

@group device-profiles
@endpoint DELETE /device-profiles/{Id}
@required {Id: str}

@endgroup

@group fuota-tasks
@endpoint DELETE /fuota-tasks/{Id}
@required {Id: str}

@endgroup

@group multicast-groups
@endpoint DELETE /multicast-groups/{Id}
@required {Id: str}

@endgroup

@group network-analyzer-configurations
@endpoint DELETE /network-analyzer-configurations/{ConfigurationName}
@required {ConfigurationName: str}

@endgroup

@group wireless-devices
@endpoint DELETE /wireless-devices/{Id}/data
@required {Id: str, messageId: str}
@optional {WirelessDeviceType: str}

@endgroup

@group service-profiles
@endpoint DELETE /service-profiles/{Id}
@required {Id: str}

@endgroup

@group wireless-devices
@endpoint DELETE /wireless-devices/{Id}
@required {Id: str}

@endgroup

@group wireless_device_import_task
@endpoint DELETE /wireless_device_import_task/{Id}
@required {Id: str}

@endgroup

@group wireless-gateways
@endpoint DELETE /wireless-gateways/{Id}
@required {Id: str}

@endpoint DELETE /wireless-gateways/{Id}/tasks
@required {Id: str}

@endgroup

@group wireless-gateway-task-definitions
@endpoint DELETE /wireless-gateway-task-definitions/{Id}
@required {Id: str}

@endgroup

@group wireless-devices
@endpoint PATCH /wireless-devices/{Identifier}/deregister
@required {Identifier: str}
@optional {WirelessDeviceType: str}

@endgroup

@group partner-accounts
@endpoint DELETE /partner-accounts/{PartnerAccountId}
@required {PartnerAccountId: str, partnerType: str}

@endgroup

@group fuota-tasks
@endpoint DELETE /fuota-tasks/{Id}/multicast-groups/{MulticastGroupId}
@required {Id: str, MulticastGroupId: str}

@endpoint DELETE /fuota-tasks/{Id}/wireless-devices/{WirelessDeviceId}
@required {Id: str, WirelessDeviceId: str}

@endgroup

@group multicast-groups
@endpoint DELETE /multicast-groups/{Id}/wireless-devices/{WirelessDeviceId}
@required {Id: str, WirelessDeviceId: str}

@endgroup

@group wireless-devices
@endpoint DELETE /wireless-devices/{Id}/thing
@required {Id: str}

@endgroup

@group wireless-gateways
@endpoint DELETE /wireless-gateways/{Id}/certificate
@required {Id: str}

@endpoint DELETE /wireless-gateways/{Id}/thing
@required {Id: str}

@endgroup

@group destinations
@endpoint GET /destinations/{Name}
@required {Name: str}
@returns(200) {Arn: str?, Name: str?, Expression: str?, ExpressionType: str?, Description: str?, RoleArn: str?}

@endgroup

@group device-profiles
@endpoint GET /device-profiles/{Id}
@required {Id: str}
@returns(200) {Arn: str?, Name: str?, Id: str?, LoRaWAN: LoRaWANDeviceProfile?{SupportsClassB: bool?, ClassBTimeout: int?, PingSlotPeriod: int?, PingSlotDr: int?, PingSlotFreq: int?, SupportsClassC: bool?, ClassCTimeout: int?, MacVersion: str?, RegParamsRevision: str?, RxDelay1: int?, RxDrOffset1: int?, RxDataRate2: int?, RxFreq2: int?, FactoryPresetFreqsList: [int]?, MaxEirp: int?, MaxDutyCycle: int?, RfRegion: str?, SupportsJoin: bool?, Supports32BitFCnt: bool?}, Sidewalk: SidewalkGetDeviceProfile?{ApplicationServerPublicKey: str?, QualificationStatus: bool?, DakCertificateMetadata: [DakCertificateMetadata]?}}

@endgroup

@group event-configurations-resource-types
@endpoint GET /event-configurations-resource-types
@returns(200) {DeviceRegistrationState: DeviceRegistrationStateResourceTypeEventConfiguration?{Sidewalk: SidewalkResourceTypeEventConfiguration?{WirelessDeviceEventTopic: str?}}, Proximity: ProximityResourceTypeEventConfiguration?{Sidewalk: SidewalkResourceTypeEventConfiguration?{WirelessDeviceEventTopic: str?}}, Join: JoinResourceTypeEventConfiguration?{LoRaWAN: LoRaWANJoinResourceTypeEventConfiguration?{WirelessDeviceEventTopic: str?}}, ConnectionStatus: ConnectionStatusResourceTypeEventConfiguration?{LoRaWAN: LoRaWANConnectionStatusResourceTypeEventConfiguration?{WirelessGatewayEventTopic: str?}}, MessageDeliveryStatus: MessageDeliveryStatusResourceTypeEventConfiguration?{Sidewalk: SidewalkResourceTypeEventConfiguration?{WirelessDeviceEventTopic: str?}}}

@endgroup

@group fuota-tasks
@endpoint GET /fuota-tasks/{Id}
@required {Id: str}
@returns(200) {Arn: str?, Id: str?, Status: str?, Name: str?, Description: str?, LoRaWAN: LoRaWANFuotaTaskGetInfo?{RfRegion: str?, StartTime: str(timestamp)?}, FirmwareUpdateImage: str?, FirmwareUpdateRole: str?, CreatedAt: str(timestamp)?, RedundancyPercent: int?, FragmentSizeBytes: int?, FragmentIntervalMS: int?}

@endgroup

@group log-levels
@endpoint GET /log-levels
@returns(200) {DefaultLogLevel: str?, WirelessGatewayLogOptions: [WirelessGatewayLogOption]?, WirelessDeviceLogOptions: [WirelessDeviceLogOption]?}

@endgroup

@group metric-configuration
@endpoint GET /metric-configuration
@returns(200) {SummaryMetric: SummaryMetricConfiguration?{Status: str?}}

@endgroup

@group metrics
@endpoint POST /metrics
@optional {SummaryMetricQueries: [SummaryMetricQuery]}
@returns(200) {SummaryMetricQueryResults: [SummaryMetricQueryResult]?}

@endgroup

@group multicast-groups
@endpoint GET /multicast-groups/{Id}
@required {Id: str}
@returns(200) {Arn: str?, Id: str?, Name: str?, Description: str?, Status: str?, LoRaWAN: LoRaWANMulticastGet?{RfRegion: str?, DlClass: str?, NumberOfDevicesRequested: int?, NumberOfDevicesInGroup: int?}, CreatedAt: str(timestamp)?}

@endpoint GET /multicast-groups/{Id}/session
@required {Id: str}
@returns(200) {LoRaWAN: LoRaWANMulticastSession?{DlDr: int?, DlFreq: int?, SessionStartTime: str(timestamp)?, SessionTimeout: int?, PingSlotPeriod: int?}}

@endgroup

@group network-analyzer-configurations
@endpoint GET /network-analyzer-configurations/{ConfigurationName}
@required {ConfigurationName: str}
@returns(200) {TraceContent: TraceContent?{WirelessDeviceFrameInfo: str?, LogLevel: str?, MulticastFrameInfo: str?}, WirelessDevices: [str]?, WirelessGateways: [str]?, Description: str?, Arn: str?, Name: str?, MulticastGroups: [str]?}

@endgroup

@group partner-accounts
@endpoint GET /partner-accounts/{PartnerAccountId}
@required {PartnerAccountId: str, partnerType: str}
@returns(200) {Sidewalk: SidewalkAccountInfoWithFingerprint?{AmazonId: str?, Fingerprint: str?, Arn: str?}, AccountLinked: bool?}

@endgroup

@group positions
@endpoint GET /positions/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str}
@returns(200) {Position: [num(f32)]?, Accuracy: Accuracy?{HorizontalAccuracy: num(f32)?, VerticalAccuracy: num(f32)?}, SolverType: str?, SolverProvider: str?, SolverVersion: str?, Timestamp: str?}

@endgroup

@group position-configurations
@endpoint GET /position-configurations/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str}
@returns(200) {Solvers: PositionSolverDetails?{SemtechGnss: SemtechGnssDetail?{Provider: str?, Type: str?, Status: str?, Fec: str?}}, Destination: str?}

@endgroup

@group position-estimate
@endpoint POST /position-estimate
@optional {WiFiAccessPoints: [WiFiAccessPoint], CellTowers: CellTowers, Ip: Ip, Gnss: Gnss, Timestamp: str(timestamp)}
@returns(200) {GeoJsonPayload: bytes?}

@endgroup

@group event-configurations
@endpoint GET /event-configurations/{Identifier}
@required {Identifier: str, identifierType: str}
@optional {partnerType: str}
@returns(200) {DeviceRegistrationState: DeviceRegistrationStateEventConfiguration?{Sidewalk: SidewalkEventNotificationConfigurations?{AmazonIdEventTopic: str?}, WirelessDeviceIdEventTopic: str?}, Proximity: ProximityEventConfiguration?{Sidewalk: SidewalkEventNotificationConfigurations?{AmazonIdEventTopic: str?}, WirelessDeviceIdEventTopic: str?}, Join: JoinEventConfiguration?{LoRaWAN: LoRaWANJoinEventNotificationConfigurations?{DevEuiEventTopic: str?}, WirelessDeviceIdEventTopic: str?}, ConnectionStatus: ConnectionStatusEventConfiguration?{LoRaWAN: LoRaWANConnectionStatusEventNotificationConfigurations?{GatewayEuiEventTopic: str?}, WirelessGatewayIdEventTopic: str?}, MessageDeliveryStatus: MessageDeliveryStatusEventConfiguration?{Sidewalk: SidewalkEventNotificationConfigurations?{AmazonIdEventTopic: str?}, WirelessDeviceIdEventTopic: str?}}

@endgroup

@group log-levels
@endpoint GET /log-levels/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str}
@returns(200) {LogLevel: str?}

@endgroup

@group resource-positions
@endpoint GET /resource-positions/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str}
@returns(200) {GeoJsonPayload: bytes?}

@endgroup

@group service-endpoint
@endpoint GET /service-endpoint
@optional {serviceType: str}
@returns(200) {ServiceType: str?, ServiceEndpoint: str?, ServerTrust: str?}

@endgroup

@group service-profiles
@endpoint GET /service-profiles/{Id}
@required {Id: str}
@returns(200) {Arn: str?, Name: str?, Id: str?, LoRaWAN: LoRaWANGetServiceProfileInfo?{UlRate: int?, UlBucketSize: int?, UlRatePolicy: str?, DlRate: int?, DlBucketSize: int?, DlRatePolicy: str?, AddGwMetadata: bool?, DevStatusReqFreq: int?, ReportDevStatusBattery: bool?, ReportDevStatusMargin: bool?, DrMin: int?, DrMax: int?, ChannelMask: str?, PrAllowed: bool?, HrAllowed: bool?, RaAllowed: bool?, NwkGeoLoc: bool?, TargetPer: int?, MinGwDiversity: int?}}

@endgroup

@group wireless-devices
@endpoint GET /wireless-devices/{Identifier}
@required {Identifier: str, identifierType: str}
@returns(200) {Type: str?, Name: str?, Description: str?, DestinationName: str?, Id: str?, Arn: str?, ThingName: str?, ThingArn: str?, LoRaWAN: LoRaWANDevice?{DevEui: str?, DeviceProfileId: str?, ServiceProfileId: str?, OtaaV1_1: OtaaV1_1?{AppKey: str?, NwkKey: str?, JoinEui: str?}, OtaaV1_0_x: OtaaV1_0_x?{AppKey: str?, AppEui: str?, JoinEui: str?, GenAppKey: str?}, AbpV1_1: AbpV1_1?{DevAddr: str?, SessionKeys: SessionKeysAbpV1_1?{FNwkSIntKey: str?, SNwkSIntKey: str?, NwkSEncKey: str?, AppSKey: str?}, FCntStart: int?}, AbpV1_0_x: AbpV1_0_x?{DevAddr: str?, SessionKeys: SessionKeysAbpV1_0_x?{NwkSKey: str?, AppSKey: str?}, FCntStart: int?}, FPorts: FPorts?{Fuota: int?, Multicast: int?, ClockSync: int?, Positioning: Positioning?{ClockSync: int?, Stream: int?, Gnss: int?}, Applications: [ApplicationConfig]?}}, Sidewalk: SidewalkDevice?{AmazonId: str?, SidewalkId: str?, SidewalkManufacturingSn: str?, DeviceCertificates: [CertificateList]?, PrivateKeys: [CertificateList]?, DeviceProfileId: str?, CertificateId: str?, Status: str?}, Positioning: str?}

@endgroup

@group wireless_device_import_task
@endpoint GET /wireless_device_import_task/{Id}
@required {Id: str}
@returns(200) {Id: str?, Arn: str?, DestinationName: str?, Sidewalk: SidewalkGetStartImportInfo?{DeviceCreationFileList: [str]?, Role: str?}, CreationTime: str(timestamp)?, Status: str?, StatusReason: str?, InitializedImportedDeviceCount: int(i64)?, PendingImportedDeviceCount: int(i64)?, OnboardedImportedDeviceCount: int(i64)?, FailedImportedDeviceCount: int(i64)?}

@endgroup

@group wireless-devices
@endpoint GET /wireless-devices/{Id}/statistics
@required {WirelessDeviceId: str}
@returns(200) {WirelessDeviceId: str?, LastUplinkReceivedAt: str?, LoRaWAN: LoRaWANDeviceMetadata?{DevEui: str?, FPort: int?, DataRate: int?, Frequency: int?, Timestamp: str?, Gateways: [LoRaWANGatewayMetadata]?, PublicGateways: [LoRaWANPublicGatewayMetadata]?}, Sidewalk: SidewalkDeviceMetadata?{Rssi: int?, BatteryLevel: str?, Event: str?, DeviceState: str?}}

@endgroup

@group wireless-gateways
@endpoint GET /wireless-gateways/{Identifier}
@required {Identifier: str, identifierType: str}
@returns(200) {Name: str?, Id: str?, Description: str?, LoRaWAN: LoRaWANGateway?{GatewayEui: str?, RfRegion: str?, JoinEuiFilters: [[str]]?, NetIdFilters: [str]?, SubBands: [int]?, Beaconing: Beaconing?{DataRate: int?, Frequencies: [int]?}, MaxEirp: num(f32)?}, Arn: str?, ThingName: str?, ThingArn: str?}

@endpoint GET /wireless-gateways/{Id}/certificate
@required {Id: str}
@returns(200) {IotCertificateId: str?, LoRaWANNetworkServerCertificateId: str?}

@endpoint GET /wireless-gateways/{Id}/firmware-information
@required {Id: str}
@returns(200) {LoRaWAN: LoRaWANGatewayCurrentVersion?{CurrentVersion: LoRaWANGatewayVersion?{PackageVersion: str?, Model: str?, Station: str?}}}

@endpoint GET /wireless-gateways/{Id}/statistics
@required {WirelessGatewayId: str}
@returns(200) {WirelessGatewayId: str?, LastUplinkReceivedAt: str?, ConnectionStatus: str?}

@endpoint GET /wireless-gateways/{Id}/tasks
@required {Id: str}
@returns(200) {WirelessGatewayId: str?, WirelessGatewayTaskDefinitionId: str?, LastUplinkReceivedAt: str?, TaskCreatedAt: str?, Status: str?}

@endgroup

@group wireless-gateway-task-definitions
@endpoint GET /wireless-gateway-task-definitions/{Id}
@required {Id: str}
@returns(200) {AutoCreateTasks: bool?, Name: str?, Update: UpdateWirelessGatewayTaskCreate?{UpdateDataSource: str?, UpdateDataRole: str?, LoRaWAN: LoRaWANUpdateGatewayTaskCreate?{UpdateSignature: str?, SigKeyCrc: int(i64)?, CurrentVersion: LoRaWANGatewayVersion?{PackageVersion: str?, Model: str?, Station: str?}, UpdateVersion: LoRaWANGatewayVersion?{PackageVersion: str?, Model: str?, Station: str?}}}, Arn: str?}

@endgroup

@group destinations
@endpoint GET /destinations
@optional {maxResults: int, nextToken: str}
@returns(200) {NextToken: str?, DestinationList: [Destinations]?}

@endgroup

@group device-profiles
@endpoint GET /device-profiles
@optional {nextToken: str, maxResults: int, deviceProfileType: str}
@returns(200) {NextToken: str?, DeviceProfileList: [DeviceProfile]?}

@endgroup

@group wireless_device_import_task
@endpoint GET /wireless_device_import_task
@required {id: str}
@optional {maxResults: int, nextToken: str, status: str}
@returns(200) {NextToken: str?, DestinationName: str?, ImportedWirelessDeviceList: [ImportedWirelessDevice]?}

@endgroup

@group event-configurations
@endpoint GET /event-configurations
@required {resourceType: str}
@optional {maxResults: int, nextToken: str}
@returns(200) {NextToken: str?, EventConfigurationsList: [EventConfigurationItem]?}

@endgroup

@group fuota-tasks
@endpoint GET /fuota-tasks
@optional {nextToken: str, maxResults: int}
@returns(200) {NextToken: str?, FuotaTaskList: [FuotaTask]?}

@endgroup

@group multicast-groups
@endpoint GET /multicast-groups
@optional {nextToken: str, maxResults: int}
@returns(200) {NextToken: str?, MulticastGroupList: [MulticastGroup]?}

@endgroup

@group fuota-tasks
@endpoint GET /fuota-tasks/{Id}/multicast-groups
@required {Id: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {NextToken: str?, MulticastGroupList: [MulticastGroupByFuotaTask]?}

@endgroup

@group network-analyzer-configurations
@endpoint GET /network-analyzer-configurations
@optional {maxResults: int, nextToken: str}
@returns(200) {NextToken: str?, NetworkAnalyzerConfigurationList: [NetworkAnalyzerConfigurations]?}

@endgroup

@group partner-accounts
@endpoint GET /partner-accounts
@optional {nextToken: str, maxResults: int}
@returns(200) {NextToken: str?, Sidewalk: [SidewalkAccountInfoWithFingerprint]?}

@endgroup

@group position-configurations
@endpoint GET /position-configurations
@optional {resourceType: str, maxResults: int, nextToken: str}
@returns(200) {PositionConfigurationList: [PositionConfigurationItem]?, NextToken: str?}

@endgroup

@group wireless-devices
@endpoint GET /wireless-devices/{Id}/data
@required {Id: str}
@optional {nextToken: str, maxResults: int, WirelessDeviceType: str}
@returns(200) {NextToken: str?, DownlinkQueueMessagesList: [DownlinkQueueMessage]?}

@endgroup

@group service-profiles
@endpoint GET /service-profiles
@optional {nextToken: str, maxResults: int}
@returns(200) {NextToken: str?, ServiceProfileList: [ServiceProfile]?}

@endgroup

@group tags
@endpoint GET /tags
@required {resourceArn: str}
@returns(200) {Tags: [Tag]?}

@endgroup

@group wireless_device_import_tasks
@endpoint GET /wireless_device_import_tasks
@optional {maxResults: int, nextToken: str}
@returns(200) {NextToken: str?, WirelessDeviceImportTaskList: [WirelessDeviceImportTask]?}

@endgroup

@group wireless-devices
@endpoint GET /wireless-devices
@optional {maxResults: int, nextToken: str, destinationName: str, deviceProfileId: str, serviceProfileId: str, wirelessDeviceType: str, fuotaTaskId: str, multicastGroupId: str}
@returns(200) {NextToken: str?, WirelessDeviceList: [WirelessDeviceStatistics]?}

@endgroup

@group wireless-gateway-task-definitions
@endpoint GET /wireless-gateway-task-definitions
@optional {maxResults: int, nextToken: str, taskDefinitionType: str}
@returns(200) {NextToken: str?, TaskDefinitions: [UpdateWirelessGatewayTaskEntry]?}

@endgroup

@group wireless-gateways
@endpoint GET /wireless-gateways
@optional {nextToken: str, maxResults: int}
@returns(200) {NextToken: str?, WirelessGatewayList: [WirelessGatewayStatistics]?}

@endgroup

@group position-configurations
@endpoint PUT /position-configurations/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str}
@optional {Solvers: PositionSolverConfigurations, Destination: str}

@endgroup

@group log-levels
@endpoint PUT /log-levels/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str, LogLevel: str}

@endpoint DELETE /log-levels

@endpoint DELETE /log-levels/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str}

@endgroup

@group multicast-groups
@endpoint POST /multicast-groups/{Id}/data
@required {Id: str, PayloadData: str, WirelessMetadata: MulticastWirelessMetadata}
@returns(200) {MessageId: str?}

@endgroup

@group wireless-devices
@endpoint POST /wireless-devices/{Id}/data
@required {Id: str, TransmitMode: int, PayloadData: str}
@optional {WirelessMetadata: WirelessMetadata}
@returns(200) {MessageId: str?}

@endgroup

@group multicast-groups
@endpoint PATCH /multicast-groups/{Id}/bulk
@required {Id: str}
@optional {QueryString: str, Tags: [Tag]}

@endpoint POST /multicast-groups/{Id}/bulk
@required {Id: str}
@optional {QueryString: str, Tags: [Tag]}

@endgroup

@group fuota-tasks
@endpoint PUT /fuota-tasks/{Id}
@required {Id: str}
@optional {LoRaWAN: LoRaWANStartFuotaTask}

@endgroup

@group multicast-groups
@endpoint PUT /multicast-groups/{Id}/session
@required {Id: str, LoRaWAN: LoRaWANMulticastSession}

@endgroup

@group wireless_single_device_import_task
@endpoint POST /wireless_single_device_import_task
@required {DestinationName: str, Sidewalk: SidewalkSingleStartImportInfo}
@optional {ClientRequestToken: str, DeviceName: str, Tags: [Tag]}
@returns(200) {Id: str?, Arn: str?}

@endgroup

@group wireless_device_import_task
@endpoint POST /wireless_device_import_task
@required {DestinationName: str, Sidewalk: SidewalkStartImportInfo}
@optional {ClientRequestToken: str, Tags: [Tag]}
@returns(200) {Id: str?, Arn: str?}

@endgroup

@group tags
@endpoint POST /tags
@required {resourceArn: str, Tags: [Tag]}

@endgroup

@group wireless-devices
@endpoint POST /wireless-devices/{Id}/test
@required {Id: str}
@returns(200) {Result: str?}

@endgroup

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

@endgroup

@group destinations
@endpoint PATCH /destinations/{Name}
@required {Name: str}
@optional {ExpressionType: str, Expression: str, Description: str, RoleArn: str}

@endgroup

@group event-configurations-resource-types
@endpoint PATCH /event-configurations-resource-types
@optional {DeviceRegistrationState: DeviceRegistrationStateResourceTypeEventConfiguration, Proximity: ProximityResourceTypeEventConfiguration, Join: JoinResourceTypeEventConfiguration, ConnectionStatus: ConnectionStatusResourceTypeEventConfiguration, MessageDeliveryStatus: MessageDeliveryStatusResourceTypeEventConfiguration}

@endgroup

@group fuota-tasks
@endpoint PATCH /fuota-tasks/{Id}
@required {Id: str}
@optional {Name: str, Description: str, LoRaWAN: LoRaWANFuotaTask, FirmwareUpdateImage: str, FirmwareUpdateRole: str, RedundancyPercent: int, FragmentSizeBytes: int, FragmentIntervalMS: int}

@endgroup

@group log-levels
@endpoint POST /log-levels
@optional {DefaultLogLevel: str, WirelessDeviceLogOptions: [WirelessDeviceLogOption], WirelessGatewayLogOptions: [WirelessGatewayLogOption]}

@endgroup

@group metric-configuration
@endpoint PUT /metric-configuration
@optional {SummaryMetric: SummaryMetricConfiguration}

@endgroup

@group multicast-groups
@endpoint PATCH /multicast-groups/{Id}
@required {Id: str}
@optional {Name: str, Description: str, LoRaWAN: LoRaWANMulticast}

@endgroup

@group network-analyzer-configurations
@endpoint PATCH /network-analyzer-configurations/{ConfigurationName}
@required {ConfigurationName: str}
@optional {TraceContent: TraceContent, WirelessDevicesToAdd: [str], WirelessDevicesToRemove: [str], WirelessGatewaysToAdd: [str], WirelessGatewaysToRemove: [str], Description: str, MulticastGroupsToAdd: [str], MulticastGroupsToRemove: [str]}

@endgroup

@group partner-accounts
@endpoint PATCH /partner-accounts/{PartnerAccountId}
@required {PartnerAccountId: str, partnerType: str, Sidewalk: SidewalkUpdateAccount}

@endgroup

@group positions
@endpoint PATCH /positions/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str, Position: [num(f32)]}

@endgroup

@group event-configurations
@endpoint PATCH /event-configurations/{Identifier}
@required {Identifier: str, identifierType: str}
@optional {partnerType: str, DeviceRegistrationState: DeviceRegistrationStateEventConfiguration, Proximity: ProximityEventConfiguration, Join: JoinEventConfiguration, ConnectionStatus: ConnectionStatusEventConfiguration, MessageDeliveryStatus: MessageDeliveryStatusEventConfiguration}

@endgroup

@group resource-positions
@endpoint PATCH /resource-positions/{ResourceIdentifier}
@required {ResourceIdentifier: str, resourceType: str}
@optional {GeoJsonPayload: bytes}

@endgroup

@group wireless-devices
@endpoint PATCH /wireless-devices/{Id}
@required {Id: str}
@optional {DestinationName: str, Name: str, Description: str, LoRaWAN: LoRaWANUpdateDevice, Positioning: str}

@endgroup

@group wireless_device_import_task
@endpoint PATCH /wireless_device_import_task/{Id}
@required {Id: str, Sidewalk: SidewalkUpdateImportInfo}

@endgroup

@group wireless-gateways
@endpoint PATCH /wireless-gateways/{Id}
@required {Id: str}
@optional {Name: str, Description: str, JoinEuiFilters: [[str]], NetIdFilters: [str], MaxEirp: num(f32)}

@endgroup

@end
