Using a dictionary template for consistent response structure from an API
There is no need to use deepcopy here. Just have a function that returns a new object when you need it. And while you're at it, just make the message and the result parameters of that function. Or even all of them:

def json_response(message, result, status="ok", code=0, error=False):
    return {
        "status" : status,
        "code" : code,
        "error" : error,
        "message" : message,
        "result" : result
    }

@route('/example')
def example():
    result = {
        "title" : "Test Title",
        "body" : "&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;"
    }
    return json_response("Success", result)


Having all as parameters, but with default values, allows you to do this in the future:

json_response("Failure", None, status="fail", code=404, error=True)


In the end it depends on how often you need to use this template whether or not this is better than just directly returning the dictionary explicitly:

@route('/example')
def example():
    return {
        "status" : "ok",
        "code" : 0,
        "error" : False,
        "message" : "Success",
        "result" : {
            "title" : "Test Title",
            "body" : "&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;"
        }
    }