Contract

Description

Properties

Property Description
activity read-only

A list of activities that have occurred with this contract.

bodyContainsMagicBlank read-only

Indicates if the HTML body of the contract contains one or more 'magic blank' placeholder strings.

bodyHtml

The HTML body of the contract.

brandTheme read-only

A brand theme.

brandThemeId

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

cancelationMessage nullable

Optional cancelation message to include in studio-to-client email sent when contract status moves to canceled state. As of this writing, value only used on PATCH requests.

contact required read-only

The base definition for a contact.

contactId

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

contractStatus

The current status of the contract.

Status Description
draft The contract is a draft and has not been sent to the client.
awaiting-client-signature The contract has been sent to the client and is awaiting their signature.
awaiting-studio-countersign The client has signed the contract, and it is ready for the studio to countersign.
completed The client and studio have both signed the contract.
canceled The studio has canceled the contract.
expired The expiration date specified on the contract has passed while the contract was in the draft or awaiting-client-signature states.
contractTemplate required read-only
contractTemplateId nullable

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

created read-only

The creation date of this contract.

expirationDate

The date on which this contract expires.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

invoices read-only

An array of linked invoices.

isHidden

Whether the contract has been marked 'hidden'.

languageCode

The Unicode CLDR language tag for the language used in this contract.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name

The name for this contract.

publicId read-only

The public identifier for this contract (may be used in the portal website).

shootDate nullable

This contract covers a photo shoot or event that took place on this date.

signatureClient nullable read-only

The contract signature for the client.

signatureStudio nullable read-only

The contract signature for the studio.

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "properties": {
    "activity": {
      "description": "A list of activities that have occurred with this contract.",
      "items": {
        "$ref": "#/components/schemas/ContractActivity"
      },
      "readOnly": true,
      "title": "Contract Activity",
      "type": "array"
    },
    "bodyContainsMagicBlank": {
      "description": "Indicates if the HTML body of the contract contains one or more\n'magic blank' placeholder strings.",
      "readOnly": true,
      "type": "boolean"
    },
    "bodyHtml": {
      "description": "The HTML body of the contract.",
      "type": "string"
    },
    "brandTheme": {
      "allOf": [
        {
          "$ref": "#/components/schemas/BrandTheme"
        },
        {
          "readOnly": true
        }
      ]
    },
    "brandThemeId": {
      "$ref": "#/components/schemas/Id"
    },
    "cancelationMessage": {
      "description": "Optional cancelation message to include in studio-to-client email\nsent when contract status moves to canceled state. As of this\nwriting, value only used on `PATCH` requests.",
      "nullable": true,
      "type": "string"
    },
    "contact": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Contact"
        },
        {
          "readOnly": true
        }
      ]
    },
    "contactId": {
      "$ref": "#/components/schemas/Id"
    },
    "contractStatus": {
      "description": "The current status of the contract.\n\n| Status | Description |\n| ------ | ----------- |\n| `draft` | The contract is a draft and has not been sent to the client. |\n| `awaiting-client-signature` | The contract has been sent to the client and is awaiting their signature. |\n| `awaiting-studio-countersign` | The client has signed the contract, and it is ready for the studio to countersign. |\n| `completed` | The client and studio have both signed the contract. |\n| `canceled` | The studio has canceled the contract. |\n| `expired` | The expiration date specified on the contract has passed while the contract was in the `draft` or `awaiting-client-signature` states. |",
      "enum": [
        "draft",
        "awaiting-client-signature",
        "awaiting-studio-countersign",
        "completed",
        "canceled",
        "expired"
      ],
      "title": "Contract Status",
      "type": "string"
    },
    "contractTemplate": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ContractTemplate"
        },
        {
          "readOnly": true
        }
      ]
    },
    "contractTemplateId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Id"
        },
        {
          "nullable": true
        }
      ]
    },
    "created": {
      "description": "The creation date of this contract.",
      "format": "date-time",
      "readOnly": true,
      "type": "string"
    },
    "expirationDate": {
      "description": "The date on which this contract expires.",
      "format": "date-time",
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "invoices": {
      "description": "An array of linked invoices.",
      "items": {
        "$ref": "#/components/schemas/InvoiceMinimal"
      },
      "readOnly": true,
      "title": "Invoice",
      "type": "array"
    },
    "isHidden": {
      "description": "Whether the contract has been marked 'hidden'.",
      "type": "boolean"
    },
    "languageCode": {
      "description": "The Unicode CLDR language tag for the language used in this\ncontract.",
      "example": "en_US",
      "type": "string"
    },
    "links": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Links"
        },
        {
          "readOnly": true
        }
      ]
    },
    "name": {
      "description": "The name for this contract.",
      "type": "string"
    },
    "publicId": {
      "description": "The public identifier for this contract (may be used in the portal\nwebsite).",
      "pattern": "^[a-fA-F0-9]{32}$",
      "readOnly": true,
      "type": "string"
    },
    "shootDate": {
      "description": "This contract covers a photo shoot or event that took place on this\ndate.",
      "format": "date-time",
      "nullable": true,
      "type": "string"
    },
    "signatureClient": {
      "allOf": [
        {
          "description": "The contract signature for the client.",
          "nullable": true,
          "readOnly": true
        },
        {
          "$ref": "#/components/schemas/ContractSignature"
        }
      ]
    },
    "signatureStudio": {
      "allOf": [
        {
          "description": "The contract signature for the studio.",
          "nullable": true,
          "readOnly": true
        },
        {
          "$ref": "#/components/schemas/ContractSignature"
        }
      ]
    },
    "type": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Type"
        },
        {
          "enum": [
            "contract"
          ]
        }
      ]
    }
  },
  "required": [
    "type",
    "name",
    "brandThemeId",
    "contactId",
    "bodyHtml",
    "expirationDate",
    "languageCode"
  ],
  "title": "Contract",
  "type": "object"
}