changedInput schema / properties / body / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `NDA`. NDA terms live directly on the agreement (`purpose`, `term`, `confidentiality_period`), so an NDA draft has no term object of its own.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `CSA`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `DPA`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `Design`. The agreement type is `Design` and the term it owns is `design_partner`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `Pilot`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `PSA`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `Partnership`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `BAA`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `LOI`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `Software License`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft whose `agreement_type` is `Amendment`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Body for a draft created from a custom template. Drafts created from a custom template have no standard term object; their fields live in `custom_field_values`.",
- "properties": {
- "agreement": {
- "additionalProperties": {},
- "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
- "properties": {
- "additional_changes": {
- "description": "Free-text changes shown on the cover page.",
- "type": "string"
- },
- "agreement_roles_attributes": {
- "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "The UUID of an existing role. Omit when adding a new person.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "role": {
- "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
- "enum": [
- "cc"
- ],
- "type": "string"
- },
- "user_attributes": {
- "additionalProperties": false,
- "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
- "properties": {
- "email": {
- "anyOf": [
- {},
- {}
- ]
- }
- },
- "type": "object"
- }
- },
- "required": [
- "role"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attachment_ids": {
- "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "type": "array"
- },
- "billing_email": {
- "description": "Email of the billing contact.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "billing_name": {
- "description": "Name of the billing contact.",
- "type": "string"
- },
- "billing_workflow_type": {
- "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
- "enum": [
- "link",
- "stripe"
- ],
- "type": "string"
- },
- "chosen_courts_country": {
- "description": "The country in which disputes will be resolved.",
- "type": "string"
- },
- "chosen_courts_region": {
- "description": "The state or region in which disputes will be resolved.",
- "type": "string"
- },
- "confidentiality_period": {
- "description": "How many years confidentiality obligations last (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "confidentiality_period_perpetual": {
- "description": "When true, confidentiality obligations are perpetual (NDA).",
- "type": "boolean"
- },
- "default_signer_email": {
- "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "district_or_county": {
- "description": "The district or county for dispute resolution.",
- "type": "string"
- },
- "effective_date": {
- "description": "The effective date, when set explicitly.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "effective_date_of_confidentiality": {
- "description": "When confidentiality obligations begin (NDA).",
- "type": "string"
- },
- "effective_date_type": {
- "description": "How the effective date is determined.",
- "enum": [
- "signature",
- "date"
- ],
- "type": "string"
- },
- "framework_terms_description": {
- "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
- "type": "string"
- },
- "framework_terms_type": {
- "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
- "enum": [
- "new",
- "description"
- ],
- "type": "string"
- },
- "governing_law_country": {
- "description": "The country whose laws govern the agreement.",
- "type": "string"
- },
- "governing_law_region": {
- "description": "The state or region whose laws govern the agreement.",
- "type": "string"
- },
- "include_additional_changes": {
- "description": "When true, `additional_changes` is included on the cover page.",
- "type": "boolean"
- },
- "include_automated_nudges": {
- "description": "When true, reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_automated_payment_reminders": {
- "description": "When true, payment reminder emails are sent automatically.",
- "type": "boolean"
- },
- "include_billing_info": {
- "description": "When true, `billing_name` and `billing_email` are included.",
- "type": "boolean"
- },
- "include_billing_workflow": {
- "description": "When true, enables a billing workflow after signing.",
- "type": "boolean"
- },
- "include_cc_users": {
- "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
- "type": "boolean"
- },
- "include_expiration_date": {
- "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "include_expiration_days": {
- "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "include_expiration_type": {
- "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
- "enum": [
- "none",
- "days",
- "date"
- ],
- "type": "string"
- },
- "include_message": {
- "description": "When true, `message` is sent with the agreement.",
- "type": "boolean"
- },
- "include_terms": {
- "description": "When true, the standard terms are included with the agreement.",
- "type": "boolean"
- },
- "manual_send": {
- "description": "When true, the agreement is marked as sent outside the platform.",
- "type": "boolean"
- },
- "message": {
- "description": "The message sent to the recipient.",
- "type": "string"
- },
- "negotiations_allowed": {
- "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
- "type": "boolean"
- },
- "payment_link_url": {
- "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
- "type": "string"
- },
- "purpose": {
- "description": "The purpose of the agreement (NDA).",
- "type": "string"
- },
- "recipient_city": {
- "description": "The counterparty's city.",
- "type": "string"
- },
- "recipient_country": {
- "description": "The counterparty's country.",
- "type": "string"
- },
- "recipient_email": {
- "description": "The counterparty's email address.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_name": {
- "description": "The counterparty's full name.",
- "type": "string"
- },
- "recipient_notice_email_address": {
- "description": "Email address for legal notices to the recipient.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "recipient_organization": {
- "description": "The counterparty's organization.",
- "type": "string"
- },
- "recipient_state": {
- "description": "The counterparty's state or region.",
- "type": "string"
- },
- "recipient_street_address": {
- "description": "The counterparty's street address.",
- "type": "string"
- },
- "recipient_title": {
- "description": "The counterparty's job title.",
- "type": "string"
- },
- "recipient_zip": {
- "description": "The counterparty's postal code.",
- "type": "string"
- },
- "sender_last_to_sign": {
- "description": "When true, your signer signs after the recipient.",
- "type": "boolean"
- },
- "sender_notice_email_address": {
- "description": "Email address for legal notices to your organization.",
- "format": "email",
- "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "subsidiary_id": {
- "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
- },
- "term": {
- "description": "The length of the agreement term in years (NDA).",
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "term_period_perpetual": {
- "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
- "type": "boolean"
- },
- "test_agreement": {
- "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "agreement"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `NDA`. NDA terms live directly on the agreement (`purpose`, `term`, `confidentiality_period`), so an NDA draft has no term object of its own.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `CSA`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `DPA`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `Design`. The agreement type is `Design` and the term it owns is `design_partner`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `Pilot`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `PSA`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `Partnership`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `BAA`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `LOI`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `Software License`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft whose `agreement_type` is `Amendment`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Body for a draft created from a custom template. Drafts created from a custom template have no standard term object; their fields live in `custom_field_values`.",
+ "properties": {
+ "agreement": {
+ "additionalProperties": {},
+ "description": "The cover page fields every draft accepts, whatever its agreement type. Omitted fields keep their current values.",
+ "properties": {
+ "additional_changes": {
+ "description": "Free-text changes shown on the cover page.",
+ "type": "string"
+ },
+ "agreement_roles_attributes": {
+ "description": "The keep-informed (`cc`) users on the draft. Requires `include_cc_users` to be `true`. Add a person by sending `role: \"cc\"` with `user_attributes.email` and no `id`. Remove one by sending its existing `id` with a blank `user_attributes.email`. People are identified by email only, so there is no way to cc someone by user id.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "The UUID of an existing role. Omit when adding a new person.",
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role to manage. Only `cc` roles can be changed through this endpoint.",
+ "enum": [
+ "cc"
+ ],
+ "type": "string"
+ },
+ "user_attributes": {
+ "additionalProperties": false,
+ "description": "The person to cc. Send a blank `email` with an `id` to remove that person.",
+ "properties": {
+ "email": {
+ "anyOf": [
+ {},
+ {}
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "role"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "attachment_ids": {
+ "description": "The UUIDs of the attachments to include, from `POST /v1/attachments`. Replaces the current list.",
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billing_email": {
+ "description": "Email of the billing contact.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "billing_name": {
+ "description": "Name of the billing contact.",
+ "type": "string"
+ },
+ "billing_workflow_type": {
+ "description": "The type of billing workflow. Use \"link\" with `payment_link_url`, or \"stripe\" for Stripe-managed billing.",
+ "enum": [
+ "link",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "chosen_courts_country": {
+ "description": "The country in which disputes will be resolved.",
+ "type": "string"
+ },
+ "chosen_courts_region": {
+ "description": "The state or region in which disputes will be resolved.",
+ "type": "string"
+ },
+ "confidentiality_period": {
+ "description": "How many years confidentiality obligations last (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "confidentiality_period_perpetual": {
+ "description": "When true, confidentiality obligations are perpetual (NDA).",
+ "type": "boolean"
+ },
+ "default_signer_email": {
+ "description": "The email of the user in your organization who signs the agreement. Must belong to a user in your organization; changing it moves the signer role to that user. A signer outside your organization returns a 400.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "district_or_county": {
+ "description": "The district or county for dispute resolution.",
+ "type": "string"
+ },
+ "effective_date": {
+ "description": "The effective date, when set explicitly.",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "effective_date_of_confidentiality": {
+ "description": "When confidentiality obligations begin (NDA).",
+ "type": "string"
+ },
+ "effective_date_type": {
+ "description": "How the effective date is determined.",
+ "enum": [
+ "signature",
+ "date"
+ ],
+ "type": "string"
+ },
+ "framework_terms_description": {
+ "description": "Custom framework terms description. Only used when `framework_terms_type` is \"description\".",
+ "type": "string"
+ },
+ "framework_terms_type": {
+ "description": "How framework terms are specified. Use \"new\" for standard terms or \"description\" with `framework_terms_description`.",
+ "enum": [
+ "new",
+ "description"
+ ],
+ "type": "string"
+ },
+ "governing_law_country": {
+ "description": "The country whose laws govern the agreement.",
+ "type": "string"
+ },
+ "governing_law_region": {
+ "description": "The state or region whose laws govern the agreement.",
+ "type": "string"
+ },
+ "include_additional_changes": {
+ "description": "When true, `additional_changes` is included on the cover page.",
+ "type": "boolean"
+ },
+ "include_automated_nudges": {
+ "description": "When true, reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_automated_payment_reminders": {
+ "description": "When true, payment reminder emails are sent automatically.",
+ "type": "boolean"
+ },
+ "include_billing_info": {
+ "description": "When true, `billing_name` and `billing_email` are included.",
+ "type": "boolean"
+ },
+ "include_billing_workflow": {
+ "description": "When true, enables a billing workflow after signing.",
+ "type": "boolean"
+ },
+ "include_cc_users": {
+ "description": "Whether to keep other people informed. Setting this to `false` removes every keep-informed (`cc`) user on the draft, and while it is `false` new `cc` roles are ignored.",
+ "type": "boolean"
+ },
+ "include_expiration_date": {
+ "description": "Expiration date in YYYY-MM-DD format. Use with `include_expiration_type` \"date\".",
+ "format": "date",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
+ "type": "string"
+ },
+ "include_expiration_days": {
+ "description": "Days until the agreement expires. Use with `include_expiration_type` \"days\".",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "include_expiration_type": {
+ "description": "How the agreement expires: \"none\" (default), \"days\" (use `include_expiration_days`), or \"date\" (use `include_expiration_date`).",
+ "enum": [
+ "none",
+ "days",
+ "date"
+ ],
+ "type": "string"
+ },
+ "include_message": {
+ "description": "When true, `message` is sent with the agreement.",
+ "type": "boolean"
+ },
+ "include_terms": {
+ "description": "When true, the standard terms are included with the agreement.",
+ "type": "boolean"
+ },
+ "manual_send": {
+ "description": "When true, the agreement is marked as sent outside the platform.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The message sent to the recipient.",
+ "type": "string"
+ },
+ "negotiations_allowed": {
+ "description": "When true, the recipient can propose changes to the legal terms. For agreement types without separate business terms, that covers every term. CSA order forms, PSA statements of work, partnership business terms and software license order forms have their own `negotiations_allowed` flag.",
+ "type": "boolean"
+ },
+ "payment_link_url": {
+ "description": "A payment URL shown to the recipient after signing. Requires `include_billing_workflow` and `billing_workflow_type` \"link\".",
+ "type": "string"
+ },
+ "purpose": {
+ "description": "The purpose of the agreement (NDA).",
+ "type": "string"
+ },
+ "recipient_city": {
+ "description": "The counterparty's city.",
+ "type": "string"
+ },
+ "recipient_country": {
+ "description": "The counterparty's country.",
+ "type": "string"
+ },
+ "recipient_email": {
+ "description": "The counterparty's email address.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_name": {
+ "description": "The counterparty's full name.",
+ "type": "string"
+ },
+ "recipient_notice_email_address": {
+ "description": "Email address for legal notices to the recipient.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "recipient_organization": {
+ "description": "The counterparty's organization.",
+ "type": "string"
+ },
+ "recipient_role": {
+ "description": "PSA only. The recipient's role: `Customer` (the default) or `Provider`. Send it with `sender_role`; the two must be one `Provider` and one `Customer`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "recipient_state": {
+ "description": "The counterparty's state or region.",
+ "type": "string"
+ },
+ "recipient_street_address": {
+ "description": "The counterparty's street address.",
+ "type": "string"
+ },
+ "recipient_title": {
+ "description": "The counterparty's job title.",
+ "type": "string"
+ },
+ "recipient_zip": {
+ "description": "The counterparty's postal code.",
+ "type": "string"
+ },
+ "sender_last_to_sign": {
+ "description": "When true, your signer signs after the recipient.",
+ "type": "boolean"
+ },
+ "sender_notice_email_address": {
+ "description": "Email address for legal notices to your organization.",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "sender_role": {
+ "description": "PSA only. Your company's role: `Provider` (the default) or `Customer` when you hire the recipient to provide the services. Send it with `recipient_role`; the two must be one `Provider` and one `Customer`. When reading a PSA, an empty `sender_role` means `Provider`. Other standard agreement types ignore it.",
+ "type": "string"
+ },
+ "subsidiary_id": {
+ "description": "The UUID of the subsidiary sending the agreement. Send `null`, an empty string, or an id that no longer exists to clear it. Omit the key entirely to leave the current subsidiary alone."
+ },
+ "term": {
+ "description": "The length of the agreement term in years (NDA).",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "term_period_perpetual": {
+ "description": "When true, the term runs perpetually and `term` is ignored (NDA).",
+ "type": "boolean"
+ },
+ "test_agreement": {
+ "description": "When true, marks the agreement as a test. Test agreements do not count against your monthly limit.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "agreement"
+ ],
+ "type": "object"
+ }
+]