POST/​v1/​envelopes/​blueprint/​official/​independent-contractor-agreement/​

Independent Contractor Agreement

Hire contractors for your business by configuring a company-favorable contractor agreement. Or if you are a contractor, create one favorable to yourself.

An envelope using this blueprint may be created via the API or it may be created directly on the web using a form that has a one-to-one correspondence with the API.

The API to use a blueprint is identical from blueprint to blueprint except for two things. First, each blueprint has a unique context object that's passed in the API call. This is because the information needed to generate a Confidentiality Agreement is different than the information needed to generate an Independent Contractor Agreement, for example.

Second, a blueprint may sometimes call for you to pass in the parties separately from the context, but that depends on the shape of that blueprint's context. This Independent Contractor Agreement blueprint does not require a parties property.

Request Body

  • Name
    name
    Type
    string
    required
    Description

    The name of the envelope. Limited to 254 characters that are alphanumeric, spaces, numbers, or symbols.

  • Name
    context
    Type
    object
    required
    Description

    An object containing the specific information required to render the blueprint. The shape of this object depends on which blueprint is being used.

    Since this is an official blueprint, the reference on the shape of their context is provided in this documentation.

  • Name
    webhook_url
    Type
    string
    Description

    The URL where Magistrate will POST webhooks related to this envelope. If this is provided, the API will immediately POST a webhook of type webhook_url_verification to the endpoint, and if it does not return a 2xx response within a couple seconds, the whole API call fail with a 400 response.

  • Name
    autosign
    Type
    boolean
    Description

    If autosign is true, any signatures belonging to the creator of the envelope will be signed automatically. The creator will not receive an email soliciting their signature since they will have already signed.

    This is ignored if the action is draft. This is also ignored if the creator of the envelope is not also a signatory.

  • Name
    suppress_emails
    Type
    string
    Description

    If provided, it must be the string creator. If this is provided, the creator of the envelope will not receive any emails related to the envelope.

  • Name
    action
    Type
    string
    required
    Description

    One of the following strings: send or draft.

    send will generate an envelope and send it for signature to all parties in one step.

    draft will generate an envelope and save it as a draft. To make any edits or send it for signature, you must log into the web user interface.

Request

POST
/v1/envelopes/blueprint/official/independent-contractor-agreement/
curl "https://api.getmagistrate.com/v1/envelopes/blueprint/official/independent-contractor-agreement/"  \
  -H "Authorization: Token d0b0b4628e184832b1b0bc1e93fbd487" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Independent Contractor Agreement",
    "context": {
      "basic": {
        "date": "2022-06-01",
        "favor": "company",
        "effective_date": "2022-07-01",
        "governing_law": "CA"
      },
      "company": {
        "name": "Magistrate Inc.",
        "email": "harry@getmagistrate.com",
        "is_entity": true,
        "authorized_human": {
          "name": "Harry Khanna",
          "title": "Chief Executive Officer"
        },
        "address": {
          "address": "641 S Street NW",
          "address2": "Ste. 300",
          "city": "Washington",
          "state": "DC",
          "zip": "20001",
          "attn": "Harry Khanna, General Counsel"
        },
        "notice_email": "notices@getmagistrate.com"
      },
      "contractor": {
        "name": "Lisa Vedernikova Khanna",
        "is_entity": false,
        "email": "lisa@getmagistrate.com",
        "address": {
          "address": "123 Bedford St.",
          "city": "Brooklyn",
          "state": "NY",
          "zip": "11211"
        }
      },
      "term": {
        "type": "continuous"
      },
      "fee": {
        "type": "hourly",
        "amount": 200.5,
        "minimum": {
          "hours": 10,
          "per": "month"
        },
        "maximum": {
          "hours": 20,
          "per": "month",
          "for": "both"
        }
      },
      "termination_for_convenience": {
        "num_days": 30,
        "type_days": "calendar"
      },
      "termination_for_breach": {
        "num_days": 1,
        "type_days": "calendar"
      },
      "other": {
        "company_providing_equipment": false,
        "company_pays_expenses": false
      },
      "services": [
        "Communications strategy and planning",
        "Fractional Chief Operating Officer duties",
        "Recruiting and hiring strategy"
      ],
      "nonsolicit": {
        "months_after_term": 0
      },
      "litigation": {
        "state": "CA",
        "locality": "County of Santa Clara",
        "arbitration": true,
        "class_action_waiver": true
      }
    },
    "webhook_url": "https://your-domain.example.com/webhooks/",
    "action": "send"
  }'

Context

This is the context specific to this blueprint. It is the object that you pass to the context property of the request body.
  • Name
    basic
    Type
    object
    required
    Description

    This is basic information about the agreement.

    Basic Information Expand
  • Name
    company
    Type
    object
    required
    Description

    Information about the company engaging the contractor

    Company Expand
  • Name
    contractor
    Type
    object
    required
    Description

    Information about the independent contractor

    Contractor Expand
  • Name
    term
    Type
    object
    required
    Description

    How long the contract will be in effect.

    Contract Term Expand
  • Name
    termination_for_convenience
    Type
    object
    required sometimes
    Description

    Can the contract be terminated by either party for any reason? This is required if the contract continues until terminated.

    Required if term.type is equal to continuous.

    Termination for Convenience Expand
  • Name
    termination_for_breach
    Type
    object
    required
    Description

    A party can terminate this agreement if the other party breaches it, but they get a chance to 'cure' their breach first.

    Termination for Breach Expand
  • Name
    fee
    Type
    object
    required
    Description

    Fee structure for the contract

    Fees Expand
  • Name
    services
    Type
    list of strings
    required
    Description

    A list of the services the contractor is providing. At least one is required. If you're not sure yet, you can leave it broad like 'any service reasonably requested by the Company.'

  • Name
    other
    Type
    object
    required
    Description

    This is other information about the agreement we need.

    Other Information Expand
  • Name
    nonsolicit
    Type
    object
    Description

    Do you want to prevent a party from soliciting the other party's employees to quit during the term of the agreement and a certain number of months thereafter. If you've chosen an agreement that favors the contractor, the non-solicit will be mutual. Otherwise it will only be in favor of the Company.

    Non-Solicit Expand
  • Name
    litigation
    Type
    object
    required
    Description

    Things that happen if there are disputes.

    Litigation Expand
{
  "basic": {
    "date": "2022-06-01",
    "favor": "company",
    "effective_date": "2022-07-01",
    "governing_law": "CA"
  },
  "company": {
    "name": "Magistrate Inc.",
    "email": "harry@getmagistrate.com",
    "is_entity": true,
    "authorized_human": {
      "name": "Harry Khanna",
      "title": "Chief Executive Officer"
    },
    "address": {
      "address": "641 S Street NW",
      "address2": "Ste. 300",
      "city": "Washington",
      "state": "DC",
      "zip": "20001",
      "attn": "Harry Khanna, General Counsel"
    },
    "notice_email": "notices@getmagistrate.com"
  },
  "contractor": {
    "name": "Lisa Vedernikova Khanna",
    "is_entity": false,
    "email": "lisa@getmagistrate.com",
    "address": {
      "address": "123 Bedford St.",
      "city": "Brooklyn",
      "state": "NY",
      "zip": "11211"
    }
  },
  "term": {
    "type": "continuous"
  },
  "fee": {
    "type": "hourly",
    "amount": 200.50,
    "minimum": {
      "hours": 10,
      "per": "month"
    },
    "maximum": {
      "hours": 20,
      "per": "month",
      "for": "both"
    }
  },
  "termination_for_convenience": {
    "num_days": 30,
    "type_days": "calendar"
  },
  "termination_for_breach": {
    "num_days": 1,
    "type_days": "calendar"
  },
  "other": {
    "company_providing_equipment": false,
    "company_pays_expenses": false
  },
  "services": [
    "Communications strategy and planning",
    "Fractional Chief Operating Officer duties",
    "Recruiting and hiring strategy"
  ],
  "nonsolicit": {
    "months_after_term": 0
  },
  "litigation": {
    "state": "CA",
    "locality": "County of Santa Clara",
    "arbitration": true,
    "class_action_waiver": true
  }
}

Response

If the request is successful, the endpoint will return a status code of 201 Created.

The response body will be the new envelope object.