Contracts

Retrieves a contract

Changed on

Returns the expanded contract including items, schedules, and metadata required before updates or amendments. Always retrieve before issuing a full PUT update so you preserve fields you do not intend to clear.

get/contracts/{contract_id}

Request

Path parameters

contract_idstring required

UUID of the contract to retrieve.

Response

OK

idstring uuid required
customer_idstring uuid required
subsidiary_idstring uuid required
namestring required
status'ACTIVE' | 'IN_EFFECT' | 'CANCELLED' | 'ENDED' | 'AMENDED' required
start_datestring date required
end_datestring date
close_datestring date required
metadataobject

Contract metadata values keyed by metadata definition key.

purchase_order_numberstring

Purchase order number set on the contract. It is copied onto every invoice the contract generates. Null when none was set.

shipping_customer_idstring uuid nullable

The customer the contract ships to. Equal to customer_id when shipping to the billing customer. Null when no ship-to customer is set.

Example response

{
  "name": "New API Contract",
  "items": [
    {
      "price": {
        "amount": {
          "amount": "1.01",
          "currency": "USD"
        },
        "interval_months": 1
      },
      "quantity": "1",
      "total_value": {
        "amount": "1.01",
        "currency": "USD"
      },
      "progress_plan": {
        "milestones": [
          {
            "allocated_amount": {
              "amount": "1.01",
              "currency": "USD"
            },
            "amount": {
              "amount": "1.01",
              "currency": "USD"
            },
            "external_references": [
              {
                "type": "xyzSystemId",
                "id": "234",
                "url": "https://xyzsystempage.com/ids/234"
              }
            ]
          }
        ]
      },
      "discount": {
        "amount_off": {
          "amount": "1.01",
          "currency": "USD"
        }
      },
      "tax_rate": {
        "percentage": "0",
        "tax_amount": {
          "amount": "1.01",
          "currency": "USD"
        },
        "country": "US"
      },
      "external_references": [
        {
          "type": "xyzSystemId",
          "id": "234",
          "url": "https://xyzsystempage.com/ids/234"
        }
      ],
      "usage_minimum_commitment": {
        "amount": {
          "amount": "1.01",
          "currency": "USD"
        },
        "revenue_account": "11112"
      },
      "bundle": {
        "components": [
          {
            "quantity": "1",
            "allocated_amount": {
              "amount": "1.01",
              "currency": "USD"
            }
          }
        ]
      },
      "declared_ssp": {
        "amount": "1.01",
        "currency": "USD"
      }
    }
  ],
  "invoicing": {
    "day": 1
  },
  "usage_configuration": {
    "contract_level_minimum_commitment": {
      "amount": {
        "amount": "1.01",
        "currency": "USD"
      },
      "revenue_account": "11112"
    }
  },
  "total_value": {
    "amount": "1.01",
    "currency": "USD"
  },
  "external_references": [
    {
      "type": "xyzSystemId",
      "id": "234",
      "url": "https://xyzsystempage.com/ids/234"
    }
  ],
  "exchange_rate": {
    "base": "USD",
    "target": "USD"
  },
  "purchase_order_number": "PO-12345",
  "billing_address": {
    "line1": "123 Main St",
    "line2": "Apt 4B",
    "city": "Nashville",
    "state": "TN",
    "zip_code": "37201",
    "country": "US"
  },
  "shipping_address": {
    "line1": "123 Main St",
    "line2": "Apt 4B",
    "city": "Nashville",
    "state": "TN",
    "zip_code": "37201",
    "country": "US"
  },
  "invoices": [
    {
      "invoice_number": "INV01",
      "total": {
        "amount": "1.01",
        "currency": "USD"
      },
      "taxed_amount": {
        "amount": "1.01",
        "currency": "USD"
      },
      "items": [
        {
          "description": "Description",
          "revenue": {
            "account_code": "11112"
          },
          "total_amount": {
            "amount": "1.01",
            "currency": "USD"
          },
          "total_discount": {
            "amount": "1.01",
            "currency": "USD"
          },
          "taxed_amount": {
            "amount": "1.01",
            "currency": "USD"
          },
          "gross_rate": {
            "amount": "1.01",
            "currency": "USD"
          },
          "quantity": "1.0000",
          "external_references": [
            {
              "type": "xyzSystemId",
              "id": "234",
              "url": "https://xyzsystempage.com/ids/234"
            }
          ]
        }
      ],
      "external_references": [
        {
          "type": "xyzSystemId",
          "id": "234",
          "url": "https://xyzsystempage.com/ids/234"
        }
      ]
    }
  ]
}

Changes

    • breaking

      the response property ////// became optional for the status

    • breaking

      the ////// response's property type changed from number to string, and format from no format to number for status

    • breaking

      the ////// response's property type changed from string to no type for status

    • breaking

      the /////////// response's property type changed from number to string, and format from no format to number for status

    • breaking

      the ///// response's property type changed from number to string, and format from no format to number for status

    • warning

      added the new PROGRESS enum value to the ////// response property for the response status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added to the ////// response property allOf list for the response status

    • info

      added subschema #1 subschema #2 to the ///// response property allOf list for the response status

    • info

      removed the DAILY enum value from the ////// response property for the response status

    • info

      removed the EVEN_PERIOD enum value from the ////// response property for the response status

    • info

      added the required property //// to the response with the status

    • info

      added the required property ////// to the response with the status