ChangeDeviceProfileState

Manage eUICC local profiles on devices, including downloading, enabling, disabling, and deleting profiles.

NOTE: This API method requires eUICC devices that can accept downloadable profiles.

Uses and Requirements

You can only change the profile state on one device at a time. The device must have been activated and have an assigned ICCID before you can download a local profile to it or make profile changes.

The ThingSpace Platform sends an asynchronous DeviceProfileService callback message when it receives a response from the SM-SR system about a profile state change. If a time-out situation occurs, such as when a device is unreachable, the initial callback will include a "warning" status, and a later response will indicate either success or failure.

Request Parameters

Parameter Type Description
DeviceList
required
DeviceIdentifierCollection

The EID and ICCID of the device for which you want to make a profile change.

You can use GetDeviceList to get a list of all devices in the account.

Use this structure of nested parameters:

<DeviceIdentifierCollection>
  <DeviceIndentifiers>
    <DeviceIdentifier>
      <Kind>eid</Kind>
      <Identifier>eid_value</Identifier>
    </DeviceIdentifier>
    <DeviceIdentifier>
      <Kind>iccid</Kind>
      <Identifier>iccid_value</Identifier>
    </DeviceIdentifier>
  </DeviceIndentifiers>
</DeviceIdentifierCollection>
Kind
required for DeviceList
string The type of the device identifier. Valid types of identifiers are:
  • EID (32 digits)
  • ICCID (up to 20 digits)
Identifier
required for DeviceList
string The value of the device identifier.
AccountName
required
string The name of a billing account. An account name is usually numeric, and must include any leading zeros.

DeviceProfileAction
required
string

The profile-related action that you want to take:

  • Download_Enable - Download a local profile to the device and enable the profile.
  • Download_Disable - Download a local profile to the device, but do not enable the profile.
  • Enable - Enable a previously downloaded local profile.
  • Disable - Disable the local profile. The device's default (boot) profile will become the active profile.
  • Delete - Remove the local profile from the device. If the local profile was enabled on a device, the device's default (boot) profile will become the enabled profile.
SmsrOid
required
string The Object ID of the SMSR system.

Response Parameters

Parameter Type Description
RequestId string A unique string that associates the request with the results that are sent via a callback service.

The ThingSpace Platform will send a separate callback message for each device that matched the request criteria, indicating whether the operation succeeded for that device and containing any requested information. All of the callback messages will have the same RequestId.

Callback Response Parameters

"euiccStatus":"EXECUTED_SUCCESS", "euiccStatusCode":"1.2.365", "euiccStatusDesc":"EUICC device profile has been updated",
Parameter Type Description
CallbackRequest CallbackRequest Wrapper element for all callback elements.
Username string The username defined when a URL was registered for the callback service, or an empty element if no username was defined.
Password string The password defined when a registered for the callback service, or an empty element if no password was defined.
RequestId string A unique string that matches the RequestId returned in the synchronous response to the original API request.

A separate callback message is sent for each device that matched the request criteria, indicating whether the operation succeeded for that device. All of the callback messages will have the same RequestId.

Device DeviceIdentifier An identifier of the device that was activated. This element may appear multiple times, for different types of device identifier.
Kind string The type of the device identifier. Valid types of identifiers are:
  • EID (32 digits)
  • ICCID (up to 20 digits)
  • IMEI (up to 15 digits)
  • MDN
  • MIN
  • MSISDN
Identifier string The value of the device identifier.
Data CallbackData The data elements for this callback.
CarrierService CarrierServiceCallbackRequest Null for this callback service.
ExternalProvisioningChange ExternalProvisioningChange Null for this callback service.
PromoChange PromoChange Null for this callback service.
SMSDelivery SMSDelivery Null for this callback service.
PRLInformation PRLInformation Null for this callback service.
DeviceService DeviceServiceCallbackRequest Null for this callback service.
GoToState GoToState Null for this callback service.
DeviceProfileService DeviceProfileServiceCallbackRequest The data returned from a DeviceProfileService API request.
ChangeDeviceProfileState ChangeDeviceProfileStateResponse Contains child elements for successful ChangeDeviceProfileState requests.
DeviceIdentifierCollection DeviceIdentifier The device identifiers for the device. All known identifiers that are assigned to the device are included in the callback.
Kind string The type of the device identifier. Valid types are:
  • EID (32 digits)
  • ICCID (up to 20 digits)
  • IMEI (up to 15 digits)
  • MDN
  • MIN
  • MSISDN
Identifier string The value of the device identifier.
IpAddress string The IP address of the activated device.
State string The current service state of the device.
ServicePlan string The service plan code that is assigned to the device.
DeviceCredential DeviceCredential
Username string
Password string
SmsrOid string The Object ID of the SMSR system.
ProfileStatus string

The status of the local profile on the device:

  • ENABLE
  • DISABLE
  • DOWNLOAD_ENABLE
  • DOWNLOAD_DISABLE
  • DELETE
euiccStatus string Overall status of the request, such as "EXECUTED_SUCCESS" or "EXECUTED_WITHWARNING" or "FAILED."
euiccStatusCode string Profile change status code.
euiccStatusDesc string Profile change status description, such as "EUICC device profile has been updated."
euiccSubAddressUpdateStatus string Subscription Address Update status, such as "EXECUTED_SUCCESS."
euiccSubAddressUpdateStatusCode string Subscription Address Update status code.
euiccSubAddressUpdateStatusDesc string Subscription Address Update description, such as "SUCCESS: Address has been updated."
EuiccErrorCode string Any error code returned by the eUICC provisioning system (SM-SR, SM-DP), otherwise null.
EuiccErrorDesc string The description of any error returned by the eUICC provisioning system (SM-SR, SM-DP), otherwise null.
Fault SoapFault Information about any errors that may have occurred.
faultcode QName
faultstring string
faultfactor anyURI
detail
Comment string Null for this callback service.
Summary SummaryReport Null for this callback service.
Status string The overall status of the profile change operation, Success, Warning, or Failed.
CallbackCount integer The number of times this callback message has been sent.
MaxCallbackThreshold integer The maximum number of times this callback message will be sent if it is not correctly acknowledged.

Example SOAP Request

<soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:v2="http://nphase.com/unifiedwebservice/v2" 
  xmlns:nph="http://schemas.datacontract.org/2004/07/NPhase.UnifiedWebService.APIs.v2.Contract.CarrierService" 
  xmlns:nph1="http://schemas.datacontract.org/2004/07/NPhase.UnifiedWebService.APIs.v2.Contract.Common" 
  xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
  <soapenv:Header>
    <v2:token>current_session_token</v2:token>
  </soapenv:Header>
  <soapenv:Body>
    <v2:ChangeDeviceProfileState>
      <v2:Input>
        <nph:DeviceList>
          <nph1:DeviceIdentifierCollection>
            <nph1:DeviceIdentifiers>
              <nph1:DeviceIdentifier>
                <nph1:Kind>eid</nph1:Kind> 
                <nph1:Identifier>12345678954357688412445678912398</nph1:Identifier>
              </nph1:DeviceIdentifier>
              <nph1:DeviceIdentifier>
                <nph1:Kind>iccid</nph1:Kind> 
                <nph1:Identifier>11245013879359100199</nph1:Identifier>
              </nph1:DeviceIdentifier>
            </nph1:DeviceIdentifiers>
          </nph1:DeviceIdentifierCollection>
        </nph:DeviceList>
        <nph:AccountName>1223334444</nph:AccountName>
        <nph:DeviceProfileAction>Download_Enable</nph:DeviceProfileAction>
        <nph:SmsrOid>634.32418.489196.513</nph:SmsrOid>
      </v2:Input>
    </v2:ChangeDeviceProfileState>
  </soapenv:Body>
</soapenv:Envelope>

Example SOAP Response

<ChangeDeviceProfileStateResponse xmlns="http://nphase.com/unifiedwebservice/v2">
  <Output xmlns:a="http://schemas.datacontract.org/2004/07NPhase.UnifiedWebService.APIs.v2.Contract.DeviceProfileService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <a:RequestId>2c90bd28-ece4-42ef-9f02-7e3bd4fbff33</a:RequestId>
  </Output>
</ChangeDeviceProfileStateResponse>

Example SOAP Callback

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <CallbackRequest xmlns="http://nphase.com/unifiedwebservice/v2">
      <Username/>
      <Password/>
      <RequestId>2c90bd28-ece4-42ef-9f02-7e3bd4fbff33</RequestId>
      <Device xmlns="http://nphase.com/unifiedwebservice/v2">
        <Kind>Iccid</Kind>
        <Identifier>11245013879359100199</Identifier>
      </Device>
      <Device xmlns="http://nphase.com/unifiedwebservice/v2">
        <Kind>Eid</Kind>
        <Identifier>123456789543576884124456789123</Identifier>
      </Device>
      <Data xmlns="http://nphase.com/unifiedwebservice/v2">
        <Data xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://nphase.com/unifiedwebservice/v2">
          <CarrierService xsi:nil="true" />
          <ExternalProvisioningChange xsi:nil="true" />
          <PromoChange xsi:nil="true" />
          <SMSDelivery xsi:nil="true" />
          <PRLInformation xsi:nil="true" />
          <DeviceService xsi:nil="true" />
          <GoToState xsi:nil="true" />
          <DeviceProfileService>
            <DownloadDeviceProfile xsi:nil="true" />
            <ChangeDeviceProfileState>
              <DeviceIdentifierCollection>
                <Kind>iccid</Kind>
                <Identifier>11245013879359100199</Identifier>
              </DeviceIdentifierCollection>
              <DeviceIdentifierCollection>
                <Kind>eid</Kind>
                <Identifier>12345678954357688412445678912398</Identifier>
              </DeviceIdentifierCollection>
              <IpAddress xsi:nil="true" />
              <State>Active</State>
              <ServicePlan xsi:nil="true" />
              <DeviceCredential />
              <SmsrOid>634.32418.489196.513<</SmsrOid>
              <ProfileStatus>DOWNLOAD_ENABLE</ProfileStatus>
              <updateSubAddressStatus>SUCCESS</updateSubAddressStatus>
              <updateSubAddressStatusCode>1</updateSubAddressStatusCode>
              <updateSubAddressStatusDesc>SUCCESS: Address has been updated</updateSubAddressStatusDesc>
              <EuiccErrorCode xsi:nil="true" />
              <EuiccErrorDesc xsi:nil="true" />
            </ChangeDeviceProfileState>
          </DeviceProfileService>
          <Fault xsi:nil="true" />
          <Comment xsi:nil="true" />
          <Summary xsi:nil="true" />
          <Status xsi:nil="true" />
          <CallbackCount>1</CallbackCount>
          <MaxCallbackThreshold>4</MaxCallbackThreshold>
          <ExtendedEnhancedConnectivityService xsi:nil="true" />
        </Data>
      </Data>
    </CallbackRequest>
  </s:Body>
</s:Envelope>

Request Schema Diagram

Response Schema Diagram