---
title: "Mark contract as signed by ID"
method: POST
path: "/contracts/{contract_id}/mark_as_signed"
tags: ["Contract"]
---

# Mark contract as signed by ID

`POST /contracts/{contract_id}/mark_as_signed`

Use this endpoint to mark contract as signed by contract ID via API. Note that this is not the contract sign endpoint for a single user. This only to mark the contract is signed by all users.

## 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 contract sign.
  - `mark_as_signed_date` string, datetime, required — timestamp of the date time that the contract needs to sign.

## Response `200`

Returns the [contract](contract).

- object
  - `signed_by` object, required — Contract signer details
    - `name` string, required
    - `email` string, email, required
  - `signed_date` string, datetime, required
  - `contract` object, required — See [Contract](https://developer.oneflow.com/docs/contract).
    - `_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 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
    - `_private` object, required — See [Private](https://developer.oneflow.com/docs/contract#private)
      - `date_format` string, required — The date format of the contract.
      - `value` object, nullable, required — See [Contract value](https://developer.oneflow.com/docs/contract#value).
        - `amount` string, amount, required
        - `currency` string, currency, required
      - `folder` object, required — A folder.
        - `id` integer, required — Folder ID
        - `name` string, required — Folder name.
        - `parent_id` integer, nullable, required — If exist any parent folder, its ID.
        - `path` integer[], required — An array of folder IDs representing the path from the top of the hierarchy to the current folder.
      - `language` string — The language of the contract.
      - `name` string, required — The name of the contract.
      - `signing_period_expiration` union, required
        - object — The signing period for this contract never expires
          - `type` 'never', required — Can only be 'never'.
        - object — The signing period for this contract expires a given number of days after publishing. This setting can only be used when the contract is in the draft stage. Converts into a "fixed_date" after the contract is published.
          - `type` 'days_after_publish', required — Can only be 'days_after_publish'.
          - `expire_days_after_publish` integer, required
        - object — The signing period for this contract expires on a set date.
          - `type` 'fixed_date', required — Can only be 'fixed_date'.
          - `expire_date` string, date, required
      - `workspace_id` integer, nullable, required — The unique id of this workspace.
      - `single_sign` boolean — State of the feature single sign
    - `_private_ownerside` object, nullable, required — Contract data that is private to the ownerside.
      - `created_time` string, datetime, required
      - `template_id` integer, nullable, required
      - `template_type_id` integer, nullable, required
      - `playbook_id` integer, nullable
      - `blueprint_ids` integer[], nullable
    - `attachment_file_groups` object[], required — A list of attachment type file groups in the contract.
      - `_private_ownerside` object, nullable, required — File group data that is private to the ownerside.
        - `created_time` string, datetime, required
        - `updated_time` string, datetime, nullable, required
      - `files` object[], required
        - `_private_ownerside` object, nullable, required — File data that is private to the ownerside.
          - `created_time` string, datetime, required
          - `updated_time` string, datetime, nullable, required
        - `extension` string, nullable, required — The file extension.
        - `id` integer, required
        - `name` string, nullable, required — The name of the file.
        - `size` integer, nullable, required — The size of the file in bytes.
      - `id` integer, required
      - `type` 'attachment' | 'pdf', required — The file group type of the file group sections. There are only two types available, `attachment` and `pdf`.
    - `available_options` object, required — Available options in the contract. See [Available options](https://developer.oneflow.com/docs/contract#available-options).
      - `can_receive_attachments` boolean, required
      - `can_receive_expanded_pdf` boolean, required
      - `can_receive_products` boolean, required
      - `can_receive_product_tax` boolean, required
      - `delivery_channels` object[], required
        - `name` 'email' | 'sms' | 'email_and_sms' | 'same_device' | 'none' | 'unknown', required — One of the contract [delivery channels](contract#delivery-channels).
        - `preferred` boolean, required
        - `required_participant_attributes` string[], required
      - `sign_methods` object[], required
        - `name` '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).
        - `preferred` boolean, required
      - `two_step_authentication_methods` object[], required
        - `name` 'email' | 'sms' | 'personal_identification' | 'none' | 'unknown', required — One of the [two step authentication methods](contract#two-step-authentication-methods).
        - `preferred` boolean, required
        - `required_participant_attributes` string[], required
    - `data_fields` object[], required — The data fields that are part of the contract.
      - `_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, required — Data field attributes that are private to the ownerside.
        - `created_time` string, datetime, required
        - `custom_id` string, nullable, required
        - `updated_time` string, datetime, nullable, required
      - `description` string, required
      - `id` integer, required
      - `name` string, required
      - `placeholder` string, required
      - `value` string, required
    - `draft_approval_workflow` object, nullable — Draft approval work flow details.
      - `status` string, nullable
    - `id` integer, required
    - `image_file_groups` object[], required — A list of image type file groups in the contract.
      - `_private_ownerside` object, nullable, required — File group data that is private to the ownerside.
        - `created_time` string, datetime, required
        - `updated_time` string, datetime, nullable, required
      - `files` object[], required — A list of image files in the group.
        - `_private_ownerside` object, nullable, required — File data that is private to the ownerside.
          - `created_time` string, datetime, required
          - `updated_time` string, datetime, nullable, required
        - `alt_text` string, nullable, required — The alternative text of the image.
        - `extension` string, nullable, required — The image extension.
        - `id` integer, required
        - `size` integer, nullable, required — The size of the image in bytes.
      - `id` integer, required
      - `type` 'image', required — The type of the image group. The only available type is `image`.
    - `imported` boolean, nullable — A flag denoting whether the contract has been imported or not.
    - `lifecycle_settings` object, nullable, required — See [Lifecycle settings](lifecycle-settings).
      - `duration` string, duration, nullable, required
      - `end_date` string, date, nullable, required
      - `initial_duration` string, duration, nullable, required
      - `notice_period` string, duration, nullable, required
      - `start_date` string, date, nullable, required
      - `type` 'no_duration' | 'single_period' | 'recurring' | 'recurring_two_periods' | 'unknown', required — One of the contract [duration types](contract#duration-type).
    - `lifecycle_state` object, nullable, required — Lifecycle information of the contract. See [Lifecycle state](https://developer.oneflow.com/docs/contract#lifecycle-state).
      - `composite` 'awaiting' | 'awaiting-recurring' | 'active' | 'active-recurring' | 'active-canceled-recurring' | 'ended' | 'ended-terminated' | 'ended-terminated-recurring', required — One of the [lifecycle composites](contract#lifecycle-composite).
      - `contract_end_time` string, datetime, nullable, required
      - `contract_start_time` string, datetime, nullable, required
      - `cancel_time` string, datetime, nullable, required
      - `has_ended_by_termination` boolean, required
      - `has_passed_notice_period_start_time` boolean, required
      - `is_canceled` boolean, required
      - `is_recurring` boolean, required
      - `lifecycle_state` 'awaiting' | 'active' | 'ended' | 'unknown', required — One of the [lifecycle states](ccontract#lifecycle-states).
      - `lifecycle_state_updated_time` string, datetime, required
      - `notice_period_start_time` string, datetime, nullable, required
      - `period` integer, nullable, required
      - `period_end_time` string, datetime, nullable, required
      - `period_start_time` string, datetime, nullable, required
    - `links` union[] — All links on the contract. These links can be either `internal` or `external` (<b>links</b> is only available in the <b>Get a contract by ID</b> response)
      - union
        - object — Internal contract link.
          - `id` integer, required
          - `linked_contract` integer, required
          - `type` 'amends' | 'amended_by' | 'sub_contract' | 'main_contract' | 'replaced_by' | 'replaces' | 'relates_to', required — One of the [link types](contract#links).
        - object — External contract link.
          - `id` integer, required
          - `type` 'external', required — Can only be `external` of the [link types](contract#links).
          - `external_link` string, required
          - `external_title` string, required
    - `marked_as_signed` boolean, nullable — A flag denoting whether the contract has been marked as signed or not.
    - `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
              - …
            - `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
              - …
          - `_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.
              - …
            - `_permissions` object, required — This attribute contains the permissions for the participant/creator on the contract.
              - …
            - `_private_ownerside` object, nullable, required — Participant data that is private to the ownerside.
              - …
            - `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
              - …
            - `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
              - …
          - `_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.
              - …
            - `_permissions` object, required — This attribute contains the permissions for the participant/creator on the contract.
              - …
            - `_private_ownerside` object, nullable, required — Participant data that is private to the ownerside.
              - …
            - `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`.
    - `pdf_file_groups` object[], required — A list of expanded pdf type file groups in the contract.
      - `_private_ownerside` object, nullable, required — File group data that is private to the ownerside.
        - `created_time` string, datetime, required
        - `updated_time` string, datetime, nullable, required
      - `files` object[], required
        - `_private_ownerside` object, nullable, required — File data that is private to the ownerside.
          - `created_time` string, datetime, required
          - `updated_time` string, datetime, nullable, required
        - `extension` string, nullable, required — The file extension.
        - `id` integer, required
        - `name` string, nullable, required — The name of the file.
        - `size` integer, nullable, required — The size of the file in bytes.
      - `id` integer, required
      - `type` 'attachment' | 'pdf', required — The file group type of the file group sections. There are only two types available, `attachment` and `pdf`.
    - `pending_approval_workflow` object, nullable — Pending approval work flow details.
      - `status` string, nullable
    - `product_groups` object[], required — A list of product groups.
      - `_private_ownerside` object, nullable, required — Product group data that is private to the ownerside.
        - `created_time` string, datetime, required
        - `custom_id` string, nullable, required
        - `updated_time` string, datetime, nullable, required
      - `configuration` object, required — Updated product group configuration
        - `columns` object[]
          - `enabled` boolean
          - `key` 'name' | 'description' | 'price_1' | 'price_2' | 'count', required — One of the product group column keys.
          - `label` string
          - `tax_1` object — Product group tax display name.
            - `label` string — The product group tax display name label.
            - `incl_tax` boolean — If true, prices are entered including tax.
        - `counterpart_edit` boolean
        - `hide_price_summation` boolean
        - `name` object — Product group name data.
          - `enabled` boolean — If true, the product group name is enabled.
          - `label` string — The product group name label.
        - `price_affixes` object — Postfix and prefix of a contract product price.
          - `postfix` string
          - `prefix` string
        - `price_precision` integer, nullable
        - `quantity_precision` integer, nullable
        - `tax_1` object — Product group tax display name.
          - `label` string — The product group tax display name label.
          - `incl_tax` boolean — If true, prices are entered including tax.
      - `created_from` integer, nullable — This will be only available in the contract create response.
      - `enabled_columns` object[], required
        - `enabled` boolean, required
        - `key` string, required
      - `id` integer, required
      - `products` object[], required
        - `_private_ownerside` object, nullable, required — Product data that is private to the ownerside.
          - `created_time` string, datetime, required
          - `custom_id` string, nullable, required
          - `updated_time` string, datetime, nullable, required
        - `counterparty_lock` boolean
        - `created_from` integer, nullable — This will be only available in the contract create response.
        - `description` string
        - `id` integer, required
        - `name` string, required
        - `price_1` object, nullable, required — An object that holds all price related information for an individual product.
          - `amount` object, required — The price amount after discount.
            - `amount` string, signed_amount_4_decimal, nullable, required
          - `base_amount` object, required — The price amount before discount.
            - `amount` string, amount_4_decimal, nullable, required
          - `discount_amount` object, required — The absolute discount amount.
            - `amount` string, amount_4_decimal, nullable, required
          - `discount_percent` string, discount_percent, nullable, required — The discount percentage as a decimal string between "0" and "100".
          - `tax_1` object, nullable — Product tax details.
            - `key` 'percentage', required
            - `value` string, tax_percent, required — Represents the tax percentage as a decimal string greater than or equal to 0 and less than or equal to 100.
        - `price_2` object, nullable, required — An object that holds all price related information for an individual product.
          - `amount` object, required — The price amount after discount.
            - `amount` string, signed_amount_4_decimal, nullable, required
          - `base_amount` object, required — The price amount before discount.
            - `amount` string, amount_4_decimal, nullable, required
          - `discount_amount` object, required — The absolute discount amount.
            - `amount` string, amount_4_decimal, nullable, required
          - `discount_percent` string, discount_percent, nullable, required — The discount percentage as a decimal string between "0" and "100".
          - `tax_1` object, nullable — Product tax details.
            - `key` 'percentage', required
            - `value` string, tax_percent, required — Represents the tax percentage as a decimal string greater than or equal to 0 and less than or equal to 100.
        - `quantity` object, required — The object holds information about the quantity of an individual product. The default quantity type is multiple_choice. If the quantity type is single_choice or multiple_choice, the amount must be set to 0 or 1. If the quantity type is set to single_choice, the amount must be set to 1 at least for one product, and 0 for the rest of the products in the same product group with the quantity type single_choice.
          - `amount` number, nullable — The number of individual products selected, or the quantity.
          - `type` 'single_choice' | 'multiple_choice' | 'quantity' — One of the product's [quantity types](product-group#quantity-type).
    - `published_time` string, datetime, nullable, required
    - `sign_later` boolean — A flag to indicate if the contract signing is postponed.
    - `sign_order` object[], required — Sign order of the participants.
      - `participant_id` integer, required — participant ID
      - `order` integer, required — Sign order
    - `signing_period_expiry_time` string, datetime, nullable, required
    - `state` 'draft' | 'pending' | 'overdue' | 'signed' | 'declined' | 'unknown', required — One of the [contract states](contract#contract-state).
    - `state_updated_time` string, datetime, required
    - `tags` object[], required — All tags associated with the contract.
      - `id` integer, required
      - `name` string, required
    - `updated_time` string, datetime, nullable, required

## 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)
