Skip to main content
POST
/
contracts
Create Contract
curl --request POST \
  --url https://connect.withvayu.com/contracts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "startDate": "2023-11-07T05:31:56Z",
  "customerId": "<string>",
  "name": "<string>",
  "salesForceOpportunityId": "<string>",
  "endDate": "2023-11-07T05:31:56Z",
  "signatureDate": "2023-11-07T05:31:56Z",
  "products": [
    {
      "displayName": "<string>",
      "scheduling": {
        "duration": {
          "unit": "MONTH",
          "value": 500
        },
        "billingDay": 1
      },
      "pricing": {
        "type": "ONE_TIME",
        "price": 1
      },
      "description": "<string>",
      "catalogProductId": "<string>",
      "productErpId": "<string>",
      "nsClass": "<string>",
      "nsClassId": "<string>",
      "commitment": {
        "units": 1,
        "price": 1,
        "scheduling": {
          "duration": {
            "unit": "MONTH",
            "value": 500
          },
          "billingDay": 1
        },
        "overageStrategy": "IGNORE"
      }
    }
  ],
  "productGroups": [
    {
      "displayName": "<string>",
      "products": [
        {
          "displayName": "<string>",
          "scheduling": {
            "duration": {
              "unit": "MONTH",
              "value": 500
            },
            "billingDay": 1
          },
          "pricing": {
            "type": "ONE_TIME",
            "price": 1
          },
          "description": "<string>",
          "catalogProductId": "<string>",
          "productErpId": "<string>",
          "nsClass": "<string>",
          "nsClassId": "<string>",
          "commitment": {
            "units": 1,
            "price": 1,
            "scheduling": {
              "duration": {
                "unit": "MONTH",
                "value": 500
              },
              "billingDay": 1
            },
            "overageStrategy": "IGNORE"
          }
        }
      ],
      "description": "<string>",
      "productErpId": "<string>",
      "nsClass": "<string>",
      "nsClassId": "<string>",
      "baseAmount": 123,
      "commitment": {
        "units": 1,
        "price": 1,
        "scheduling": {
          "duration": {
            "unit": "MONTH",
            "value": 500
          },
          "billingDay": 1
        },
        "overageStrategy": "IGNORE"
      }
    }
  ],
  "accountManager": "<string>",
  "shouldProRateInvoices": true,
  "autoRenewContract": true
}
'
{
  "contract": {
    "startDate": "2023-11-07T05:31:56Z",
    "customerId": "<string>",
    "name": "<string>",
    "id": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "salesForceOpportunityId": "<string>",
    "endDate": "2023-11-07T05:31:56Z",
    "signatureDate": "2023-11-07T05:31:56Z",
    "products": [
      {
        "displayName": "<string>",
        "scheduling": {
          "duration": {
            "unit": "MONTH",
            "value": 500
          },
          "billingDay": 1
        },
        "pricing": {
          "type": "ONE_TIME",
          "price": 1
        },
        "description": "<string>",
        "catalogProductId": "<string>",
        "productErpId": "<string>",
        "nsClass": "<string>",
        "nsClassId": "<string>",
        "commitment": {
          "units": 1,
          "price": 1,
          "scheduling": {
            "duration": {
              "unit": "MONTH",
              "value": 500
            },
            "billingDay": 1
          },
          "overageStrategy": "IGNORE"
        }
      }
    ],
    "productGroups": [
      {
        "displayName": "<string>",
        "products": [
          {
            "displayName": "<string>",
            "scheduling": {
              "duration": {
                "unit": "MONTH",
                "value": 500
              },
              "billingDay": 1
            },
            "pricing": {
              "type": "ONE_TIME",
              "price": 1
            },
            "description": "<string>",
            "catalogProductId": "<string>",
            "productErpId": "<string>",
            "nsClass": "<string>",
            "nsClassId": "<string>",
            "commitment": {
              "units": 1,
              "price": 1,
              "scheduling": {
                "duration": {
                  "unit": "MONTH",
                  "value": 500
                },
                "billingDay": 1
              },
              "overageStrategy": "IGNORE"
            }
          }
        ],
        "description": "<string>",
        "productErpId": "<string>",
        "nsClass": "<string>",
        "nsClassId": "<string>",
        "baseAmount": 123,
        "commitment": {
          "units": 1,
          "price": 1,
          "scheduling": {
            "duration": {
              "unit": "MONTH",
              "value": 500
            },
            "billingDay": 1
          },
          "overageStrategy": "IGNORE"
        }
      }
    ],
    "accountManager": "<string>",
    "shouldProRateInvoices": true,
    "autoRenewContract": true
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
startDate
string<date-time>
required

The start date of the contract

customerId
string
required

The id of the customer that the contract is associated with

name
string
required

The name of the contract

salesForceOpportunityId
string | null

The id of the sales force opportunity that the contract is associated with

endDate
string<date-time> | null

The end date of the contract

signatureDate
string<date-time> | null

The signature date of the contract

products
object[]

The products that the contract is associated with

productGroups
object[]

Product groups are list of products that can be grouped as a single line item with shared settings like ERP settings, commitment settings, etc.

accountManager
string | null

The name of the account manager of the contract

shouldProRateInvoices
boolean

Whether to pro rate the invoices for the contract. If not provided, it will default to false

autoRenewContract
boolean

Whether the contract is set to auto renew. If not provided, it will be treated as true

Response

RequestSuccess

contract
object
required