---
title: "Start draft approval workflow of a contract"
method: POST
path: "/contracts/{contract_id}/draft_approval_workflow/start"
tags: ["Contract"]
---

# Start draft approval workflow of a contract

`POST /contracts/{contract_id}/draft_approval_workflow/start`

Use this endpoint to initiate the draft approval workflow of a contract.

## Path parameters

- `contract_id` integer, required

## Headers

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

## Request body

- object — Request body for draft approval workflow start.
  - `auto_publish` boolean, required — If <b>true</b>, the draft contract will be published automatically after draft approval.
  - `subject` string — Subject of the message for sending invitation for the contract.
  - `message` string — Message to be sent along with the invitation for the contract.

## Response `200`

Returns the draft approval contract response.

- object — See [Contract](https://developer.oneflow.com/docs/contract).
  - `_permissions` object, required — This attribute contains the permissions for various operations possible on the contract. The format of the permission is 'contract:' followed by the specific operation, like 'contract:create.'
    - `contract:delete` boolean, required
    - `contract:download:pdf` boolean, required
    - `contract:send` boolean, required
  - `_integration_permissions` object[] — A list of integration specific permissions. This exists only for specific integration tokens
    - `key` string, required
    - `value` string, required
  - `auto_publish` boolean — A flag to indicate if the contract will be published automatically after draft approval.
  - `draft_approval_workflow` object, nullable — Draft approval work flow details.
    - `status` string, nullable
  - `id` integer, required
  - `parties` union[], required — The parties involved in this contract.
    - union
      - object — An individual party, where a single participant is signing on behalf of him- or herself. See [Individual party](https://developer.oneflow.com/docs/party#individual)
        - `_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
        - `_private_ownerside` object, nullable, required — Party data that is private to the ownerside.
          - `created_time` string, datetime, required
          - `custom_id` string, nullable, required
          - `updated_time` string, datetime, nullable, required
        - `country_code` string, country_code, required
        - `id` integer, required
        - `identification_number` string, required
        - `my_party` boolean, required
        - `name` string, nullable, required
        - `participant` object, required — See [Participant](https://developer.oneflow.com/docs/participant).
          - `_links` object — Links to related endpoints.
            - `comments` object
              - …
            - `contracts` object
              - …
            - `contract` object
              - …
            - `create` object
              - …
            - `data_field` object
              - …
            - `data_fields` object
              - …
            - `events` object
              - …
            - `event` object
              - …
            - `files` object
              - …
            - `file` object
              - …
            - `next` object
              - …
            - `parties` object
              - …
            - `party` object
              - …
            - `previous` object
              - …
            - `publish` object
              - …
            - `self` object
              - …
            - `template_types` object
              - …
            - `template_type` object
              - …
            - `template` object
              - …
            - `templates` object
              - …
            - `workspaces` object
              - …
            - `workspace` object
              - …
            - `playbooks` object
              - …
          - `_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).
        - `type` 'individual', required — Can only be `individual`.
      - object — The participants are signing on behalf of this company. See [Company party](https://developer.oneflow.com/docs/party#company).
        - `_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
        - `_private_ownerside` object, nullable, required — Party data that is private to the ownerside.
          - `created_time` string, datetime, required
          - `custom_id` string, nullable, required
          - `updated_time` string, datetime, nullable, required
        - `country_code` string, country_code, required
        - `id` integer, required
        - `identification_number` string, required
        - `my_party` boolean, required
        - `name` string, required
        - `participants` object[], required — The maximum number of participants per contract across all parties is 40.
          - `_links` object — Links to related endpoints.
            - `comments` object
              - …
            - `contracts` object
              - …
            - `contract` object
              - …
            - `create` object
              - …
            - `data_field` object
              - …
            - `data_fields` object
              - …
            - `events` object
              - …
            - `event` object
              - …
            - `files` object
              - …
            - `file` object
              - …
            - `next` object
              - …
            - `parties` object
              - …
            - `party` object
              - …
            - `previous` object
              - …
            - `publish` object
              - …
            - `self` object
              - …
            - `template_types` object
              - …
            - `template_type` object
              - …
            - `template` object
              - …
            - `templates` object
              - …
            - `workspaces` object
              - …
            - `workspace` object
              - …
            - `playbooks` object
              - …
          - `_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).
        - `type` 'company', required — Can only be `company`.

## Other responses

- `400` — Invalid format or content of the request.
- `401` — The API token or the user email is invalid.
- `403` — The request is not authorized by the server.
- `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/versions/0e73a45dec15/schema)
