{
  "opencollection": "1.0.0",
  "info": {
    "name": "Light Authorization v1 - Contracts API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "Authorization",
      "value": "{{Authorization}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "v1 - Contracts",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Cancel scheduled termination",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts/:contractId/cancel-termination",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Cancels a scheduled termination, returning the contract to active"
        },
        {
          "info": {
            "name": "List contracts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/v1/contracts",
            "params": [
              {
                "name": "sort",
                "value": "",
                "type": "query"
              },
              {
                "name": "filter",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of items to return. Default is 50, maximum is 200."
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "Number of items to skip before starting to collect the result set. Deprecated, use 'cursor' instead."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "The cursor position to start returning results from.\nTo opt-in into cursor-based pagination, provide `0` for the initial request.\nFor subsequent requests, use `nextCursor` and `prevCursor` from the previous response to navigate.\nCursor values are opaque and should not be constructed manually."
              }
            ]
          },
          "docs": "Returns a paginated list of contracts"
        },
        {
          "info": {
            "name": "Create contract",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new contract"
        },
        {
          "info": {
            "name": "Create contract line",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts/:contractId/lines",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new contract line item"
        },
        {
          "info": {
            "name": "Get contract",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/v1/contracts/:contractId",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns a specific contract by ID"
        },
        {
          "info": {
            "name": "Update contract",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/v1/contracts/:contractId",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a contract"
        },
        {
          "info": {
            "name": "Delete contract",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/v1/contracts/:contractId",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes a contract by ID"
        },
        {
          "info": {
            "name": "Update contract line",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/v1/contracts/:contractId/lines/:lineId",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              },
              {
                "name": "lineId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a contract line item"
        },
        {
          "info": {
            "name": "Delete contract line",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/v1/contracts/:contractId/lines/:lineId",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              },
              {
                "name": "lineId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes a contract line item"
        },
        {
          "info": {
            "name": "Generate document upload URL",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts/:contractId/generate-document-upload-url",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Generates a pre-signed URL to upload the main contract document (PDF). After uploading to this URL, the document will appear in the contract's document preview."
        },
        {
          "info": {
            "name": "Publish contract",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts/:contractId/publish",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Publishes a contract, transitioning it to ACTIVE state"
        },
        {
          "info": {
            "name": "Renew contract",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts/:contractId/renew",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Renews a contract by extending its end date"
        },
        {
          "info": {
            "name": "Reset contract",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts/:contractId/reset",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Resets a contract to CREATED state"
        },
        {
          "info": {
            "name": "Terminate contract",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/v1/contracts/:contractId/terminate",
            "params": [
              {
                "name": "contractId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Terminates a contract"
        }
      ]
    }
  ],
  "bundled": true
}