asyncapi: 2.0.0 info: title: HMI Websocket API version: 1.0.0 description: This serves as the documentation for websocket connections made between the HMI and the gateway. servers: local: url: localhost/secret_mobile description: local protocol: wss development: url: dev-gw.cloud.fiskerinc.com/secret_mobile description: dev protocol: wss preproduction: url: gw.cloud.fiskerinc.com/secret_mobile description: preprod protocol: wss production: url: gw.cec-prd.fiskerinc.com/secret_mobile description: prod protocol: wss production-eu: url: gw.cec-euprd.fiskerinc.com/secret_mobile description: prod-eu protocol: wss channels: Verify: publish: message: $ref: '#/components/messages/Verify' subscribe: message: $ref: '#/components/messages/VerifyResponse' SessionId: subscribe: message: $ref: '#/components/messages/SessionId' MapDestination: subscribe: message: $ref: '#/components/messages/MapDestinationSource' MapRoute: subscribe: message: $ref: '#/components/messages/MapRouteSource' Profiles: publish: message: $ref: '#/components/messages/Profiles' subscribe: message: $ref: '#/components/messages/ProfilesResponse' ProfileNew: subscribe: message: $ref: '#/components/messages/ProfileNew' ProfileUpdate: subscribe: message: $ref: '#/components/messages/ProfileUpdate' ProfileDelete: subscribe: message: $ref: '#/components/messages/ProfileDelete' SettingsUpdate: publish: message: $ref: '#/components/messages/SettingsUpdate' subscribe: message: $ref: '#/components/messages/SettingsUpdateNotification' SubscriptionsUpdate: subscribe: message: $ref: '#/components/messages/SubscriptionsUpdate' UpdateManifest: subscribe: message: $ref: '#/components/messages/UpdateManifest' UpdateApprove: publish: message: $ref: '#/components/messages/UpdateApprove' CarUpdate: subscribe: message: $ref: '#/components/messages/CarUpdate' Error: subscribe: message: $ref: '#/components/messages/Error' components: messages: Verify: description: Sent by the HMI to authenticate itself with the cloud. Fields vary depending on whether the HMI already has a driver profile. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "verify" const: verify data: $ref: './schema/hmi/TXMessage.json#/$defs/VerifyModel' VerifyResponse: description: Received by the HMI after sending Verify. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "verify" const: verify data: $ref: './schema/hmi/RXMessage.json#/$defs/VerifyResponseModel' SessionId: description: Provides a session ID unique to the HMI. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "session_id" const: session_id data: $ref: './schema/hmi/RXMessage.json#/$defs/SessionIdModel' MapDestinationSource: description: Provides map destination to the HMI sent from mobile. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "map_destination" const: map_destination data: $ref: './schema/hmi/RXMessage.json#/$defs/MapDestinationSourceModel' MapRouteSource: description: Provides map route to the HMI sent from mobile. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "map_route" const: map_route data: $ref: './schema/hmi/RXMessage.json#/$defs/MapRouteSourceModel' Profiles: description: Prompts the cloud to send down all driver profiles on the car. payload: type: object required: - handler properties: handler: type: string description: expects the string "profiles" const: profiles ProfilesResponse: description: Provides an updated version of all driver profiles on the car. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "profiles" const: profiles data: type: array description: stores data for response items: $ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverModel' ProfileNew: description: Provides a single driver profile to be added on the car. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "profile_new" const: profile_new data: $ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverModel' ProfileUpdate: description: Provides an updated version of a single driver profile on the car. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "profile_update" const: profile_update data: $ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverUpdateModel' ProfileDelete: description: Describes the driver profile to remove from HMI. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "profile_delete" const: profile_delete data: $ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverDeleteModel' SettingsUpdate: description: Notifies the cloud of a change in settings on the HMI. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "settings_update" const: settings_update data: $ref: './schema/hmi/TXMessage.json#/$defs/SettingsUpdateModel' SettingsUpdateNotification: description: Notifies the HMI of a change in settings. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "settings_update" const: settings_update data: $ref: './schema/hmi/RXMessage.json#/$defs/SettingsUpdateModel' SubscriptionsUpdate: description: Notifies the HMI of a change in a subscription. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "subscriptions_update" const: subscriptions_update data: $ref: './schema/hmi/RXMessage.json#/$defs/SubscriptionsUpdateModel' UpdateManifest: description: Provides a summary of an OTA update event. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "update_manifest" const: update_manifest data: $ref: './schema/hmi/RXMessage.json#/$defs/UpdateManifest' UpdateApprove: description: Notifies the cloud that an update has been approved and can be downloaded. payload: type: object required: - handler properties: handler: type: string description: expects the string "update_approve" const: update_approve CarUpdate: description: Provides a status update on a specific car update. payload: type: object required: - handler - data properties: handler: type: string description: expects the string "car_update" const: car_update data: $ref: './schema/hmi/RXMessage.json#/$defs/UpdateProgressModel' Error: description: Generic error message payload: type: object required: - handler - data properties: handler: type: string description: expects the string "error" const: error data: $ref: './schema/hmi/RXMessage.json#/$defs/ErrorModel'