{
  "openapi": "3.1.0",
  "info": {
    "description": "Frozen compatibility contract for the TeamGrid legacy API. Payload schemas are intentionally broad; new integrations should use API v1.",
    "title": "TeamGrid API v0 (Legacy)",
    "version": "0.4.5"
  },
  "servers": [
    {
      "url": "https://api.teamgrid.app"
    },
    {
      "url": "https://api.teamgridapp.com"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/": {
      "get": {
        "description": "Legacy API discovery redirect",
        "operationId": "v0_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [],
        "summary": "Legacy API discovery redirect",
        "tags": [
          "discovery"
        ],
        "x-teamgrid-authenticated": false,
        "x-teamgrid-contract-status": "frozen-legacy"
      }
    },
    "/calendar/{token}.ics": {
      "get": {
        "description": "Frozen legacy v0 runtime operation.",
        "operationId": "v0_get_calendar_token_ics",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [],
        "summary": "GET /calendar/{token}.ics",
        "tags": [
          "calendar"
        ],
        "x-teamgrid-authenticated": false,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "token",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/callnotes": {
      "delete": {
        "description": "Delete call note",
        "operationId": "v0_delete_callnotes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete call note",
        "tags": [
          "callnotes"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all call notes",
        "operationId": "v0_get_callnotes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all call notes",
        "tags": [
          "callnotes"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create call note",
        "operationId": "v0_post_callnotes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create call note",
        "tags": [
          "callnotes"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/callnotes/{_id}": {
      "delete": {
        "description": "Delete call note",
        "operationId": "v0_delete_callnotes_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete call note",
        "tags": [
          "callnotes"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a call note",
        "operationId": "v0_get_callnotes_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a call note",
        "tags": [
          "callnotes"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/contactgroups": {
      "delete": {
        "description": "Delete contact group",
        "operationId": "v0_delete_contactgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete contact group",
        "tags": [
          "contactgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all contact groups",
        "operationId": "v0_get_contactgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all contact groups",
        "tags": [
          "contactgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create contact group",
        "operationId": "v0_post_contactgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create contact group",
        "tags": [
          "contactgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update contact group",
        "operationId": "v0_put_contactgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update contact group",
        "tags": [
          "contactgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/contactgroups/{_id}": {
      "delete": {
        "description": "Delete contact group",
        "operationId": "v0_delete_contactgroups_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete contact group",
        "tags": [
          "contactgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a contact group",
        "operationId": "v0_get_contactgroups_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a contact group",
        "tags": [
          "contactgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update contact group",
        "operationId": "v0_put_contactgroups_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update contact group",
        "tags": [
          "contactgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/contacts": {
      "get": {
        "description": "Get all contacts",
        "operationId": "v0_get_contacts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all contacts",
        "tags": [
          "contacts"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create contact",
        "operationId": "v0_post_contacts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create contact",
        "tags": [
          "contacts"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update contact",
        "operationId": "v0_put_contacts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update contact",
        "tags": [
          "contacts"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/contacts/{_id}": {
      "get": {
        "description": "Get a contact",
        "operationId": "v0_get_contacts_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a contact",
        "tags": [
          "contacts"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update contact",
        "operationId": "v0_put_contacts_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update contact",
        "tags": [
          "contacts"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/journalEntries": {
      "delete": {
        "description": "Delete journal entry",
        "operationId": "v0_delete_journalEntries",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete journal entry",
        "tags": [
          "journalEntries"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all journal entries",
        "operationId": "v0_get_journalEntries",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all journal entries",
        "tags": [
          "journalEntries"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create journal entry",
        "operationId": "v0_post_journalEntries",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create journal entry",
        "tags": [
          "journalEntries"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update journal entry",
        "operationId": "v0_put_journalEntries",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update journal entry",
        "tags": [
          "journalEntries"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/journalEntries/{_id}": {
      "delete": {
        "description": "Delete journal entry",
        "operationId": "v0_delete_journalEntries_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete journal entry",
        "tags": [
          "journalEntries"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a journal entry",
        "operationId": "v0_get_journalEntries_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a journal entry",
        "tags": [
          "journalEntries"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update journal entry",
        "operationId": "v0_put_journalEntries_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update journal entry",
        "tags": [
          "journalEntries"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/lists": {
      "delete": {
        "description": "Delete list",
        "operationId": "v0_delete_lists",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete list",
        "tags": [
          "lists"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all lists",
        "operationId": "v0_get_lists",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all lists",
        "tags": [
          "lists"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create list",
        "operationId": "v0_post_lists",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create list",
        "tags": [
          "lists"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update list",
        "operationId": "v0_put_lists",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update list",
        "tags": [
          "lists"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/lists/{_id}": {
      "delete": {
        "description": "Delete list",
        "operationId": "v0_delete_lists_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete list",
        "tags": [
          "lists"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a list",
        "operationId": "v0_get_lists_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a list",
        "tags": [
          "lists"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update list",
        "operationId": "v0_put_lists_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update list",
        "tags": [
          "lists"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/productgroups": {
      "delete": {
        "description": "Delete product group",
        "operationId": "v0_delete_productgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete product group",
        "tags": [
          "productgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all product groups",
        "operationId": "v0_get_productgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all product groups",
        "tags": [
          "productgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create product group",
        "operationId": "v0_post_productgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create product group",
        "tags": [
          "productgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update product group",
        "operationId": "v0_put_productgroups",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update product group",
        "tags": [
          "productgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/productgroups/{_id}": {
      "delete": {
        "description": "Delete product group",
        "operationId": "v0_delete_productgroups_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete product group",
        "tags": [
          "productgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a product group",
        "operationId": "v0_get_productgroups_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a product group",
        "tags": [
          "productgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update product group",
        "operationId": "v0_put_productgroups_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update product group",
        "tags": [
          "productgroups"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/products": {
      "delete": {
        "description": "Delete product",
        "operationId": "v0_delete_products",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete product",
        "tags": [
          "products"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all products",
        "operationId": "v0_get_products",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all products",
        "tags": [
          "products"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create product",
        "operationId": "v0_post_products",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create product",
        "tags": [
          "products"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update product",
        "operationId": "v0_put_products",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update product",
        "tags": [
          "products"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/products/{_id}": {
      "delete": {
        "description": "Delete product",
        "operationId": "v0_delete_products_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete product",
        "tags": [
          "products"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a product",
        "operationId": "v0_get_products_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a product",
        "tags": [
          "products"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update product",
        "operationId": "v0_put_products_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update product",
        "tags": [
          "products"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/projects": {
      "get": {
        "description": "Get all projects",
        "operationId": "v0_get_projects",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all projects",
        "tags": [
          "projects"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create project",
        "operationId": "v0_post_projects",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create project",
        "tags": [
          "projects"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update project",
        "operationId": "v0_put_projects",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update project",
        "tags": [
          "projects"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/projects/{_id}": {
      "get": {
        "description": "Get a project",
        "operationId": "v0_get_projects_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a project",
        "tags": [
          "projects"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update project",
        "operationId": "v0_put_projects_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update project",
        "tags": [
          "projects"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/projectTemplates": {
      "delete": {
        "description": "Delete project template",
        "operationId": "v0_delete_projectTemplates",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete project template",
        "tags": [
          "projectTemplates"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all project templates",
        "operationId": "v0_get_projectTemplates",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all project templates",
        "tags": [
          "projectTemplates"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create project template",
        "operationId": "v0_post_projectTemplates",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create project template",
        "tags": [
          "projectTemplates"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update project template",
        "operationId": "v0_put_projectTemplates",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update project template",
        "tags": [
          "projectTemplates"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/projectTemplates/{_id}": {
      "delete": {
        "description": "Delete project template",
        "operationId": "v0_delete_projectTemplates_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete project template",
        "tags": [
          "projectTemplates"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a project template",
        "operationId": "v0_get_projectTemplates_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a project template",
        "tags": [
          "projectTemplates"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update project template",
        "operationId": "v0_put_projectTemplates_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update project template",
        "tags": [
          "projectTemplates"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/scheduledWork": {
      "get": {
        "description": "Get all scheduled work",
        "operationId": "v0_get_scheduledWork",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all scheduled work",
        "tags": [
          "scheduledWork"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/services": {
      "get": {
        "description": "Get all services",
        "operationId": "v0_get_services",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all services",
        "tags": [
          "services"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/services/{_id}": {
      "get": {
        "description": "Get a service",
        "operationId": "v0_get_services_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a service",
        "tags": [
          "services"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/tags": {
      "get": {
        "description": "Get all tags",
        "operationId": "v0_get_tags",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all tags",
        "tags": [
          "tags"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/tags/{_id}": {
      "get": {
        "description": "Get a tag",
        "operationId": "v0_get_tags_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a tag",
        "tags": [
          "tags"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/tasks": {
      "delete": {
        "description": "Delete task",
        "operationId": "v0_delete_tasks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all tasks",
        "operationId": "v0_get_tasks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all tasks",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create task",
        "operationId": "v0_post_tasks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update task",
        "operationId": "v0_put_tasks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/tasks/{_id}": {
      "delete": {
        "description": "Delete task",
        "operationId": "v0_delete_tasks_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a task",
        "operationId": "v0_get_tasks_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update task",
        "operationId": "v0_put_tasks_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/tasks/{_id}/startTracking": {
      "post": {
        "description": "Starts time tracking for a task",
        "operationId": "v0_post_tasks_id_startTracking",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Starts time tracking for a task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/tasks/{_id}/stopTracking": {
      "post": {
        "description": "Stops time tracking for a task",
        "operationId": "v0_post_tasks_id_stopTracking",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Stops time tracking for a task",
        "tags": [
          "tasks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/teams": {
      "get": {
        "description": "Get team",
        "operationId": "v0_get_teams",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get team",
        "tags": [
          "teams"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/times": {
      "delete": {
        "description": "Delete time entry",
        "operationId": "v0_delete_times",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete time entry",
        "tags": [
          "times"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all time entries",
        "operationId": "v0_get_times",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all time entries",
        "tags": [
          "times"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create time entry",
        "operationId": "v0_post_times",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create time entry",
        "tags": [
          "times"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      },
      "put": {
        "description": "Update time entry",
        "operationId": "v0_put_times",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update time entry",
        "tags": [
          "times"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/times/{_id}": {
      "delete": {
        "description": "Delete time entry",
        "operationId": "v0_delete_times_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete time entry",
        "tags": [
          "times"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get a time entry",
        "operationId": "v0_get_times_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a time entry",
        "tags": [
          "times"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "put": {
        "description": "Update time entry",
        "operationId": "v0_put_times_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update time entry",
        "tags": [
          "times"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/users": {
      "get": {
        "description": "Get users",
        "operationId": "v0_get_users",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get users",
        "tags": [
          "users"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    },
    "/webhooks": {
      "delete": {
        "description": "Delete webhook",
        "operationId": "v0_delete_webhooks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete webhook",
        "tags": [
          "webhooks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy"
      },
      "get": {
        "description": "Get all webhooks",
        "operationId": "v0_get_webhooks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get all webhooks",
        "tags": [
          "webhooks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      },
      "post": {
        "description": "Create a webhook",
        "operationId": "v0_post_webhooks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a webhook",
        "tags": [
          "webhooks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacyWritePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/webhooks/{_id}": {
      "delete": {
        "description": "Delete webhook",
        "operationId": "v0_delete_webhooks_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Delete webhook",
        "tags": [
          "webhooks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "description": "Get webhook",
        "operationId": "v0_get_webhooks_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy success response."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy create response."
          },
          "204": {
            "description": "Legacy no-content response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyResponse"
                }
              }
            },
            "description": "Legacy request failure."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Authentication failed."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegacyError"
                }
              }
            },
            "description": "Rate limit exceeded."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get webhook",
        "tags": [
          "webhooks"
        ],
        "x-teamgrid-authenticated": true,
        "x-teamgrid-contract-status": "frozen-legacy",
        "parameters": [
          {
            "in": "path",
            "name": "_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "LegacyError": {
        "additionalProperties": true,
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "statusCode": {
            "type": "integer"
          }
        },
        "required": [
          "statusCode"
        ],
        "type": "object"
      },
      "LegacyResponse": {
        "additionalProperties": true,
        "properties": {
          "data": {},
          "info": {
            "type": "string"
          },
          "pagination": {
            "type": [
              "object",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "statusCode": {
            "type": "integer"
          }
        },
        "required": [
          "statusCode"
        ],
        "type": "object"
      },
      "LegacyWritePayload": {
        "additionalProperties": true,
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "bearerFormat": "TeamGrid legacy API token",
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
