diff --git a/robot/resources/mr_interface.robot b/robot/resources/mr_interface.robot
index 29e9dd3..0c194c1 100644
--- a/robot/resources/mr_interface.robot
+++ b/robot/resources/mr_interface.robot
@@ -1,17 +1,24 @@
 *** Settings ***
 Documentation     The main interface for interacting with Message router. It handles low level stuff like managing the http request library and message router required fields
 Library           RequestsClientCert
-Library               RequestsLibrary
+Library           RequestsLibrary
 Library           UUID
+Library           DateTime
+Library           Process
+Library           JSONUtils
 
 Resource          global_properties.robot
+Resource          ../resources/json_templater.robot
 
 *** Variables ***
 ${MR_HEALTH_CHECK_PATH}        /topics
 ${MR_PUB_HEALTH_CHECK_PATH}        /events/TEST_TOPIC
 ${MR_SUB_HEALTH_CHECK_PATH}        /events/TEST_TOPIC/g1/c4?timeout=5000
+${MR_CREATE_TOPIC_PATH}        /topics/create
+${MR_UPDATE_ACL_TOPIC_PATH}        /topics/TEST_TOPIC_ACL/producers
 ${MR_ENDPOINT}     ${GLOBAL_MR_SERVER_PROTOCOL}://${GLOBAL_INJECTED_MR_IP_ADDR}:${GLOBAL_MR_SERVER_PORT}
 ${MR_PUBLISH_TEMPLATE}     robot/assets/templates/mr_publish.template
+${MR_PUT_ACL_TEMPLATE}    robot/assets/templates/mr_put_acl.template
 
 
 *** Keywords ***
@@ -37,6 +44,58 @@
      Should Be Equal As Strings         ${resp.status_code}     200
      Should Contain    ${resp.json()[0]}    timestamp    Failed to Read Data
 
+
+Run MR Update Topic Acl
+     [Documentation]    Runs MR create topic and update producer credentials
+     #
+     #   Testing to Delete a Topic:
+     #           /opt/kafka/bin/kafka-topics.sh --zookeeper message-router-zookeeper:2181 --delete --topic <topic_name>
+     #           /opt/kafka/bin/kafka-topics.sh --zookeeper message-router-zookeeper:2181 --delete --topic TEST_TOPIC_ACL
+     #
+     #   Appears to not care if topic already exists with the POST / PUT method
+     #
+     ${dict}=    Create Dictionary    TOPIC_NAME=TEST_TOPIC_ACL
+     ${data}=   Fill JSON Template File    ${MR_PUT_ACL_TEMPLATE}    ${dict}
+     #Log To Console    ${\n}Create TEST_TOPIC_ACL
+     ${resp}=    Run MR Auth Post Request    ${MR_CREATE_TOPIC_PATH}   iPIxkpAMI8qTcQj8  Ehq3WyT4bkif4zwgEbvshGal   ${data}
+     #Log To Console    Update Owner for TEST_TOPIC_ACL
+     ${resp}=    Run MR Auth Put Request    ${MR_UPDATE_ACL_TOPIC_PATH}/iPIxkpAMI8qTcQj8  iPIxkpAMI8qTcQj8    Ehq3WyT4bkif4zwgEbvshGal    ${data}
+     Should Be Equal As Strings         ${resp.status_code}     200
+
+Run MR Auth Post Request
+     [Documentation]    Runs MR Authenticated Post Request
+     [Arguments]     ${data_path}     ${id_key}   ${secret_key}    ${data}
+     ${current_time}=   Get Time
+     ${time}=    Evaluate    datetime.datetime.today().replace(tzinfo=pytz.UTC).replace(microsecond=0).isoformat()    modules=datetime,pytz
+     ${command}=  Set Variable    /bin/echo -n "${time}" | /usr/bin/openssl sha1 -hmac "${secret_key}" -binary | /usr/bin/openssl base64
+     ${result}=    Run Process    ${command}   shell=True
+     ${signature}=   Set Variable    ${result.stdout}
+     ${xAuth}=    Set Variable    ${id_key}:${signature}
+     ${headers}=  Create Dictionary     Content-Type=application/json    X-CambriaAuth=${xAuth}    X-CambriaDate=${time}
+     ${session}=    Create Session      mr      ${MR_ENDPOINT}
+     ${resp}=   Post Request     mr      ${data_path}     headers=${headers}   data=${data}
+     ${status_string}=    Convert To String    ${resp.status_code}
+     Should Match Regexp    ${status_string}    ^(204|200)$
+     Log    Received response from message router ${resp.text}
+     [Return]    ${resp}
+
+
+Run MR Auth Put Request
+     [Documentation]    Runs MR Authenticated Put Request
+     [Arguments]     ${data_path}     ${id_key}   ${secret_key}    ${data}
+     ${current_time}=   Get Time
+     ${time}=    Evaluate    datetime.datetime.today().replace(tzinfo=pytz.UTC).replace(microsecond=0).isoformat()    modules=datetime,pytz
+     ${command}=  Set Variable    /bin/echo -n "${time}" | /usr/bin/openssl sha1 -hmac "${secret_key}" -binary | /usr/bin/openssl base64
+     ${result}=    Run Process    ${command}   shell=True
+     ${signature}=   Set Variable    ${result.stdout}
+     ${xAuth}=    Set Variable    ${id_key}:${signature}
+     ${headers}=  Create Dictionary     Content-Type=application/json    X-CambriaAuth=${xAuth}    X-CambriaDate=${time}
+     ${session}=    Create Session      mr      ${MR_ENDPOINT}
+     ${resp}=   Put Request     mr      ${data_path}     headers=${headers}   data=${data}
+     Should Be Equal As Strings         ${resp.status_code}     200
+     Log    Received response from message router ${resp.text}
+     [Return]    ${resp}
+
 Run MR Get Request
      [Documentation]    Runs MR Get request
      [Arguments]    ${data_path}
