diff --git a/lib/rest_client.robot b/lib/rest_client.robot
index 83fb049..67170d9 100644
--- a/lib/rest_client.robot
+++ b/lib/rest_client.robot
@@ -178,13 +178,41 @@
     ${content}=     To Json    ${resp.content}
     [Return]    ${content["data"]}
 
+
 Write Attribute
-    [Arguments]    ${uri}      ${attr}    ${timeout}=10    &{kwargs}
-    ${base_uri}=    Catenate    SEPARATOR=    ${DBUS_PREFIX}    ${uri}
-    ${resp}=  openbmc put request  ${base_uri}/attr/${attr}
+    [Documentation]  Write a D-Bus attribute with REST.
+    [Arguments]  ${uri}  ${attr}  ${timeout}=10  ${verify}=${FALSE}
+    ...  ${expected_value}=${EMPTY}  &{kwargs}
+
+    # Description of argument(s):
+    # uri               URI of the object that the attribute lives on
+    #                   (e.g. '/xyz/openbmc_project/software/').
+    # attr              Name of the attribute (e.g. 'FieldModeEnabled').
+    # timeout           Timeout for the REST call.
+    # verify            If set to ${TRUE}, the attribute will be read back to
+    #                   ensure that its value is set to ${verify_attr}.
+    # expected_value    Only used if verify is set to ${TRUE}. The value that
+    #                   ${attr} should be set to. This defaults to
+    #                   ${kwargs['data']. There are cases where the caller
+    #                   expects some other value in which case this value can
+    #                   be explicitly specified.
+    # kwargs            Arguments passed to the REST call. This should always
+    #                   contain the value to set the property to at the 'data'
+    #                   key (e.g. data={"data": 1}).
+
+    ${base_uri}=  Catenate  SEPARATOR=  ${DBUS_PREFIX}  ${uri}
+    ${resp}=  Openbmc Put Request  ${base_uri}/attr/${attr}
     ...  timeout=${timeout}  &{kwargs}
-    should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json}=   to json         ${resp.content}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
+
+    # Verify the attribute was set correctly if the caller requested it.
+    Return From Keyword If  ${verify} == ${FALSE}
+
+    ${expected_value}=  Set Variable If  '${expected_value}' == '${EMPTY}'
+    ...  ${kwargs['data']['data']}
+    ${value}=  Read Attribute  ${uri}  ${attr}
+    Should Be Equal  ${value}  ${expected_value}
+
 
 Read Properties
     [Arguments]  ${uri}  ${timeout}=10  ${quiet}=${QUIET}
