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
| Key | Type | Description |
|---|---|---|
| entry_id | integer | The ID of the entry. |
| assignee_key | string | The 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();
}