---
title: "Create a participant"
method: POST
path: "/contracts/{contract_id}/parties/{party_id}/participants"
tags: ["Contract - Parties and Participants"]
---

# Create a participant

`POST /contracts/{contract_id}/parties/{party_id}/participants`

Use this endpoint to add a new participant to an existing contract party.

## Path parameters

- `contract_id` integer, required
- `party_id` integer, required

## Headers

- `x-oneflow-api-token` string, required
- `x-oneflow-user-email` string, email, required

## Request body

- object — The person who represents in a contract, see [Participant](https://developer.oneflow.com/docs/participant).
  - `_options` object — Defines options for the participant on the contract. See [Options](https://developer.oneflow.com/docs/participant#options).
    - `invite` boolean — Whether send an invitation to the participant or not.
    - `message` object, nullable — Defines the subject and body of the invitation. If this object is `null` and the `invite` is `true`, then the default subject and message will be sent.
      - `body` string, required — Body of the message to be sent along with the invitation.
      - `subject` string, required — Subject of the message when sending the invitation to the participant.
  - `_permissions` object — Defines permissions for the participant on the contract.
    - `contract:update` boolean, required — If set to <b>true</b>, the participant is allowed to update the contract.
  - `_private_ownerside` object — Contract participant attributes that are private to the ownerside.
    - `custom_id` string, nullable
  - `delivery_channel` 'email' | 'sms' | 'email_and_sms' | 'same_device' | 'none' | 'unknown', required — One of the contract [delivery channels](contract#delivery-channels).
  - `email` string, email — The participant's email. An email is required in case of an owner-side participant or if the delivery channel is `email`.
  - `identification_number` string — The social security number of the participant.
  - `name` string, required — The participant's name.
  - `organizer` boolean — If <b>true</b>, the participant is the organizer of the contract(organizer should be an owner-side participant).
  - `phone_number` string, nullable — The participant's phone number. If the delivery channel is `phone number`, then the participant's phone number is required.
  - `sign_method` 'standard_esign' | 'sms' | 'swedish_bankid' | 'norwegian_bankid' | 'danish_mitid' | 'finnish_bankid' | 'handwritten_signature' | 'eid_sign' — One of the [sign methods](contract#sign-methods).
  - `signatory` boolean — If <b>true</b>, the participant can sign the contract.
  - `title` string — The title of the participant.
  - `two_step_authentication_method` 'email' | 'sms' | 'personal_identification' | 'none' | 'unknown' — One of the [two step authentication methods](contract#two-step-authentication-methods).
  - `type` 'colleague' | 'former_colleague' — Whether an ownerside participant is a colleague or a former colleague. Set this to <b>former_colleague</b> only when creating a former colleague participant.

## Response `200`

Returns the created participant

- object — See [Participant](https://developer.oneflow.com/docs/participant).
  - `_links` object — Links to related endpoints.
    - `comments` object
      - `href` string, nullable
    - `contracts` object
      - `href` string, nullable
    - `contract` object
      - `href` string, nullable
    - `create` object
      - `href` string, nullable
    - `data_field` object
      - `href` string, nullable
    - `data_fields` object
      - `href` string, nullable
    - `events` object
      - `href` string, nullable
    - `event` object
      - `href` string, nullable
    - `files` object
      - `href` string, nullable
    - `file` object
      - `href` string, nullable
    - `next` object
      - `href` string, nullable
    - `parties` object
      - `href` string, nullable
    - `party` object
      - `href` string, nullable
    - `previous` object
      - `href` string, nullable
    - `publish` object
      - `href` string, nullable
    - `self` object
      - `href` string, nullable
    - `template_types` object
      - `href` string, nullable
    - `template_type` object
      - `href` string, nullable
    - `template` object
      - `href` string, nullable
    - `templates` object
      - `href` string, nullable
    - `workspaces` object
      - `href` string, nullable
    - `workspace` object
      - `href` string, nullable
    - `playbooks` object
      - `href` string, nullable
  - `_permissions` object, required — This attribute contains the permissions for the participant/creator on the contract.
    - `contract:update` boolean, required
  - `_private_ownerside` object, nullable, required — Participant data that is private to the ownerside.
    - `created_time` string, datetime, required
    - `custom_id` string, nullable, required
    - `first_visited_time` string, datetime, nullable, required
    - `last_visited_time` string, datetime, nullable, required
    - `updated_time` string, datetime, nullable, required
    - `visits` integer, required
  - `delivery_channel` 'email' | 'sms' | 'email_and_sms' | 'same_device' | 'none' | 'unknown', required — One of the contract [delivery channels](contract#delivery-channels).
  - `delivery_status` 'not_sent' | 'pending' | 'failure' | 'bounce' | 'success' | 'opened' | 'unknown', required — One of the contract [delivery status](contract-participant#delivery-status).
  - `draft_approver` boolean — A flag to indicate if the participant is a draft approver.
  - `email` string, email, required
  - `id` integer, required
  - `identification_number` string, required
  - `my_participant` boolean, required
  - `name` string, nullable, required
  - `organizer` boolean, required — A flag to indicate if the participant is an organizer combined with the permissions.
  - `pending_approver` boolean — A flag to indicate if the participant is a pending approver.
  - `phone_number` string, nullable, required
  - `sign_method` 'standard_esign' | 'sms' | 'swedish_bankid' | 'norwegian_bankid' | 'danish_mitid' | 'finnish_bankid' | 'handwritten_signature' | 'eid_sign' | 'unknown', required — One of the [sign methods](contract#sign-methods).
  - `sign_state` 'undecided' | 'signed' | 'declined' | 'unknown', required — One of the [sign states](contract-participant#sign-state).
  - `sign_state_updated_time` string, datetime, nullable, required
  - `signatory` boolean, required — A flag to indicate if the participant is an signatory combined with the permissions.
  - `title` string, required
  - `two_step_authentication_method` 'email' | 'sms' | 'personal_identification' | 'none' | 'unknown', required — One of the [two step authentication methods](contract#two-step-authentication-methods).

## Other responses

- `400` — Invalid format or content of the request.
- `401` — The API token or the user email is invalid.
- `404` — A required entity is missing.
- `409` — A conflict occurred with the current state of the target resource.

---

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