---
title: "Update a specific action"
description: "PUT /actions/{action_id} — Updates an action. contact_id cannot be changed. Changing status between asap, date, date_time, waiting and queued moves the action between stream groups."
canonical_url: https://developer.onepagecrm.com/api/reference/actions/put-actions-action_id/
source: Markdown mirror of https://developer.onepagecrm.com/api/reference/actions/put-actions-action_id/
---

`PUT /actions/{action_id}`

Updates an action. contact_id cannot be changed. Changing status between asap, date, date_time, waiting and queued moves the action between stream groups.

Resource: [Actions](https://developer.onepagecrm.com/api/reference/actions/) · [API Reference](https://developer.onepagecrm.com/api/reference/)

## Request

```bash
curl -X PUT "https://app.onepagecrm.com/api/v3/actions/{action_id}" \
  -u $user_id:$api_key \
  -H "Content-Type: application/json" \
  -d '{
    "contact_id": "5aba31ea9007ba0f570c92d4",
    "assignee_id": "5aaa9b009007ba08c9ebaef7",
    "status": "date_time",
    "text": "#1 Email Jane introducing our organization",
    "date": "2018-05-16",
    "exact_time": 1526472000,
    "position": 1
  }'
```

Authentication is HTTP Basic — `user_id` as username, `api_key` as password.
See https://developer.onepagecrm.com/api/authentication/.

## Path parameters

| Name | Type | Description |
| --- | --- | --- |
| `action_id` | string | Action ID |

## Query parameters

| Name | Type | Description |
| --- | --- | --- |
| `done` | boolean | Mark the action as complete |

## Request body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contact_id` | string (bson-id) |  | ID of the contact, with whom the action is associated |
| `assignee_id` | string (bson-id) |  | ID of the user, to whom the action is assigned. Defaults to the logged API user's ID. |
| `status` | string |  | Status of the action |
| `text` | string |  | The main text/description of the action |
| `date` | string (date) |  | Due date for the action (status must be one of `date`, `date_time` or `queued_with_date`). Defaults to today's date. |
| `exact_time` | integer (unix-timestamp) |  | The UNIX Epoch time in seconds the action is due (status must be `date_time`) |
| `position` | integer (int32) |  | The position of the action (in the list of queued actions) |

## Responses

### 200

OK

```json
{
  "status": 0,
  "message": "OK",
  "timestamp": 1528373119,
  "data": {
    "action": {
      "id": "5aeac8789007ba56ffca92b9",
      "assignee_id": "5aaa9b009007ba08c9ebaef7",
      "contact_id": "5aba31ea9007ba0f570c92d4",
      "text": "#1 Email Jane introducing our organization",
      "status": "date_time",
      "date": "2018-05-16",
      "exact_time": 1526472000,
      "position": 1,
      "done": false,
      "done_at": "2018-05-16",
      "created_at": "2018-05-16T11:52:09Z",
      "modified_at": "2018-05-16T12:52:09Z"
    }
  }
}
```

Standard error responses: 400, 401, 403, 404, 409, 500 — shared across the API. See https://developer.onepagecrm.com/api/errors/.

## Related guides

- [Authentication](https://developer.onepagecrm.com/api/authentication/)
- [Errors](https://developer.onepagecrm.com/api/errors/)
- [Rate limits](https://developer.onepagecrm.com/api/rate-limits/)
- [Partial updates](https://developer.onepagecrm.com/api/partial-updates/)
