

AWS IoT FleetWise will no longer be open to new customers as of April 30, 2026. Existing AWS IoT FleetWise customers can continue using the service. The [Guidance for Connected Mobility on AWS](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/) provides guidance on how to develop and deploy modular services for connected mobility solutions that can be used to achieve equivalent capabilities as AWS IoT FleetWise.

# AWS IoT FleetWise API actions and resources reference
<a name="api-permissions-reference"></a>

When you're [Managing access using policies](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/security-iam.html#security_iam_access-manage) for an IAM identity, you can use the following table as a reference. The table lists each AWS IoT FleetWise API, the corresponding actions for which you can grant permissions to perform the action, and the AWS resource for which you can grant the permissions.

Specify the actions in the policy's `Action` field, and the resource value in the policy's `Resource` field. To specify an action, use the `iotfleetwise:` prefix followed by the action name. For example, `iotfleetwise:CreateSignalCatalog`.

Currently, AWS IoT FleetWise supports the following [Actions, resources, and condition keys](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html).

Use the scroll bar to see the rest of the table.


| AWS IoT FleetWise actions | Required permissions | Resources | 
| --- | --- | --- | 
| AssociateVehicleFleet | iotfleetwise:AssociateVehicleFleet |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id*  | 
| CreateCampaign | iotfleetwise:CreateCampaign |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:campaign/*campaign-name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id*  | 
| CreateDecoderManifest | iotfleetwise:CreateDecoderManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name*  | 
| CreateFleet | iotfleetwise:CreateFleet |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| CreateModelManifest | iotfleetwise:CreateModelManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| CreateSignalCatalog | iotfleetwise:CreateSignalCatalog |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| CreateStateTemplate | iotfleetwise:CreateStateTemplate |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:state-template/*state-template-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| CreateVehicle | iotfleetwise:CreateVehicle |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| BatchCreateVehicle | iotfleetwise:CreateVehicle |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| DeleteCampaign | iotfleetwise:DeleteCampaign |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:campaign/*campaign-name*  | 
| DeleteDecoderManifest | iotfleetwise:DeleteDecoderManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| DeleteFleet | iotfleetwise:DeleteFleet |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id*  | 
| DeleteModelManifest | iotfleetwise:DeleteModelManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| DeleteSignalCatalog | iotfleetwise:DeleteSignalCatalog |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| DeleteStateTemplate | iotfleetwise:DeleteStateTemplate |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:state-template/*state-template-id*  | 
| DeleteVehicle | iotfleetwise:DeleteVehicle |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id*  | 
| DisassociateVehicleFleet | iotfleetwise:DisassociateVehicleFleet |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id*  | 
| GetCampaign | iotfleetwise:GetCampaign |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:campaign/*campaign-name*  | 
| GetDecoderManifest | iotfleetwise:GetDecoderManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| GetEncryptionConfiguration | iotfleetwise:GetEncryptionConfiguration |  | 
| GetFleet | iotfleetwise:GetFleet |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id*  | 
| GetLoggingOptions | iotfleetwise:GetLoggingOptions |  | 
| GetModelManifest | iotfleetwise:GetModelManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name*  | 
| GetRegisterAccountStatus | iotfleetwise:GetRegisterAccountStatus |  | 
| GetSignalCatalog | iotfleetwise:GetSignalCatalog |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| GetStateTemplate | iotfleetwise:GetStateTemplate |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:state-template/*state-template-id*  | 
| GetVehicle | iotfleetwise:GetVehicle |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id*  | 
| GetVehicleStatus | iotfleetwise:GetVehicleStatus |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id*  | 
| ImportDecoderManifest | iotfleetwise:ImportDecoderManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| ImportSignalCatalog | iotfleetwise:ImportSignalCatalog |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| ListCampaigns | iotfleetwise:ListCampaigns |  | 
| ListDecoderManifestNetworkInterfaces | iotfleetwise:ListDecoderManifestNetworkInterfaces |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| ListDecoderManifests | iotfleetwise:ListDecoderManifests |  | 
| ListDecoderManifestSignals | iotfleetwise:ListDecoderManifestSignals |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| ListFleets | iotfleetwise:ListFleets |  | 
| ListFleetsForVehicle | iotfleetwise:ListFleetsForVehicle |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id*  | 
| ListModelManifestNodes | iotfleetwise:ListModelManifestNodes |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name*  | 
| ListModelManifests | iotfleetwise:ListModelManifests |  | 
| ListSignalCatalogNodes | iotfleetwise:ListSignalCatalogNodes |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| ListSignalCatalogs | iotfleetwise:ListSignalCatalogs |  | 
| ListStateTemplates | iotfleetwise:ListStateTemplates |  | 
| ListVehicles | iotfleetwise:ListVehicles |  | 
| ListVehiclesInFleet | iotfleetwise:ListVehiclesInFleet |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id*  | 
| ListTagsForResource | iotfleetwise:ListTagsForResource |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:campaign/*campaign-name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:state-template/*state-template-id*  | 
| PutEncryptionConfiguration | iotfleetwise:PutEncryptionConfiguration |  | 
| PutLoggingOptions | iotfleetwise:PutLoggingOptions |  | 
| RegisterAccount | iotfleetwise:RegisterAccount |  | 
| TagResource | iotfleetwise:TagResource |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:campaign/*campaign-name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:state-template/*state-template-id*  | 
| UntagResource | iotfleetwise:UntagResource |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:campaign/*campaign-name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:state-template/*state-template-id*  | 
| UpdateCampaign | iotfleetwise:UpdateCampaign |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:campaign/*campaign-name*  | 
| UpdateDecoderManifest | iotfleetwise:UpdateDecoderManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| UpdateFleet | iotfleetwise:UpdateFleet |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:fleet/*fleet-id*  | 
| UpdateModelManifest | iotfleetwise:UpdateModelManifest |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name*  | 
| UpdateSignalCatalog | iotfleetwise:UpdateSignalCatalog |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:signal-catalog/*name*  | 
| UpdateStateTemplate | iotfleetwise:UpdateStateTemplate |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:state-template/*state-template-id*  | 
| UpdateVehicle | iotfleetwise:UpdateVehicle |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 
| BatchUpdateVehicle | iotfleetwise:UpdateVehicle |  arn:*partition*:iotfleetwise:*region*:*account\$1id*:vehicle/*vehicle-id* arn:*partition*:iotfleetwise:*region*:*account\$1id*:model-manifest/*name* arn:*partition*:iotfleetwise:*region*:*account\$1id*:decoder-manifest/*name*  | 