How to update submission meta-data via API?


I am wondering how to update submission meta-data via the Central API. I am trying to make a button in my application, which changes reviewState to "approved" or "rejected". The Apiary section for updating this metadata is unfortunately written quite loosely:

Under the section "Updating Submission data", there is nothing written about changing the reviewState. Any ideas?


I believe this is a mistake in the docs. That sound right, @Matthew_White?

If you send a reviewState with one of the review states (approved, hasIssues, rejected), it will update the metadata. Here's a snippet that I've used in the past.

review_states = ["approved", "hasIssues", "rejected"]

review_submission_response = requests.patch(
    server_url + form_url + "/submissions/" + str(instance_id),
    data=json.dumps({"reviewState": review_states[2]}),
        "Content-Type": "application/json",
        "Authorization": "Bearer " + admin_token,


Thank you for the solution, your code is working like intended in my python program. Very helpful.