<!-- Source: https://docs.vinsi.ai/api-docs/crm-activity-create -->
# Create Activity

Create a CRM activity. subject and description are required. Defaults: priority Low, type Incident, source Portal, status Open. The requester is the user who owns the API key. dueBy accepts any date string; a year other than the current one is replaced with the current year and an unparseable value is ignored. tags is an array of strings. When assignedToId is set the assignee receives an assignment email. Responds 201 with the activity and its related records.

```http
POST https://dashboard.vinsi.ai/api/crm/activities
```

## Authentication

Send your API key in the `x-api-key` header. Create keys in the VINSI dashboard under Settings → API Keys.

## Headers

| Name | Type | Required |
|---|---|---|
| Content-Type | string | yes (application/json) |
| x-api-key | string | yes |

## Example request body

```json
{
  "subject": "Follow up on pricing question",
  "description": "Customer asked for pricing on the annual plan. Send a quote.",
  "priority": "Medium",
  "type": "Task",
  "source": "Portal",
  "dueBy": "2026-09-18T17:00:00.000Z",
  "assignedToId": "cmexampleuser0000000000002",
  "tags": [
    "pricing"
  ],
  "contactId": 1042,
  "companyId": 318,
  "dealId": 77
}
```

## Example request

```bash
curl -X POST 'https://dashboard.vinsi.ai/api/crm/activities' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"subject":"Follow up on pricing question","description":"Customer asked for pricing on the annual plan. Send a quote.","priority":"Medium","type":"Task","source":"Portal","dueBy":"2026-09-18T17:00:00.000Z","assignedToId":"cmexampleuser0000000000002","tags":["pricing"],"contactId":1042,"companyId":318,"dealId":77}'
```

## Example response

```json
{
  "id": 5120,
  "activityNumber": "ACT-00128-K3F9",
  "subject": "Follow up on pricing question",
  "description": "Customer asked for pricing on the annual plan. Send a quote.",
  "status": "Open",
  "priority": "Medium",
  "type": "Task",
  "source": "Portal",
  "dueBy": "2026-09-18T17:00:00.000Z",
  "organizationId": "cmexampleorg00000000000001",
  "requesterId": "cmexampleuser0000000000001",
  "assignedToId": "cmexampleuser0000000000002",
  "departmentId": null,
  "groupId": null,
  "tags": "[\"pricing\"]",
  "customFields": "{}",
  "contactId": 1042,
  "companyId": 318,
  "dealId": 77,
  "engagementId": null,
  "closedAt": null,
  "resolvedAt": null,
  "firstResponseAt": null,
  "lastDueReminderAt": null,
  "createdAt": "2026-09-15T20:11:05.000Z",
  "updatedAt": "2026-09-15T20:11:05.000Z",
  "Requester": {
    "id": "cmexampleuser0000000000001",
    "firstName": "Jane",
    "lastName": "Doe",
    "email": "jane.doe@example.com"
  },
  "AssignedTo": {
    "id": "cmexampleuser0000000000002",
    "firstName": "Sam",
    "lastName": "Rivera",
    "email": "sam.rivera@example.com"
  },
  "Department": null,
  "Group": null,
  "Contact": {
    "id": 1042,
    "firstName": "Alex",
    "lastName": "Morgan",
    "email": "alex.morgan@example.com",
    "phone": "+15555550142"
  },
  "Company": {
    "id": 318,
    "name": "Acme Dental"
  }
}
```

