POST Entries Assignees Status REST API v1

Description

Processes a status update for a specified assignee of the current step of the specified entry.

Authentication

For available methods to authenticate to the API, refer to our REST API v1 Authentication guide.

The capability gravityflow_create_steps is required to access this endpoint.

Using the Endpoint

POST /gravityformsapi/entries/{entry_id}/assignees/{assignee_key}

The {assignee_key} must be a URL-encoded string in the format {type}|{id}.

  • Example: user_id|1 → encoded as user_id%7c1.

Required Parameters

KeyTypeDescription
entry_idintegerThe ID of the entry.
assignee_keystringThe assignee key (URL-encoded).

Request Body

A JSON object containing a status element.

Example for an approval step.

{ "status": "approved" }

Example for a user input step.

{ "status": "complete" }

Response

A confirmation message indicating the update was successful.

Example Response

{
    "status": 200,
    "response": "Status updated successfully"
}

Usage

cURL Request

curl -X POST "https://{domain}/gravityformsapi/entries/{entry_id}/assignees/{assignee_key}?api_key={api_key}&signature={signature}&expires={timestamp}" \
  -H "Content-Type: application/json" \
  -d '{ "status": "approved" }'

PHP Request

$endpoint = 'https://{domain}/gravityformsapi/entries/{entry_id}/assignees/{assignee_key}?api_key={api_key}&signature={signature}&expires={timestamp}';
$args = [
    'headers' => [ 'Content-Type' => 'application/json' ],
    'body'    => json_encode( [ 'status' => 'approved' ] ),
    'method'  => 'POST',
];

$response = wp_remote_post( $endpoint, $args );

if ( ! is_wp_error( $response ) ) {
    if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
        $body = wp_remote_retrieve_body( $response );
        $result = json_decode( $body, true );
    } else {
        $error_message = wp_remote_retrieve_response_message( $response );
    }
} else {
    $error_message = $response->get_error_message();
}