Creating BAAs and DPAs that use underlying agreements

Some of our standards are meant to be associated with other agreements (usually a CSA). We refer to these as underlying agreements and they're specific to agreements and not normally set at the the template. This means they need to be set when you send out an agreement via our web app or the API.

Creating a BAA and specifying an underlying agreement

There are two ways to specifcy an underlying agreement via the API. Add a baa_attributes or dpa_attributes object to your json request and set underlying_agreement_type to internal. Then specify the agreement's id with underlying_agreement_id.

Curl example using an internal underlying agreement

curl -H 'Authorization: Bearer API_KEY' -H "Content-type: application/json" -d '{
  "template_id": "TEMPLATE_UUID",
  "owner_email": "ben@example.org",
  "signer_email": "ben@example.org",
  "agreement": {
      "recipient_name": "Ben Garvey",
      "recipient_email": "someone@example.org",
      "recipient_organization_name": "Test co",
      "message": "This is the agreement we spoke about.",
      "test_agreement": false,
      "baa_attributes": {
        "underlying_agreement_type": "internal",
        "underlying_agreement_val": null,
        "underlying_agreement_id": "AGREEMENT_UUID"
      }
  }
}' 'https://api.commonpaper.com/v1/agreements'

Curl example using an external underlying agreement

The second way to set the underlying agreement is via the external type. Add a baa_attributes or dpa_attributes object to your json request and set underlying_agreement_type to external. Then describe the underlying agreement using the underlying_agreement_val field. It should be descriptive enough so there is no doubt over which agreement you're referring to.

curl -H 'Authorization: Bearer API_KEY' -H "Content-type: application/json" -d '{
  "template_id": "TEMPLATE_UUID",
  "owner_email": "ben@example.org",
  "signer_email": "ben@example.org",
  "agreement": {
      "recipient_name": "Ben Garvey",
      "recipient_email": "someone@example.org",
      "recipient_organization_name": "Test co",
      "message": "This is the agreement we spoke about.",
      "test_agreement": false,
      "baa_attributes": {
        "underlying_agreement_type": "external",
        "underlying_agreement_val": "CSA signed with XYZ Corp on September 15, 2024",
        "underlying_agreement_id": null
      }
  }
}' 'https://api.commonpaper.com/v1/agreements'