---
title: "Creates a portal task"
method: POST
path: "/matters/{matterId}/portal/tasks"
tags: ["Portal"]
---

# Creates a portal task

`POST /matters/{matterId}/portal/tasks`

Creates a new client portal task associated with the specified matter.

## Path parameters

- `matterId` string, uuid, required

## Request body

- PortalTaskDto
  - `contactId` string, uuid, nullable — Unique identifier of the contact.
  - `email` string, nullable — Email address of the contact. If provided, this takes precedence over ContactId.
  - `externalUserId` string, required — The optional external user identifier of the external system.
  - `title` string, required — The title of the task to be displayed in the UI.
  - `url` string, required — The URL that will be displayed within the task content.
  - `requireMFA` boolean — Whether MFA is required before showing the task content.
  - `optional` boolean — Whether the task is "Required" or "Optional". Optional tasks appear in a separate section in the UI.
  - `actionText` string, nullable — Optional action text, a single word to describe the action the task relates to. Defaults to "Complete", but other examples could be "Sign" or "Review".
  - `completedText` string, nullable — Optional completed text, used on the task success screen if provided.
  - `completedUrl` string, nullable — Optional completed URL, which is a URL that is loaded in the task content body instead of the default success screen if provided. This option overrides CompletedText if provided.

## Response `202`

When request is accepted. Returns the id of the task to be created.

## Other responses

- `400` — When an unsupported request is made.
- `403` — When the authenticated account does not have access to the matter.
- `404` — When matter with specified id does not exist.

---

[API](https://skmtc.net/smokeball/apis/api.md) · [All operations](https://skmtc.net/smokeball/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smokeball/api/revisions/ffc7fffa0d5c/schema)
