{
  "openapi": "3.1.0",
  "info": {
    "title": "Financial Time & Expense",
    "version": "2023-07-01"
  },
  "servers": [
    {
      "url": "https://client.beeline.com/api"
    },
    {
      "url": "https://client-eu.beeline.com/api"
    }
  ],
  "tags": [
    {
      "name": "financial-foundational-data",
      "x-displayName": "Financial Foundational Data",
      "description": "Synchronize your financial foundational data between your Beeline and your ERP systems in order to drive your financial processes.\n",
      "x-traitTag": true
    },
    {
      "name": "Project",
      "description": "The Project API comprises endpoints you can use to manage timesheet and expense data related to the tasks associated with your projects.\nYou can add, update or deactivate projects in Enterprise. You can also retrieve data points, such as project ID, project type, project description, and much more.\n"
    },
    {
      "name": "Task",
      "description": "The Task API comprises endpoints you can use to manage project tasks. You can add tasks to projects that can be associated with requisitions and timesheets.\nYou can also retrieve data points, such as project task ID, task name, start and end dates, and much more.\n"
    },
    {
      "name": "time-and-expense",
      "x-displayName": "Time & Expense",
      "description": "Click [here](webhook-management_2023-07-01#tag/time-and-expense-event-types) to see the list of available time and expense events that are available to subscribe to.\n",
      "x-traitTag": true
    },
    {
      "name": "Timesheet",
      "x-displayName": "Timesheet",
      "description": "The Timesheet API comprises endpoints you can use to manage timesheets.\n"
    }
  ],
  "paths": {
    "/sites/{clientSiteId}/bte/project-types": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "get": {
        "operationId": "get-project-types",
        "summary": "List Project Types",
        "description": "- Retrieves information from Enterprise about your active project types.\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "read:bte"
            ]
          }
        ],
        "parameters": [
          {
            "name": "skip",
            "in": "query",
            "description": "skip a number of records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "top",
            "in": "query",
            "description": "select up to 1000 records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of project types",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of project types",
                  "required": [
                    "maxItems",
                    "value"
                  ],
                  "properties": {
                    "maxItems": {
                      "type": "integer",
                      "description": "The total number of project types"
                    },
                    "value": {
                      "type": "array",
                      "description": "An array of project types.  If there are no project types, this will be an empty array.",
                      "items": {
                        "type": "object",
                        "required": [
                          "projectTypeName"
                        ],
                        "properties": {
                          "projectTypeName": {
                            "type": "string",
                            "description": "Name of the project type",
                            "maxLength": 30
                          },
                          "description": {
                            "type": [
                              "string"
                            ],
                            "description": "Description of the project type",
                            "maxLength": 250
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post-project-type",
        "summary": "Create Project Type",
        "description": "- Create a new project type\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "requestBody": {
          "description": "Adds a new project type in the VMS.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "A Project Type.",
                "required": [
                  "projectTypeName"
                ],
                "properties": {
                  "projectTypeName": {
                    "type": "string",
                    "description": "Name of the project type",
                    "maxLength": 30
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the project type",
                    "maxLength": 250
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "New project type has been created.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "projectTypeName"
                  ],
                  "properties": {
                    "projectTypeName": {
                      "type": "string",
                      "description": "Name of the project type",
                      "maxLength": 30
                    },
                    "description": {
                      "type": [
                        "string"
                      ],
                      "description": "Description of the project type",
                      "maxLength": 250
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/project-types/{projectTypeName}": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "in": "path",
          "name": "projectTypeName",
          "description": "Uniquely identifies a project type.",
          "required": true,
          "schema": {
            "type": "string",
            "maxLength": 30
          }
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "delete": {
        "operationId": "delete-project-type",
        "summary": "Delete Project Type",
        "description": "- Deactivate an active project type\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Project Type was successfully removed.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/projects": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "get": {
        "operationId": "get-projects",
        "summary": "List Projects",
        "description": "- Retrieves information from Enterprise about your active projects.\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "read:bte"
            ]
          }
        ],
        "parameters": [
          {
            "name": "skip",
            "in": "query",
            "description": "skip a number of records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "top",
            "in": "query",
            "description": "select up to 1000 records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of projects",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of projects",
                  "required": [
                    "maxItems",
                    "value"
                  ],
                  "properties": {
                    "maxItems": {
                      "type": "integer",
                      "description": "The total number of projects"
                    },
                    "value": {
                      "type": "array",
                      "description": "An array of projects.  If there are no projects, this will be an empty array.",
                      "items": {
                        "type": "object",
                        "required": [
                          "projectCode"
                        ],
                        "properties": {
                          "projectId": {
                            "type": [
                              "string"
                            ],
                            "description": "ID of the project",
                            "maxLength": 128
                          },
                          "projectCode": {
                            "type": "string",
                            "description": "Code of the project",
                            "maxLength": 255
                          },
                          "subCode": {
                            "type": [
                              "string"
                            ],
                            "description": "Subcode of the project",
                            "maxLength": 50
                          },
                          "title": {
                            "type": [
                              "string"
                            ],
                            "description": "Title of the project",
                            "maxLength": 255
                          },
                          "shortName": {
                            "type": [
                              "string"
                            ],
                            "description": "Short name of the project",
                            "maxLength": 255
                          },
                          "projectTypeName": {
                            "type": [
                              "string"
                            ],
                            "description": "Name of the associated project type",
                            "maxLength": 30
                          },
                          "description": {
                            "type": [
                              "string"
                            ],
                            "description": "Description of the project",
                            "maxLength": 4000
                          },
                          "financialTask1": {
                            "type": [
                              "string"
                            ],
                            "description": "Financial task number of the project",
                            "maxLength": 128
                          },
                          "financialTask2": {
                            "type": [
                              "string"
                            ],
                            "description": "Financial task number of the project",
                            "maxLength": 128
                          },
                          "isBillable": {
                            "type": [
                              "boolean"
                            ],
                            "description": "Billable flag of the project"
                          },
                          "budget": {
                            "type": "number",
                            "description": "Budget of the project",
                            "minimum": 0,
                            "maximum": 922337203685477.6
                          },
                          "isOffshore": {
                            "type": [
                              "boolean"
                            ],
                            "description": "Offshore flag of the project"
                          },
                          "allowSelfSignup": {
                            "type": [
                              "boolean"
                            ],
                            "description": "Self Signup flag of the project"
                          },
                          "isTaskLevel": {
                            "type": [
                              "boolean"
                            ],
                            "description": "Task level flag of the project"
                          },
                          "isTaskRequired": {
                            "type": [
                              "boolean"
                            ],
                            "description": "Task required flag of the project"
                          },
                          "isSop98Eligible": {
                            "type": [
                              "boolean"
                            ],
                            "description": "SOP98 eligibility flag of the project"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post-create-project",
        "summary": "Create Project",
        "description": "- Create a new project\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "requestBody": {
          "description": "Adds a new project in the VMS.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "A Project.",
                "required": [
                  "projectCode",
                  "title",
                  "shortName",
                  "isOffshore"
                ],
                "properties": {
                  "projectCode": {
                    "type": "string",
                    "description": "Code of the project",
                    "maxLength": 255
                  },
                  "subCode": {
                    "type": "string",
                    "description": "Subcode of the project",
                    "maxLength": 50
                  },
                  "title": {
                    "type": "string",
                    "description": "Title of the project",
                    "maxLength": 255
                  },
                  "shortName": {
                    "type": "string",
                    "description": "Short name of the project",
                    "maxLength": 255
                  },
                  "projectTypeName": {
                    "type": "string",
                    "description": "Name of the associated project type",
                    "maxLength": 30
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the project",
                    "maxLength": 4000
                  },
                  "financialTask1": {
                    "type": "string",
                    "description": "Financial task number of the project",
                    "maxLength": 128
                  },
                  "financialTask2": {
                    "type": "string",
                    "description": "Financial task number of the project",
                    "maxLength": 128
                  },
                  "isBillable": {
                    "type": "boolean",
                    "description": "Billable flag of the project"
                  },
                  "budget": {
                    "type": "number",
                    "description": "Budget of the project",
                    "minimum": 0,
                    "maximum": 922337203685477.6
                  },
                  "isOffshore": {
                    "type": "boolean",
                    "description": "Offshore flag of the project"
                  },
                  "allowSelfSignup": {
                    "type": "boolean",
                    "description": "Self Signup flag of the project"
                  },
                  "isTaskLevel": {
                    "type": "boolean",
                    "description": "Task level flag of the project"
                  },
                  "isTaskRequired": {
                    "type": "boolean",
                    "description": "Task required flag of the project"
                  },
                  "isSop98Eligible": {
                    "type": "boolean",
                    "description": "SOP98 eligibility flag of the project"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "New project has been created.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "projectCode"
                  ],
                  "properties": {
                    "projectId": {
                      "type": [
                        "string"
                      ],
                      "description": "ID of the project",
                      "maxLength": 128
                    },
                    "projectCode": {
                      "type": "string",
                      "description": "Code of the project",
                      "maxLength": 255
                    },
                    "subCode": {
                      "type": [
                        "string"
                      ],
                      "description": "Subcode of the project",
                      "maxLength": 50
                    },
                    "title": {
                      "type": [
                        "string"
                      ],
                      "description": "Title of the project",
                      "maxLength": 255
                    },
                    "shortName": {
                      "type": [
                        "string"
                      ],
                      "description": "Short name of the project",
                      "maxLength": 255
                    },
                    "projectTypeName": {
                      "type": [
                        "string"
                      ],
                      "description": "Name of the associated project type",
                      "maxLength": 30
                    },
                    "description": {
                      "type": [
                        "string"
                      ],
                      "description": "Description of the project",
                      "maxLength": 4000
                    },
                    "financialTask1": {
                      "type": [
                        "string"
                      ],
                      "description": "Financial task number of the project",
                      "maxLength": 128
                    },
                    "financialTask2": {
                      "type": [
                        "string"
                      ],
                      "description": "Financial task number of the project",
                      "maxLength": 128
                    },
                    "isBillable": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Billable flag of the project"
                    },
                    "budget": {
                      "type": "number",
                      "description": "Budget of the project",
                      "minimum": 0,
                      "maximum": 922337203685477.6
                    },
                    "isOffshore": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Offshore flag of the project"
                    },
                    "allowSelfSignup": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Self Signup flag of the project"
                    },
                    "isTaskLevel": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Task level flag of the project"
                    },
                    "isTaskRequired": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Task required flag of the project"
                    },
                    "isSop98Eligible": {
                      "type": [
                        "boolean"
                      ],
                      "description": "SOP98 eligibility flag of the project"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/projects/{projectCode}": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "in": "path",
          "name": "projectCode",
          "description": "Uniquely identifies a project.",
          "required": true,
          "schema": {
            "type": "string",
            "maxLength": 255
          }
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "put": {
        "operationId": "put-project",
        "summary": "Update Project",
        "description": "- Update an existing project\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "requestBody": {
          "description": "The project details to be updated.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "A Project.",
                "required": [
                  "title",
                  "shortName",
                  "isOffshore"
                ],
                "properties": {
                  "subCode": {
                    "type": "string",
                    "description": "Subcode of the project",
                    "maxLength": 50
                  },
                  "title": {
                    "type": "string",
                    "description": "Title of the project",
                    "maxLength": 255
                  },
                  "shortName": {
                    "type": "string",
                    "description": "Short name of the project",
                    "maxLength": 255
                  },
                  "projectTypeName": {
                    "type": "string",
                    "description": "Name of the associated project type",
                    "maxLength": 30
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the project",
                    "maxLength": 4000
                  },
                  "financialTask1": {
                    "type": "string",
                    "description": "Financial task number of the project",
                    "maxLength": 128
                  },
                  "financialTask2": {
                    "type": "string",
                    "description": "Financial task number of the project",
                    "maxLength": 128
                  },
                  "isBillable": {
                    "type": "boolean",
                    "description": "Billable flag of the project"
                  },
                  "budget": {
                    "type": "number",
                    "description": "Budget of the project",
                    "minimum": 0,
                    "maximum": 922337203685477.6
                  },
                  "isOffshore": {
                    "type": "boolean",
                    "description": "Offshore flag of the project"
                  },
                  "allowSelfSignup": {
                    "type": "boolean",
                    "description": "Self Signup flag of the project"
                  },
                  "isTaskLevel": {
                    "type": "boolean",
                    "description": "Task level flag of the project"
                  },
                  "isTaskRequired": {
                    "type": "boolean",
                    "description": "Task required flag of the project"
                  },
                  "isSop98Eligible": {
                    "type": "boolean",
                    "description": "SOP98 eligibility flag of the project"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Project was successfully updated.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "projectCode"
                  ],
                  "properties": {
                    "projectId": {
                      "type": [
                        "string"
                      ],
                      "description": "ID of the project",
                      "maxLength": 128
                    },
                    "projectCode": {
                      "type": "string",
                      "description": "Code of the project",
                      "maxLength": 255
                    },
                    "subCode": {
                      "type": [
                        "string"
                      ],
                      "description": "Subcode of the project",
                      "maxLength": 50
                    },
                    "title": {
                      "type": [
                        "string"
                      ],
                      "description": "Title of the project",
                      "maxLength": 255
                    },
                    "shortName": {
                      "type": [
                        "string"
                      ],
                      "description": "Short name of the project",
                      "maxLength": 255
                    },
                    "projectTypeName": {
                      "type": [
                        "string"
                      ],
                      "description": "Name of the associated project type",
                      "maxLength": 30
                    },
                    "description": {
                      "type": [
                        "string"
                      ],
                      "description": "Description of the project",
                      "maxLength": 4000
                    },
                    "financialTask1": {
                      "type": [
                        "string"
                      ],
                      "description": "Financial task number of the project",
                      "maxLength": 128
                    },
                    "financialTask2": {
                      "type": [
                        "string"
                      ],
                      "description": "Financial task number of the project",
                      "maxLength": 128
                    },
                    "isBillable": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Billable flag of the project"
                    },
                    "budget": {
                      "type": "number",
                      "description": "Budget of the project",
                      "minimum": 0,
                      "maximum": 922337203685477.6
                    },
                    "isOffshore": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Offshore flag of the project"
                    },
                    "allowSelfSignup": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Self Signup flag of the project"
                    },
                    "isTaskLevel": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Task level flag of the project"
                    },
                    "isTaskRequired": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Task required flag of the project"
                    },
                    "isSop98Eligible": {
                      "type": [
                        "boolean"
                      ],
                      "description": "SOP98 eligibility flag of the project"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "get-project-by-code",
        "summary": "Get Project By Code",
        "description": "- Retrieves information from Enterprise about an active project with a given code.\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "read:bte"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The project information",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "projectCode"
                  ],
                  "properties": {
                    "projectId": {
                      "type": [
                        "string"
                      ],
                      "description": "ID of the project",
                      "maxLength": 128
                    },
                    "projectCode": {
                      "type": "string",
                      "description": "Code of the project",
                      "maxLength": 255
                    },
                    "subCode": {
                      "type": [
                        "string"
                      ],
                      "description": "Subcode of the project",
                      "maxLength": 50
                    },
                    "title": {
                      "type": [
                        "string"
                      ],
                      "description": "Title of the project",
                      "maxLength": 255
                    },
                    "shortName": {
                      "type": [
                        "string"
                      ],
                      "description": "Short name of the project",
                      "maxLength": 255
                    },
                    "projectTypeName": {
                      "type": [
                        "string"
                      ],
                      "description": "Name of the associated project type",
                      "maxLength": 30
                    },
                    "description": {
                      "type": [
                        "string"
                      ],
                      "description": "Description of the project",
                      "maxLength": 4000
                    },
                    "financialTask1": {
                      "type": [
                        "string"
                      ],
                      "description": "Financial task number of the project",
                      "maxLength": 128
                    },
                    "financialTask2": {
                      "type": [
                        "string"
                      ],
                      "description": "Financial task number of the project",
                      "maxLength": 128
                    },
                    "isBillable": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Billable flag of the project"
                    },
                    "budget": {
                      "type": "number",
                      "description": "Budget of the project",
                      "minimum": 0,
                      "maximum": 922337203685477.6
                    },
                    "isOffshore": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Offshore flag of the project"
                    },
                    "allowSelfSignup": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Self Signup flag of the project"
                    },
                    "isTaskLevel": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Task level flag of the project"
                    },
                    "isTaskRequired": {
                      "type": [
                        "boolean"
                      ],
                      "description": "Task required flag of the project"
                    },
                    "isSop98Eligible": {
                      "type": [
                        "boolean"
                      ],
                      "description": "SOP98 eligibility flag of the project"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete-project",
        "summary": "Delete Project",
        "description": "- Deactivate an active project\n",
        "tags": [
          "Project"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Project was successfully removed.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/task-phases": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "get": {
        "operationId": "get-task-phases",
        "summary": "List Task Phases",
        "description": "- Retrieves information from Enterprise about active task phases.\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "read:bte"
            ]
          }
        ],
        "parameters": [
          {
            "name": "skip",
            "in": "query",
            "description": "skip a number of records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "top",
            "in": "query",
            "description": "select up to 1000 records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of task phases",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of task phases",
                  "required": [
                    "maxItems",
                    "value"
                  ],
                  "properties": {
                    "maxItems": {
                      "type": "integer",
                      "description": "The total number of task phases"
                    },
                    "value": {
                      "type": "array",
                      "description": "An array of task phases.  If there are no task phases, this will be an empty array.",
                      "items": {
                        "type": "object",
                        "required": [
                          "taskPhaseCode"
                        ],
                        "properties": {
                          "taskPhaseCode": {
                            "type": "string",
                            "description": "Code of the task phase",
                            "maxLength": 255
                          },
                          "name": {
                            "type": [
                              "string"
                            ],
                            "description": "Name of the task phase",
                            "maxLength": 30
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post-task-phase",
        "summary": "Create Task Phase",
        "description": "- Create a new task phase\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "requestBody": {
          "description": "Adds a new task phase in the VMS.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "A Task Phase.",
                "required": [
                  "taskPhaseCode",
                  "name"
                ],
                "properties": {
                  "taskPhaseCode": {
                    "type": "string",
                    "description": "Code of the task phase",
                    "maxLength": 255
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the task phase",
                    "maxLength": 30
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "New task phase has been created.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "taskPhaseCode"
                  ],
                  "properties": {
                    "taskPhaseCode": {
                      "type": "string",
                      "description": "Code of the task phase",
                      "maxLength": 255
                    },
                    "name": {
                      "type": [
                        "string"
                      ],
                      "description": "Name of the task phase",
                      "maxLength": 30
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/task-phases/{taskPhaseCode}": {
      "parameters": [
        {
          "in": "path",
          "name": "taskPhaseCode",
          "description": "Uniquely identifies a task phase.",
          "required": true,
          "schema": {
            "type": "string",
            "maxLength": 255
          }
        },
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "delete": {
        "operationId": "delete-task-phase",
        "summary": "Delete Task Phase",
        "description": "- Deactivate an active task phase\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Task Phase was successfully removed.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/projects/{projectCode}/tasks": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "in": "path",
          "name": "projectCode",
          "description": "Uniquely identifies a project.",
          "required": true,
          "schema": {
            "type": "string",
            "maxLength": 255
          }
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "get": {
        "operationId": "get-tasks",
        "summary": "List Tasks",
        "description": "- Retrieves information from Enterprise about active project tasks.\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "read:bte"
            ]
          }
        ],
        "parameters": [
          {
            "name": "skip",
            "in": "query",
            "description": "skip a number of records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "top",
            "in": "query",
            "description": "select up to 1000 records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of tasks",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of tasks",
                  "required": [
                    "maxItems",
                    "value"
                  ],
                  "properties": {
                    "maxItems": {
                      "type": "integer",
                      "description": "The total number of tasks"
                    },
                    "value": {
                      "type": "array",
                      "description": "An array of tasks.  If there are no tasks, this will be an empty array.",
                      "items": {
                        "type": "object",
                        "required": [
                          "taskId",
                          "projectCode"
                        ],
                        "properties": {
                          "taskId": {
                            "type": "integer",
                            "description": "ID of the task",
                            "minimum": 1
                          },
                          "projectCode": {
                            "type": "string",
                            "description": "Code of the associated project",
                            "maxLength": 255
                          },
                          "name": {
                            "type": [
                              "string"
                            ],
                            "description": "Name of the task",
                            "maxLength": 100
                          },
                          "description": {
                            "type": [
                              "string"
                            ],
                            "description": "Description of the task",
                            "maxLength": 50
                          },
                          "taskPhaseCode": {
                            "type": [
                              "string"
                            ],
                            "description": "Code of the associated task phase",
                            "maxLength": 255
                          },
                          "startDate": {
                            "type": "string",
                            "format": "date",
                            "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                          },
                          "endDate": {
                            "type": "string",
                            "format": "date",
                            "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                          },
                          "wbsCode": {
                            "type": [
                              "string"
                            ],
                            "description": "WBS code of the task",
                            "maxLength": 50
                          },
                          "sequenceNumber": {
                            "type": [
                              "integer"
                            ],
                            "description": "Sequence of the task",
                            "minimum": 0
                          },
                          "isSop98Eligible": {
                            "type": [
                              "boolean"
                            ],
                            "description": "SOP98 eligibility flag of the task"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post-create-task",
        "summary": "Create Task",
        "description": "- Create a new task\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "requestBody": {
          "description": "Adds a new task in the VMS.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "A Task.",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name of the task",
                    "maxLength": 100
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the task",
                    "maxLength": 50
                  },
                  "taskPhaseCode": {
                    "type": "string",
                    "description": "Code of the associated task phase",
                    "maxLength": 255
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date",
                    "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                  },
                  "endDate": {
                    "type": "string",
                    "format": "date",
                    "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                  },
                  "wbsCode": {
                    "type": "string",
                    "description": "WBS code of the task",
                    "maxLength": 50
                  },
                  "sequenceNumber": {
                    "type": "integer",
                    "description": "Sequence of the task",
                    "minimum": 0
                  },
                  "isSop98Eligible": {
                    "type": "boolean",
                    "description": "SOP98 eligibility flag of the task"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "New task has been created.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "taskId",
                    "projectCode"
                  ],
                  "properties": {
                    "taskId": {
                      "type": "integer",
                      "description": "ID of the task",
                      "minimum": 1
                    },
                    "projectCode": {
                      "type": "string",
                      "description": "Code of the associated project",
                      "maxLength": 255
                    },
                    "name": {
                      "type": [
                        "string"
                      ],
                      "description": "Name of the task",
                      "maxLength": 100
                    },
                    "description": {
                      "type": [
                        "string"
                      ],
                      "description": "Description of the task",
                      "maxLength": 50
                    },
                    "taskPhaseCode": {
                      "type": [
                        "string"
                      ],
                      "description": "Code of the associated task phase",
                      "maxLength": 255
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    },
                    "endDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    },
                    "wbsCode": {
                      "type": [
                        "string"
                      ],
                      "description": "WBS code of the task",
                      "maxLength": 50
                    },
                    "sequenceNumber": {
                      "type": [
                        "integer"
                      ],
                      "description": "Sequence of the task",
                      "minimum": 0
                    },
                    "isSop98Eligible": {
                      "type": [
                        "boolean"
                      ],
                      "description": "SOP98 eligibility flag of the task"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/projects/{projectCode}/tasks/{taskId}": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "in": "path",
          "name": "projectCode",
          "description": "Uniquely identifies a project.",
          "required": true,
          "schema": {
            "type": "string",
            "maxLength": 255
          }
        },
        {
          "in": "path",
          "name": "taskId",
          "description": "Uniquely identifies a task.",
          "required": true,
          "schema": {
            "type": "integer",
            "minimum": 1
          }
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "put": {
        "operationId": "put-task",
        "summary": "Update Task",
        "description": "- Update an existing task\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "requestBody": {
          "description": "The task details to be updated.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "A Task.",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name of the task",
                    "maxLength": 100
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the task",
                    "maxLength": 50
                  },
                  "taskPhaseCode": {
                    "type": "string",
                    "description": "Code of the associated task phase",
                    "maxLength": 255
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date",
                    "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                  },
                  "endDate": {
                    "type": "string",
                    "format": "date",
                    "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                  },
                  "wbsCode": {
                    "type": "string",
                    "description": "WBS code of the task",
                    "maxLength": 50
                  },
                  "sequenceNumber": {
                    "type": "integer",
                    "description": "Sequence of the task",
                    "minimum": 0
                  },
                  "isSop98Eligible": {
                    "type": "boolean",
                    "description": "SOP98 eligibility flag of the task"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task was successfully updated.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "taskId",
                    "projectCode"
                  ],
                  "properties": {
                    "taskId": {
                      "type": "integer",
                      "description": "ID of the task",
                      "minimum": 1
                    },
                    "projectCode": {
                      "type": "string",
                      "description": "Code of the associated project",
                      "maxLength": 255
                    },
                    "name": {
                      "type": [
                        "string"
                      ],
                      "description": "Name of the task",
                      "maxLength": 100
                    },
                    "description": {
                      "type": [
                        "string"
                      ],
                      "description": "Description of the task",
                      "maxLength": 50
                    },
                    "taskPhaseCode": {
                      "type": [
                        "string"
                      ],
                      "description": "Code of the associated task phase",
                      "maxLength": 255
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    },
                    "endDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    },
                    "wbsCode": {
                      "type": [
                        "string"
                      ],
                      "description": "WBS code of the task",
                      "maxLength": 50
                    },
                    "sequenceNumber": {
                      "type": [
                        "integer"
                      ],
                      "description": "Sequence of the task",
                      "minimum": 0
                    },
                    "isSop98Eligible": {
                      "type": [
                        "boolean"
                      ],
                      "description": "SOP98 eligibility flag of the task"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "get-task-by-id",
        "summary": "Get Task By ID",
        "description": "- Retrieves information from Enterprise about an active project task with a given ID.\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "read:bte"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The task information",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "taskId",
                    "projectCode"
                  ],
                  "properties": {
                    "taskId": {
                      "type": "integer",
                      "description": "ID of the task",
                      "minimum": 1
                    },
                    "projectCode": {
                      "type": "string",
                      "description": "Code of the associated project",
                      "maxLength": 255
                    },
                    "name": {
                      "type": [
                        "string"
                      ],
                      "description": "Name of the task",
                      "maxLength": 100
                    },
                    "description": {
                      "type": [
                        "string"
                      ],
                      "description": "Description of the task",
                      "maxLength": 50
                    },
                    "taskPhaseCode": {
                      "type": [
                        "string"
                      ],
                      "description": "Code of the associated task phase",
                      "maxLength": 255
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    },
                    "endDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    },
                    "wbsCode": {
                      "type": [
                        "string"
                      ],
                      "description": "WBS code of the task",
                      "maxLength": 50
                    },
                    "sequenceNumber": {
                      "type": [
                        "integer"
                      ],
                      "description": "Sequence of the task",
                      "minimum": 0
                    },
                    "isSop98Eligible": {
                      "type": [
                        "boolean"
                      ],
                      "description": "SOP98 eligibility flag of the task"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete-task",
        "summary": "Delete Task",
        "description": "- Deactivate an active task\n",
        "tags": [
          "Task"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Task was successfully removed.",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/timesheets/{timesheetId}": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "in": "path",
          "name": "timesheetId",
          "description": "A guid uniquely identifying a timesheet.\n",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          }
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "get": {
        "operationId": "get-timesheet",
        "summary": "Get Timesheet",
        "description": "- Retrieves current timesheet information.\n",
        "tags": [
          "Timesheet"
        ],
        "security": [
          {
            "client_auth": [
              "read:bte"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "A Timesheet",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Current state for a timesheet.",
                  "required": [
                    "timesheetId",
                    "workerId"
                  ],
                  "properties": {
                    "timesheetId": {
                      "type": "string",
                      "format": "uuid",
                      "description": "The unique identifier of the timesheet.",
                      "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
                    },
                    "workerId": {
                      "type": "string",
                      "format": "uuid",
                      "description": "The unique identifier of the worker associated with the timesheet.",
                      "example": "7a40445f-7b8f-4cef-aa10-72f6cb889eb1"
                    },
                    "timesheetStartDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The start date of the timesheet.\n- Supported date format is ISO 8601.\n",
                      "example": "2024-01-18"
                    },
                    "timesheetEndDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The end date of the timesheet.\n- Supported date format is ISO 8601.\n",
                      "example": "2024-01-18"
                    },
                    "submittedDate": {
                      "type": "string",
                      "format": "date-time",
                      "description": "- The submitted date of the timesheet.\n- Supported date-time format is ISO 8601.\n",
                      "example": "2019-08-24T14:15:22Z"
                    },
                    "totalHours": {
                      "type": "number",
                      "description": "The total hours of the timesheet.",
                      "example": 34.3867
                    },
                    "grossAmount": {
                      "type": "number",
                      "description": "The gross amount of the timesheet.",
                      "minimum": 0,
                      "maximum": 922337203685477.6,
                      "example": 34593745
                    },
                    "timesheetUrl": {
                      "type": "string",
                      "description": "The url of the timesheet.",
                      "maxLength": 255,
                      "example": "https://qa.beeline.com/qa258/Assignments/TimeAndExpense/TimeAndExpense.aspx?SecurityUserID=f73850cc-ac79-4afc-82b6-5698353e362f&TimesheetEnd=Nov%206%202022"
                    },
                    "timesheetStatus": {
                      "type": "string",
                      "enum": [
                        "approved",
                        "pendingReprocess",
                        "incomplete",
                        "locked",
                        "missing",
                        "notSubmitted",
                        "pendingApproval",
                        "rejected",
                        "submitted",
                        "void"
                      ],
                      "description": "The status of the timesheet.\n",
                      "example": "approved"
                    },
                    "assignments": {
                      "type": "array",
                      "description": "The assignments associated with the timesheet.",
                      "items": {
                        "type": "object",
                        "description": "An assignment associated with a timesheet.",
                        "required": [
                          "assignmentId",
                          "projectCode",
                          "approverId"
                        ],
                        "properties": {
                          "assignmentId": {
                            "type": "string",
                            "format": "uuid",
                            "description": "The unique identifier of the assignment.",
                            "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
                          },
                          "payCode": {
                            "type": "string",
                            "description": "The pay code of the assignment.",
                            "maxLength": 50
                          },
                          "projectCode": {
                            "type": "string",
                            "description": "The project code of the assignment.",
                            "maxLength": 255
                          },
                          "taskId": {
                            "type": "integer",
                            "description": "The task id of the assignment."
                          },
                          "approverId": {
                            "type": "string",
                            "format": "uuid",
                            "description": "The unique identifier of the approver of the assignment.",
                            "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
                          },
                          "adminCostCenter": {
                            "description": "The admin cost center associated with this timesheet.",
                            "type": "object",
                            "required": [
                              "costCenterNumber"
                            ],
                            "properties": {
                              "costCenterNumber": {
                                "type": "string",
                                "description": "The cost center number of the cost center.",
                                "maxLength": 100,
                                "example": "abcd"
                              },
                              "costCenterId": {
                                "type": "string",
                                "format": "uuid",
                                "description": "The unique identifier of the cost center.",
                                "example": "37a29a36-b084-4033-8a26-b2839cce4c21"
                              },
                              "ouCode": {
                                "type": "string",
                                "description": "The organization unit code of the cost center.",
                                "maxLength": 50,
                                "example": "ou1"
                              }
                            }
                          },
                          "dateEntries": {
                            "type": "array",
                            "description": "The date entries associated with this assignment.",
                            "items": {
                              "type": "object",
                              "description": "A date entry associated with a timesheet assignment.",
                              "required": [
                                "date"
                              ],
                              "properties": {
                                "date": {
                                  "type": "string",
                                  "format": "date",
                                  "description": "- The date of the assignment date entry.\n- Supported date format is ISO 8601.\n",
                                  "example": "2024-01-18"
                                },
                                "costAllocation": {
                                  "description": "The cost allocation of the assignment date entry.",
                                  "type": "object",
                                  "properties": {
                                    "costAllocationId": {
                                      "type": "string",
                                      "format": "uuid",
                                      "description": "The unique identifier of the cost allocation.",
                                      "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                                    },
                                    "units": {
                                      "type": "array",
                                      "description": "The units of the cost allocation.",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "costAllocationUnitId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "The unique identifier of the cost allocation unit.",
                                            "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                                          },
                                          "share": {
                                            "type": "number",
                                            "description": "The percentage share of the cost allocation unit.",
                                            "example": 0.3867
                                          },
                                          "segments": {
                                            "type": "array",
                                            "description": "The segments of the cost allocation unit.",
                                            "items": {
                                              "type": "object",
                                              "properties": {
                                                "segmentId": {
                                                  "type": "string",
                                                  "format": "uuid",
                                                  "description": "The unique identifier of the cost allocation unit segment.",
                                                  "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                                                },
                                                "displayName": {
                                                  "type": "string",
                                                  "description": "The display name of the cost allocation unit segment.",
                                                  "maxLength": 255,
                                                  "example": "name123"
                                                },
                                                "code": {
                                                  "type": "string",
                                                  "description": "The code of the cost allocation unit segment.",
                                                  "maxLength": 512,
                                                  "example": "code123"
                                                }
                                              }
                                            }
                                          },
                                          "costAllocationUnitStartDate": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "- The start date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                                          },
                                          "costAllocationUnitEndDate": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "- The end date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sites/{clientSiteId}/bte/timesheets/{timesheetId}/approvals": {
      "parameters": [
        {
          "in": "path",
          "name": "clientSiteId",
          "description": "Uniquely identifies a Beeline VMS instance.",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
        },
        {
          "in": "path",
          "name": "timesheetId",
          "description": "A guid uniquely identifying a timesheet.\n",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          }
        },
        {
          "name": "api-version",
          "in": "query",
          "description": "The API version of the endpoint",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "2023-07-01"
            ]
          }
        }
      ],
      "post": {
        "operationId": "approve-reject-timesheet",
        "summary": "Approve/Reject Timesheet",
        "description": "- Submits a request to approve or reject a timesheet\n",
        "tags": [
          "Timesheet"
        ],
        "security": [
          {
            "client_auth": [
              "write:bte"
            ]
          }
        ],
        "requestBody": {
          "description": "Approves or rejects a timesheet.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "An Approve/Reject Timesheet Request.",
                "required": [
                  "approvalStatus",
                  "approverUserId"
                ],
                "properties": {
                  "approvalStatus": {
                    "type": "string",
                    "enum": [
                      "approved",
                      "rejected"
                    ],
                    "description": "The status of the timesheet approval."
                  },
                  "approverUserId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The unique identifier of the approver user.\n",
                    "example": "12576b49-e5d8-48ef-9ec8-9e7c6d13ec56"
                  },
                  "comment": {
                    "type": "string",
                    "description": "The comment regarding the timesheet approve/reject request.",
                    "maxLength": 5000
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "A list of errors.",
                      "properties": {
                        "errors": {
                          "type": "array",
                          "items": {
                            "required": [
                              "code",
                              "message"
                            ],
                            "type": "object",
                            "properties": {
                              "code": {
                                "enum": [
                                  "UNEXPECTED_ERROR",
                                  "VALIDATION_ERROR",
                                  "NOT_FOUND",
                                  "REQUEST_LIMIT_EXCEEDED",
                                  "UNSUPPORTED_API_VERSION",
                                  "CONFLICT"
                                ],
                                "type": "string",
                                "description": "One of a server-defined set of error codes."
                              },
                              "message": {
                                "type": "string",
                                "description": "The human-readable representation of the error."
                              },
                              "target": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "The number of seconds remaining when the endpoint can be called again.",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "rate-limit": {
                    "value": {
                      "errors": [
                        {
                          "code": "REQUEST_LIMIT_EXCEEDED",
                          "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "headers": {
              "X-Rate-Limit-Limit": {
                "description": "The rate limit period (eg. 1m, 12h, 1d)",
                "schema": {
                  "type": "string"
                },
                "example": "8h"
              },
              "X-Rate-Limit-Remaining": {
                "description": "The number of calls remaining in the time window",
                "schema": {
                  "type": "integer"
                },
                "example": 10
              },
              "X-Rate-Limit-Reset": {
                "description": "UTC date time (ISO 8601) when the limit resets",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "client-site-id": {
        "in": "path",
        "name": "clientSiteId",
        "description": "Uniquely identifies a Beeline VMS instance.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "example": "abc78252-1d8d-4ecf-9651-6b5ba39bba5b"
      },
      "project-code": {
        "in": "path",
        "name": "projectCode",
        "description": "Uniquely identifies a project.",
        "required": true,
        "schema": {
          "type": "string",
          "maxLength": 255
        }
      },
      "project-type-name": {
        "in": "path",
        "name": "projectTypeName",
        "description": "Uniquely identifies a project type.",
        "required": true,
        "schema": {
          "type": "string",
          "maxLength": 30
        }
      },
      "task-id": {
        "in": "path",
        "name": "taskId",
        "description": "Uniquely identifies a task.",
        "required": true,
        "schema": {
          "type": "integer",
          "minimum": 1
        }
      },
      "task-phase-code": {
        "in": "path",
        "name": "taskPhaseCode",
        "description": "Uniquely identifies a task phase.",
        "required": true,
        "schema": {
          "type": "string",
          "maxLength": 255
        }
      },
      "timesheet-id": {
        "in": "path",
        "name": "timesheetId",
        "description": "A guid uniquely identifying a timesheet.\n",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "api-version": {
        "name": "api-version",
        "in": "query",
        "description": "The API version of the endpoint",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "2023-07-01"
          ]
        }
      },
      "skip": {
        "name": "skip",
        "in": "query",
        "description": "skip a number of records",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0
        }
      },
      "top": {
        "name": "top",
        "in": "query",
        "description": "select up to 1000 records",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1000
        }
      }
    },
    "headers": {
      "rate-limit-limit": {
        "description": "The rate limit period (eg. 1m, 12h, 1d)",
        "schema": {
          "type": "string"
        },
        "example": "8h"
      },
      "rate-limit-remaining": {
        "description": "The number of calls remaining in the time window",
        "schema": {
          "type": "integer"
        },
        "example": 10
      },
      "rate-limit-reset": {
        "description": "UTC date time (ISO 8601) when the limit resets",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "retry-after": {
        "description": "The number of seconds remaining when the endpoint can be called again.",
        "schema": {
          "type": "integer"
        },
        "example": 10
      }
    },
    "responses": {
      "400": {
        "description": "Bad Request",
        "headers": {
          "X-Rate-Limit-Limit": {
            "description": "The rate limit period (eg. 1m, 12h, 1d)",
            "schema": {
              "type": "string"
            },
            "example": "8h"
          },
          "X-Rate-Limit-Remaining": {
            "description": "The number of calls remaining in the time window",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          "X-Rate-Limit-Reset": {
            "description": "UTC date time (ISO 8601) when the limit resets",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "A list of errors.",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "required": [
                      "code",
                      "message"
                    ],
                    "type": "object",
                    "properties": {
                      "code": {
                        "enum": [
                          "UNEXPECTED_ERROR",
                          "VALIDATION_ERROR",
                          "NOT_FOUND",
                          "REQUEST_LIMIT_EXCEEDED",
                          "UNSUPPORTED_API_VERSION",
                          "CONFLICT"
                        ],
                        "type": "string",
                        "description": "One of a server-defined set of error codes."
                      },
                      "message": {
                        "type": "string",
                        "description": "The human-readable representation of the error."
                      },
                      "target": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "headers": {
          "X-Rate-Limit-Limit": {
            "description": "The rate limit period (eg. 1m, 12h, 1d)",
            "schema": {
              "type": "string"
            },
            "example": "8h"
          },
          "X-Rate-Limit-Remaining": {
            "description": "The number of calls remaining in the time window",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          "X-Rate-Limit-Reset": {
            "description": "UTC date time (ISO 8601) when the limit resets",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      },
      "403": {
        "description": "Forbidden",
        "headers": {
          "X-Rate-Limit-Limit": {
            "description": "The rate limit period (eg. 1m, 12h, 1d)",
            "schema": {
              "type": "string"
            },
            "example": "8h"
          },
          "X-Rate-Limit-Remaining": {
            "description": "The number of calls remaining in the time window",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          "X-Rate-Limit-Reset": {
            "description": "UTC date time (ISO 8601) when the limit resets",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      },
      "404": {
        "description": "Not Found",
        "headers": {
          "X-Rate-Limit-Limit": {
            "description": "The rate limit period (eg. 1m, 12h, 1d)",
            "schema": {
              "type": "string"
            },
            "example": "8h"
          },
          "X-Rate-Limit-Remaining": {
            "description": "The number of calls remaining in the time window",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          "X-Rate-Limit-Reset": {
            "description": "UTC date time (ISO 8601) when the limit resets",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "type": "object",
                  "description": "A list of errors.",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object",
                        "properties": {
                          "code": {
                            "enum": [
                              "UNEXPECTED_ERROR",
                              "VALIDATION_ERROR",
                              "NOT_FOUND",
                              "REQUEST_LIMIT_EXCEEDED",
                              "UNSUPPORTED_API_VERSION",
                              "CONFLICT"
                            ],
                            "type": "string",
                            "description": "One of a server-defined set of error codes."
                          },
                          "message": {
                            "type": "string",
                            "description": "The human-readable representation of the error."
                          },
                          "target": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        }
      },
      "409": {
        "description": "Conflict",
        "headers": {
          "X-Rate-Limit-Limit": {
            "description": "The rate limit period (eg. 1m, 12h, 1d)",
            "schema": {
              "type": "string"
            },
            "example": "8h"
          },
          "X-Rate-Limit-Remaining": {
            "description": "The number of calls remaining in the time window",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          "X-Rate-Limit-Reset": {
            "description": "UTC date time (ISO 8601) when the limit resets",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "A list of errors.",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "required": [
                      "code",
                      "message"
                    ],
                    "type": "object",
                    "properties": {
                      "code": {
                        "enum": [
                          "UNEXPECTED_ERROR",
                          "VALIDATION_ERROR",
                          "NOT_FOUND",
                          "REQUEST_LIMIT_EXCEEDED",
                          "UNSUPPORTED_API_VERSION",
                          "CONFLICT"
                        ],
                        "type": "string",
                        "description": "One of a server-defined set of error codes."
                      },
                      "message": {
                        "type": "string",
                        "description": "The human-readable representation of the error."
                      },
                      "target": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "429": {
        "description": "Too Many Requests",
        "headers": {
          "Retry-After": {
            "description": "The number of seconds remaining when the endpoint can be called again.",
            "schema": {
              "type": "integer"
            },
            "example": 10
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "A list of errors.",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "required": [
                      "code",
                      "message"
                    ],
                    "type": "object",
                    "properties": {
                      "code": {
                        "enum": [
                          "UNEXPECTED_ERROR",
                          "VALIDATION_ERROR",
                          "NOT_FOUND",
                          "REQUEST_LIMIT_EXCEEDED",
                          "UNSUPPORTED_API_VERSION",
                          "CONFLICT"
                        ],
                        "type": "string",
                        "description": "One of a server-defined set of error codes."
                      },
                      "message": {
                        "type": "string",
                        "description": "The human-readable representation of the error."
                      },
                      "target": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                }
              }
            },
            "examples": {
              "rate-limit": {
                "value": {
                  "errors": [
                    {
                      "code": "REQUEST_LIMIT_EXCEEDED",
                      "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "500": {
        "description": "Internal Server error",
        "headers": {
          "X-Rate-Limit-Limit": {
            "description": "The rate limit period (eg. 1m, 12h, 1d)",
            "schema": {
              "type": "string"
            },
            "example": "8h"
          },
          "X-Rate-Limit-Remaining": {
            "description": "The number of calls remaining in the time window",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          "X-Rate-Limit-Reset": {
            "description": "UTC date time (ISO 8601) when the limit resets",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "A list of errors.",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "required": [
                      "code",
                      "message"
                    ],
                    "type": "object",
                    "properties": {
                      "code": {
                        "enum": [
                          "UNEXPECTED_ERROR",
                          "VALIDATION_ERROR",
                          "NOT_FOUND",
                          "REQUEST_LIMIT_EXCEEDED",
                          "UNSUPPORTED_API_VERSION",
                          "CONFLICT"
                        ],
                        "type": "string",
                        "description": "One of a server-defined set of error codes."
                      },
                      "message": {
                        "type": "string",
                        "description": "The human-readable representation of the error."
                      },
                      "target": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "400-inner": {
        "description": "Bad Request",
        "headers": {
          "X-Rate-Limit-Limit": {
            "description": "The rate limit period (eg. 1m, 12h, 1d)",
            "schema": {
              "type": "string"
            },
            "example": "8h"
          },
          "X-Rate-Limit-Remaining": {
            "description": "The number of calls remaining in the time window",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          "X-Rate-Limit-Reset": {
            "description": "UTC date time (ISO 8601) when the limit resets",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "An Error Response.",
              "required": [
                "error"
              ],
              "properties": {
                "error": {
                  "type": "object",
                  "description": "The Error object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "One of a server-defined set of error codes"
                    },
                    "message": {
                      "type": "string",
                      "description": "a human-readable representation of the error."
                    },
                    "target": {
                      "type": "string",
                      "description": "The target of the error."
                    },
                    "details": {
                      "type": "array",
                      "description": "An array of details about specific errors that led to this reported error.",
                      "items": {
                        "type": "object",
                        "description": "The Specific Error object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "One of a server-defined set of error codes"
                          },
                          "message": {
                            "type": "string",
                            "description": "a human-readable representation of the error."
                          },
                          "target": {
                            "type": "string",
                            "description": "The target of the error."
                          }
                        }
                      }
                    },
                    "innerError": {
                      "type": "object",
                      "description": "An object containing more specific information than the current object about the error.",
                      "properties": {
                        "code": {
                          "type": "string",
                          "description": "A more specific error code than was provided by the containing error."
                        },
                        "innerError": {
                          "type": "object",
                          "description": "The Inner Error object",
                          "required": [
                            "code",
                            "message"
                          ],
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "One of a server-defined set of error codes"
                            },
                            "message": {
                              "type": "string",
                              "description": "a human-readable representation of the error."
                            },
                            "target": {
                              "type": "string",
                              "description": "The target of the error."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "schemas": {
      "project-array": {
        "type": "object",
        "description": "A list of projects",
        "required": [
          "maxItems",
          "value"
        ],
        "properties": {
          "maxItems": {
            "type": "integer",
            "description": "The total number of projects"
          },
          "value": {
            "type": "array",
            "description": "An array of projects.  If there are no projects, this will be an empty array.",
            "items": {
              "type": "object",
              "required": [
                "projectCode"
              ],
              "properties": {
                "projectId": {
                  "type": [
                    "string"
                  ],
                  "description": "ID of the project",
                  "maxLength": 128
                },
                "projectCode": {
                  "type": "string",
                  "description": "Code of the project",
                  "maxLength": 255
                },
                "subCode": {
                  "type": [
                    "string"
                  ],
                  "description": "Subcode of the project",
                  "maxLength": 50
                },
                "title": {
                  "type": [
                    "string"
                  ],
                  "description": "Title of the project",
                  "maxLength": 255
                },
                "shortName": {
                  "type": [
                    "string"
                  ],
                  "description": "Short name of the project",
                  "maxLength": 255
                },
                "projectTypeName": {
                  "type": [
                    "string"
                  ],
                  "description": "Name of the associated project type",
                  "maxLength": 30
                },
                "description": {
                  "type": [
                    "string"
                  ],
                  "description": "Description of the project",
                  "maxLength": 4000
                },
                "financialTask1": {
                  "type": [
                    "string"
                  ],
                  "description": "Financial task number of the project",
                  "maxLength": 128
                },
                "financialTask2": {
                  "type": [
                    "string"
                  ],
                  "description": "Financial task number of the project",
                  "maxLength": 128
                },
                "isBillable": {
                  "type": [
                    "boolean"
                  ],
                  "description": "Billable flag of the project"
                },
                "budget": {
                  "type": "number",
                  "description": "Budget of the project",
                  "minimum": 0,
                  "maximum": 922337203685477.6
                },
                "isOffshore": {
                  "type": [
                    "boolean"
                  ],
                  "description": "Offshore flag of the project"
                },
                "allowSelfSignup": {
                  "type": [
                    "boolean"
                  ],
                  "description": "Self Signup flag of the project"
                },
                "isTaskLevel": {
                  "type": [
                    "boolean"
                  ],
                  "description": "Task level flag of the project"
                },
                "isTaskRequired": {
                  "type": [
                    "boolean"
                  ],
                  "description": "Task required flag of the project"
                },
                "isSop98Eligible": {
                  "type": [
                    "boolean"
                  ],
                  "description": "SOP98 eligibility flag of the project"
                }
              }
            }
          }
        }
      },
      "project-model": {
        "type": "object",
        "required": [
          "projectCode"
        ],
        "properties": {
          "projectId": {
            "type": [
              "string"
            ],
            "description": "ID of the project",
            "maxLength": 128
          },
          "projectCode": {
            "type": "string",
            "description": "Code of the project",
            "maxLength": 255
          },
          "subCode": {
            "type": [
              "string"
            ],
            "description": "Subcode of the project",
            "maxLength": 50
          },
          "title": {
            "type": [
              "string"
            ],
            "description": "Title of the project",
            "maxLength": 255
          },
          "shortName": {
            "type": [
              "string"
            ],
            "description": "Short name of the project",
            "maxLength": 255
          },
          "projectTypeName": {
            "type": [
              "string"
            ],
            "description": "Name of the associated project type",
            "maxLength": 30
          },
          "description": {
            "type": [
              "string"
            ],
            "description": "Description of the project",
            "maxLength": 4000
          },
          "financialTask1": {
            "type": [
              "string"
            ],
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "financialTask2": {
            "type": [
              "string"
            ],
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "isBillable": {
            "type": [
              "boolean"
            ],
            "description": "Billable flag of the project"
          },
          "budget": {
            "type": "number",
            "description": "Budget of the project",
            "minimum": 0,
            "maximum": 922337203685477.6
          },
          "isOffshore": {
            "type": [
              "boolean"
            ],
            "description": "Offshore flag of the project"
          },
          "allowSelfSignup": {
            "type": [
              "boolean"
            ],
            "description": "Self Signup flag of the project"
          },
          "isTaskLevel": {
            "type": [
              "boolean"
            ],
            "description": "Task level flag of the project"
          },
          "isTaskRequired": {
            "type": [
              "boolean"
            ],
            "description": "Task required flag of the project"
          },
          "isSop98Eligible": {
            "type": [
              "boolean"
            ],
            "description": "SOP98 eligibility flag of the project"
          }
        }
      },
      "project-create-model": {
        "type": "object",
        "description": "A Project.",
        "required": [
          "projectCode",
          "title",
          "shortName",
          "isOffshore"
        ],
        "properties": {
          "projectCode": {
            "type": "string",
            "description": "Code of the project",
            "maxLength": 255
          },
          "subCode": {
            "type": "string",
            "description": "Subcode of the project",
            "maxLength": 50
          },
          "title": {
            "type": "string",
            "description": "Title of the project",
            "maxLength": 255
          },
          "shortName": {
            "type": "string",
            "description": "Short name of the project",
            "maxLength": 255
          },
          "projectTypeName": {
            "type": "string",
            "description": "Name of the associated project type",
            "maxLength": 30
          },
          "description": {
            "type": "string",
            "description": "Description of the project",
            "maxLength": 4000
          },
          "financialTask1": {
            "type": "string",
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "financialTask2": {
            "type": "string",
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "isBillable": {
            "type": "boolean",
            "description": "Billable flag of the project"
          },
          "budget": {
            "type": "number",
            "description": "Budget of the project",
            "minimum": 0,
            "maximum": 922337203685477.6
          },
          "isOffshore": {
            "type": "boolean",
            "description": "Offshore flag of the project"
          },
          "allowSelfSignup": {
            "type": "boolean",
            "description": "Self Signup flag of the project"
          },
          "isTaskLevel": {
            "type": "boolean",
            "description": "Task level flag of the project"
          },
          "isTaskRequired": {
            "type": "boolean",
            "description": "Task required flag of the project"
          },
          "isSop98Eligible": {
            "type": "boolean",
            "description": "SOP98 eligibility flag of the project"
          }
        }
      },
      "project-update-model": {
        "type": "object",
        "description": "A Project.",
        "required": [
          "title",
          "shortName",
          "isOffshore"
        ],
        "properties": {
          "subCode": {
            "type": "string",
            "description": "Subcode of the project",
            "maxLength": 50
          },
          "title": {
            "type": "string",
            "description": "Title of the project",
            "maxLength": 255
          },
          "shortName": {
            "type": "string",
            "description": "Short name of the project",
            "maxLength": 255
          },
          "projectTypeName": {
            "type": "string",
            "description": "Name of the associated project type",
            "maxLength": 30
          },
          "description": {
            "type": "string",
            "description": "Description of the project",
            "maxLength": 4000
          },
          "financialTask1": {
            "type": "string",
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "financialTask2": {
            "type": "string",
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "isBillable": {
            "type": "boolean",
            "description": "Billable flag of the project"
          },
          "budget": {
            "type": "number",
            "description": "Budget of the project",
            "minimum": 0,
            "maximum": 922337203685477.6
          },
          "isOffshore": {
            "type": "boolean",
            "description": "Offshore flag of the project"
          },
          "allowSelfSignup": {
            "type": "boolean",
            "description": "Self Signup flag of the project"
          },
          "isTaskLevel": {
            "type": "boolean",
            "description": "Task level flag of the project"
          },
          "isTaskRequired": {
            "type": "boolean",
            "description": "Task required flag of the project"
          },
          "isSop98Eligible": {
            "type": "boolean",
            "description": "SOP98 eligibility flag of the project"
          }
        }
      },
      "project-type-model": {
        "type": "object",
        "required": [
          "projectTypeName"
        ],
        "properties": {
          "projectTypeName": {
            "type": "string",
            "description": "Name of the project type",
            "maxLength": 30
          },
          "description": {
            "type": [
              "string"
            ],
            "description": "Description of the project type",
            "maxLength": 250
          }
        }
      },
      "project-type-create-model": {
        "type": "object",
        "description": "A Project Type.",
        "required": [
          "projectTypeName"
        ],
        "properties": {
          "projectTypeName": {
            "type": "string",
            "description": "Name of the project type",
            "maxLength": 30
          },
          "description": {
            "type": "string",
            "description": "Description of the project type",
            "maxLength": 250
          }
        }
      },
      "project-type-array": {
        "type": "object",
        "description": "A list of project types",
        "required": [
          "maxItems",
          "value"
        ],
        "properties": {
          "maxItems": {
            "type": "integer",
            "description": "The total number of project types"
          },
          "value": {
            "type": "array",
            "description": "An array of project types.  If there are no project types, this will be an empty array.",
            "items": {
              "type": "object",
              "required": [
                "projectTypeName"
              ],
              "properties": {
                "projectTypeName": {
                  "type": "string",
                  "description": "Name of the project type",
                  "maxLength": 30
                },
                "description": {
                  "type": [
                    "string"
                  ],
                  "description": "Description of the project type",
                  "maxLength": 250
                }
              }
            }
          }
        }
      },
      "task-array": {
        "type": "object",
        "description": "A list of tasks",
        "required": [
          "maxItems",
          "value"
        ],
        "properties": {
          "maxItems": {
            "type": "integer",
            "description": "The total number of tasks"
          },
          "value": {
            "type": "array",
            "description": "An array of tasks.  If there are no tasks, this will be an empty array.",
            "items": {
              "type": "object",
              "required": [
                "taskId",
                "projectCode"
              ],
              "properties": {
                "taskId": {
                  "type": "integer",
                  "description": "ID of the task",
                  "minimum": 1
                },
                "projectCode": {
                  "type": "string",
                  "description": "Code of the associated project",
                  "maxLength": 255
                },
                "name": {
                  "type": [
                    "string"
                  ],
                  "description": "Name of the task",
                  "maxLength": 100
                },
                "description": {
                  "type": [
                    "string"
                  ],
                  "description": "Description of the task",
                  "maxLength": 50
                },
                "taskPhaseCode": {
                  "type": [
                    "string"
                  ],
                  "description": "Code of the associated task phase",
                  "maxLength": 255
                },
                "startDate": {
                  "type": "string",
                  "format": "date",
                  "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                },
                "endDate": {
                  "type": "string",
                  "format": "date",
                  "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                },
                "wbsCode": {
                  "type": [
                    "string"
                  ],
                  "description": "WBS code of the task",
                  "maxLength": 50
                },
                "sequenceNumber": {
                  "type": [
                    "integer"
                  ],
                  "description": "Sequence of the task",
                  "minimum": 0
                },
                "isSop98Eligible": {
                  "type": [
                    "boolean"
                  ],
                  "description": "SOP98 eligibility flag of the task"
                }
              }
            }
          }
        }
      },
      "task-model": {
        "type": "object",
        "required": [
          "taskId",
          "projectCode"
        ],
        "properties": {
          "taskId": {
            "type": "integer",
            "description": "ID of the task",
            "minimum": 1
          },
          "projectCode": {
            "type": "string",
            "description": "Code of the associated project",
            "maxLength": 255
          },
          "name": {
            "type": [
              "string"
            ],
            "description": "Name of the task",
            "maxLength": 100
          },
          "description": {
            "type": [
              "string"
            ],
            "description": "Description of the task",
            "maxLength": 50
          },
          "taskPhaseCode": {
            "type": [
              "string"
            ],
            "description": "Code of the associated task phase",
            "maxLength": 255
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "wbsCode": {
            "type": [
              "string"
            ],
            "description": "WBS code of the task",
            "maxLength": 50
          },
          "sequenceNumber": {
            "type": [
              "integer"
            ],
            "description": "Sequence of the task",
            "minimum": 0
          },
          "isSop98Eligible": {
            "type": [
              "boolean"
            ],
            "description": "SOP98 eligibility flag of the task"
          }
        }
      },
      "task-create-model": {
        "type": "object",
        "description": "A Task.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the task",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "description": "Description of the task",
            "maxLength": 50
          },
          "taskPhaseCode": {
            "type": "string",
            "description": "Code of the associated task phase",
            "maxLength": 255
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "wbsCode": {
            "type": "string",
            "description": "WBS code of the task",
            "maxLength": 50
          },
          "sequenceNumber": {
            "type": "integer",
            "description": "Sequence of the task",
            "minimum": 0
          },
          "isSop98Eligible": {
            "type": "boolean",
            "description": "SOP98 eligibility flag of the task"
          }
        }
      },
      "task-update-model": {
        "type": "object",
        "description": "A Task.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the task",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "description": "Description of the task",
            "maxLength": 50
          },
          "taskPhaseCode": {
            "type": "string",
            "description": "Code of the associated task phase",
            "maxLength": 255
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "wbsCode": {
            "type": "string",
            "description": "WBS code of the task",
            "maxLength": 50
          },
          "sequenceNumber": {
            "type": "integer",
            "description": "Sequence of the task",
            "minimum": 0
          },
          "isSop98Eligible": {
            "type": "boolean",
            "description": "SOP98 eligibility flag of the task"
          }
        }
      },
      "task-phase-array": {
        "type": "object",
        "description": "A list of task phases",
        "required": [
          "maxItems",
          "value"
        ],
        "properties": {
          "maxItems": {
            "type": "integer",
            "description": "The total number of task phases"
          },
          "value": {
            "type": "array",
            "description": "An array of task phases.  If there are no task phases, this will be an empty array.",
            "items": {
              "type": "object",
              "required": [
                "taskPhaseCode"
              ],
              "properties": {
                "taskPhaseCode": {
                  "type": "string",
                  "description": "Code of the task phase",
                  "maxLength": 255
                },
                "name": {
                  "type": [
                    "string"
                  ],
                  "description": "Name of the task phase",
                  "maxLength": 30
                }
              }
            }
          }
        }
      },
      "task-phase-model": {
        "type": "object",
        "required": [
          "taskPhaseCode"
        ],
        "properties": {
          "taskPhaseCode": {
            "type": "string",
            "description": "Code of the task phase",
            "maxLength": 255
          },
          "name": {
            "type": [
              "string"
            ],
            "description": "Name of the task phase",
            "maxLength": 30
          }
        }
      },
      "task-phase-create-model": {
        "type": "object",
        "description": "A Task Phase.",
        "required": [
          "taskPhaseCode",
          "name"
        ],
        "properties": {
          "taskPhaseCode": {
            "type": "string",
            "description": "Code of the task phase",
            "maxLength": 255
          },
          "name": {
            "type": "string",
            "description": "Name of the task phase",
            "maxLength": 30
          }
        }
      },
      "timesheet-model": {
        "type": "object",
        "description": "Current state for a timesheet.",
        "required": [
          "timesheetId",
          "workerId"
        ],
        "properties": {
          "timesheetId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the timesheet.",
            "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
          },
          "workerId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the worker associated with the timesheet.",
            "example": "7a40445f-7b8f-4cef-aa10-72f6cb889eb1"
          },
          "timesheetStartDate": {
            "type": "string",
            "format": "date",
            "description": "- The start date of the timesheet.\n- Supported date format is ISO 8601.\n",
            "example": "2024-01-18"
          },
          "timesheetEndDate": {
            "type": "string",
            "format": "date",
            "description": "- The end date of the timesheet.\n- Supported date format is ISO 8601.\n",
            "example": "2024-01-18"
          },
          "submittedDate": {
            "type": "string",
            "format": "date-time",
            "description": "- The submitted date of the timesheet.\n- Supported date-time format is ISO 8601.\n",
            "example": "2019-08-24T14:15:22Z"
          },
          "totalHours": {
            "type": "number",
            "description": "The total hours of the timesheet.",
            "example": 34.3867
          },
          "grossAmount": {
            "type": "number",
            "description": "The gross amount of the timesheet.",
            "minimum": 0,
            "maximum": 922337203685477.6,
            "example": 34593745
          },
          "timesheetUrl": {
            "type": "string",
            "description": "The url of the timesheet.",
            "maxLength": 255,
            "example": "https://qa.beeline.com/qa258/Assignments/TimeAndExpense/TimeAndExpense.aspx?SecurityUserID=f73850cc-ac79-4afc-82b6-5698353e362f&TimesheetEnd=Nov%206%202022"
          },
          "timesheetStatus": {
            "type": "string",
            "enum": [
              "approved",
              "pendingReprocess",
              "incomplete",
              "locked",
              "missing",
              "notSubmitted",
              "pendingApproval",
              "rejected",
              "submitted",
              "void"
            ],
            "description": "The status of the timesheet.\n",
            "example": "approved"
          },
          "assignments": {
            "type": "array",
            "description": "The assignments associated with the timesheet.",
            "items": {
              "type": "object",
              "description": "An assignment associated with a timesheet.",
              "required": [
                "assignmentId",
                "projectCode",
                "approverId"
              ],
              "properties": {
                "assignmentId": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier of the assignment.",
                  "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
                },
                "payCode": {
                  "type": "string",
                  "description": "The pay code of the assignment.",
                  "maxLength": 50
                },
                "projectCode": {
                  "type": "string",
                  "description": "The project code of the assignment.",
                  "maxLength": 255
                },
                "taskId": {
                  "type": "integer",
                  "description": "The task id of the assignment."
                },
                "approverId": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier of the approver of the assignment.",
                  "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
                },
                "adminCostCenter": {
                  "description": "The admin cost center associated with this timesheet.",
                  "type": "object",
                  "required": [
                    "costCenterNumber"
                  ],
                  "properties": {
                    "costCenterNumber": {
                      "type": "string",
                      "description": "The cost center number of the cost center.",
                      "maxLength": 100,
                      "example": "abcd"
                    },
                    "costCenterId": {
                      "type": "string",
                      "format": "uuid",
                      "description": "The unique identifier of the cost center.",
                      "example": "37a29a36-b084-4033-8a26-b2839cce4c21"
                    },
                    "ouCode": {
                      "type": "string",
                      "description": "The organization unit code of the cost center.",
                      "maxLength": 50,
                      "example": "ou1"
                    }
                  }
                },
                "dateEntries": {
                  "type": "array",
                  "description": "The date entries associated with this assignment.",
                  "items": {
                    "type": "object",
                    "description": "A date entry associated with a timesheet assignment.",
                    "required": [
                      "date"
                    ],
                    "properties": {
                      "date": {
                        "type": "string",
                        "format": "date",
                        "description": "- The date of the assignment date entry.\n- Supported date format is ISO 8601.\n",
                        "example": "2024-01-18"
                      },
                      "costAllocation": {
                        "description": "The cost allocation of the assignment date entry.",
                        "type": "object",
                        "properties": {
                          "costAllocationId": {
                            "type": "string",
                            "format": "uuid",
                            "description": "The unique identifier of the cost allocation.",
                            "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                          },
                          "units": {
                            "type": "array",
                            "description": "The units of the cost allocation.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "costAllocationUnitId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "description": "The unique identifier of the cost allocation unit.",
                                  "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                                },
                                "share": {
                                  "type": "number",
                                  "description": "The percentage share of the cost allocation unit.",
                                  "example": 0.3867
                                },
                                "segments": {
                                  "type": "array",
                                  "description": "The segments of the cost allocation unit.",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "segmentId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "The unique identifier of the cost allocation unit segment.",
                                        "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                                      },
                                      "displayName": {
                                        "type": "string",
                                        "description": "The display name of the cost allocation unit segment.",
                                        "maxLength": 255,
                                        "example": "name123"
                                      },
                                      "code": {
                                        "type": "string",
                                        "description": "The code of the cost allocation unit segment.",
                                        "maxLength": 512,
                                        "example": "code123"
                                      }
                                    }
                                  }
                                },
                                "costAllocationUnitStartDate": {
                                  "type": "string",
                                  "format": "date",
                                  "description": "- The start date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                                },
                                "costAllocationUnitEndDate": {
                                  "type": "string",
                                  "format": "date",
                                  "description": "- The end date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "approve-reject-timesheet-request": {
        "type": "object",
        "description": "An Approve/Reject Timesheet Request.",
        "required": [
          "approvalStatus",
          "approverUserId"
        ],
        "properties": {
          "approvalStatus": {
            "type": "string",
            "enum": [
              "approved",
              "rejected"
            ],
            "description": "The status of the timesheet approval."
          },
          "approverUserId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the approver user.\n",
            "example": "12576b49-e5d8-48ef-9ec8-9e7c6d13ec56"
          },
          "comment": {
            "type": "string",
            "description": "The comment regarding the timesheet approve/reject request.",
            "maxLength": 5000
          }
        }
      },
      "project-type": {
        "type": "object",
        "required": [
          "projectTypeName"
        ],
        "properties": {
          "projectTypeName": {
            "type": "string",
            "description": "Name of the project type",
            "maxLength": 30
          },
          "description": {
            "type": [
              "string"
            ],
            "description": "Description of the project type",
            "maxLength": 250
          }
        }
      },
      "error": {
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "properties": {
          "code": {
            "enum": [
              "UNEXPECTED_ERROR",
              "VALIDATION_ERROR",
              "NOT_FOUND",
              "REQUEST_LIMIT_EXCEEDED",
              "UNSUPPORTED_API_VERSION",
              "CONFLICT"
            ],
            "type": "string",
            "description": "One of a server-defined set of error codes."
          },
          "message": {
            "type": "string",
            "description": "The human-readable representation of the error."
          },
          "target": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "error-response": {
        "type": "object",
        "description": "A list of errors.",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "required": [
                "code",
                "message"
              ],
              "type": "object",
              "properties": {
                "code": {
                  "enum": [
                    "UNEXPECTED_ERROR",
                    "VALIDATION_ERROR",
                    "NOT_FOUND",
                    "REQUEST_LIMIT_EXCEEDED",
                    "UNSUPPORTED_API_VERSION",
                    "CONFLICT"
                  ],
                  "type": "string",
                  "description": "One of a server-defined set of error codes."
                },
                "message": {
                  "type": "string",
                  "description": "The human-readable representation of the error."
                },
                "target": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        }
      },
      "empty-response": {
        "type": "null"
      },
      "project": {
        "type": "object",
        "required": [
          "projectCode"
        ],
        "properties": {
          "projectId": {
            "type": [
              "string"
            ],
            "description": "ID of the project",
            "maxLength": 128
          },
          "projectCode": {
            "type": "string",
            "description": "Code of the project",
            "maxLength": 255
          },
          "subCode": {
            "type": [
              "string"
            ],
            "description": "Subcode of the project",
            "maxLength": 50
          },
          "title": {
            "type": [
              "string"
            ],
            "description": "Title of the project",
            "maxLength": 255
          },
          "shortName": {
            "type": [
              "string"
            ],
            "description": "Short name of the project",
            "maxLength": 255
          },
          "projectTypeName": {
            "type": [
              "string"
            ],
            "description": "Name of the associated project type",
            "maxLength": 30
          },
          "description": {
            "type": [
              "string"
            ],
            "description": "Description of the project",
            "maxLength": 4000
          },
          "financialTask1": {
            "type": [
              "string"
            ],
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "financialTask2": {
            "type": [
              "string"
            ],
            "description": "Financial task number of the project",
            "maxLength": 128
          },
          "isBillable": {
            "type": [
              "boolean"
            ],
            "description": "Billable flag of the project"
          },
          "budget": {
            "type": "number",
            "description": "Budget of the project",
            "minimum": 0,
            "maximum": 922337203685477.6
          },
          "isOffshore": {
            "type": [
              "boolean"
            ],
            "description": "Offshore flag of the project"
          },
          "allowSelfSignup": {
            "type": [
              "boolean"
            ],
            "description": "Self Signup flag of the project"
          },
          "isTaskLevel": {
            "type": [
              "boolean"
            ],
            "description": "Task level flag of the project"
          },
          "isTaskRequired": {
            "type": [
              "boolean"
            ],
            "description": "Task required flag of the project"
          },
          "isSop98Eligible": {
            "type": [
              "boolean"
            ],
            "description": "SOP98 eligibility flag of the project"
          }
        }
      },
      "task-phase": {
        "type": "object",
        "required": [
          "taskPhaseCode"
        ],
        "properties": {
          "taskPhaseCode": {
            "type": "string",
            "description": "Code of the task phase",
            "maxLength": 255
          },
          "name": {
            "type": [
              "string"
            ],
            "description": "Name of the task phase",
            "maxLength": 30
          }
        }
      },
      "task": {
        "type": "object",
        "required": [
          "taskId",
          "projectCode"
        ],
        "properties": {
          "taskId": {
            "type": "integer",
            "description": "ID of the task",
            "minimum": 1
          },
          "projectCode": {
            "type": "string",
            "description": "Code of the associated project",
            "maxLength": 255
          },
          "name": {
            "type": [
              "string"
            ],
            "description": "Name of the task",
            "maxLength": 100
          },
          "description": {
            "type": [
              "string"
            ],
            "description": "Description of the task",
            "maxLength": 50
          },
          "taskPhaseCode": {
            "type": [
              "string"
            ],
            "description": "Code of the associated task phase",
            "maxLength": 255
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "- The start date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "- The end date of the task.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "wbsCode": {
            "type": [
              "string"
            ],
            "description": "WBS code of the task",
            "maxLength": 50
          },
          "sequenceNumber": {
            "type": [
              "integer"
            ],
            "description": "Sequence of the task",
            "minimum": 0
          },
          "isSop98Eligible": {
            "type": [
              "boolean"
            ],
            "description": "SOP98 eligibility flag of the task"
          }
        }
      },
      "timesheet-cost-center-model": {
        "type": "object",
        "required": [
          "costCenterNumber"
        ],
        "properties": {
          "costCenterNumber": {
            "type": "string",
            "description": "The cost center number of the cost center.",
            "maxLength": 100,
            "example": "abcd"
          },
          "costCenterId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the cost center.",
            "example": "37a29a36-b084-4033-8a26-b2839cce4c21"
          },
          "ouCode": {
            "type": "string",
            "description": "The organization unit code of the cost center.",
            "maxLength": 50,
            "example": "ou1"
          }
        }
      },
      "cost-allocation-unit-segment-model": {
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the cost allocation unit segment.",
            "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
          },
          "displayName": {
            "type": "string",
            "description": "The display name of the cost allocation unit segment.",
            "maxLength": 255,
            "example": "name123"
          },
          "code": {
            "type": "string",
            "description": "The code of the cost allocation unit segment.",
            "maxLength": 512,
            "example": "code123"
          }
        }
      },
      "cost-allocation-unit-model": {
        "type": "object",
        "properties": {
          "costAllocationUnitId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the cost allocation unit.",
            "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
          },
          "share": {
            "type": "number",
            "description": "The percentage share of the cost allocation unit.",
            "example": 0.3867
          },
          "segments": {
            "type": "array",
            "description": "The segments of the cost allocation unit.",
            "items": {
              "type": "object",
              "properties": {
                "segmentId": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier of the cost allocation unit segment.",
                  "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                },
                "displayName": {
                  "type": "string",
                  "description": "The display name of the cost allocation unit segment.",
                  "maxLength": 255,
                  "example": "name123"
                },
                "code": {
                  "type": "string",
                  "description": "The code of the cost allocation unit segment.",
                  "maxLength": 512,
                  "example": "code123"
                }
              }
            }
          },
          "costAllocationUnitStartDate": {
            "type": "string",
            "format": "date",
            "description": "- The start date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          },
          "costAllocationUnitEndDate": {
            "type": "string",
            "format": "date",
            "description": "- The end date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
          }
        }
      },
      "cost-allocation-model": {
        "type": "object",
        "properties": {
          "costAllocationId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the cost allocation.",
            "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
          },
          "units": {
            "type": "array",
            "description": "The units of the cost allocation.",
            "items": {
              "type": "object",
              "properties": {
                "costAllocationUnitId": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier of the cost allocation unit.",
                  "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                },
                "share": {
                  "type": "number",
                  "description": "The percentage share of the cost allocation unit.",
                  "example": 0.3867
                },
                "segments": {
                  "type": "array",
                  "description": "The segments of the cost allocation unit.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "segmentId": {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the cost allocation unit segment.",
                        "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                      },
                      "displayName": {
                        "type": "string",
                        "description": "The display name of the cost allocation unit segment.",
                        "maxLength": 255,
                        "example": "name123"
                      },
                      "code": {
                        "type": "string",
                        "description": "The code of the cost allocation unit segment.",
                        "maxLength": 512,
                        "example": "code123"
                      }
                    }
                  }
                },
                "costAllocationUnitStartDate": {
                  "type": "string",
                  "format": "date",
                  "description": "- The start date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                },
                "costAllocationUnitEndDate": {
                  "type": "string",
                  "format": "date",
                  "description": "- The end date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                }
              }
            }
          }
        }
      },
      "timesheet-assignment-date-entry-model": {
        "type": "object",
        "description": "A date entry associated with a timesheet assignment.",
        "required": [
          "date"
        ],
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "- The date of the assignment date entry.\n- Supported date format is ISO 8601.\n",
            "example": "2024-01-18"
          },
          "costAllocation": {
            "description": "The cost allocation of the assignment date entry.",
            "type": "object",
            "properties": {
              "costAllocationId": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier of the cost allocation.",
                "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
              },
              "units": {
                "type": "array",
                "description": "The units of the cost allocation.",
                "items": {
                  "type": "object",
                  "properties": {
                    "costAllocationUnitId": {
                      "type": "string",
                      "format": "uuid",
                      "description": "The unique identifier of the cost allocation unit.",
                      "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                    },
                    "share": {
                      "type": "number",
                      "description": "The percentage share of the cost allocation unit.",
                      "example": 0.3867
                    },
                    "segments": {
                      "type": "array",
                      "description": "The segments of the cost allocation unit.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "segmentId": {
                            "type": "string",
                            "format": "uuid",
                            "description": "The unique identifier of the cost allocation unit segment.",
                            "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                          },
                          "displayName": {
                            "type": "string",
                            "description": "The display name of the cost allocation unit segment.",
                            "maxLength": 255,
                            "example": "name123"
                          },
                          "code": {
                            "type": "string",
                            "description": "The code of the cost allocation unit segment.",
                            "maxLength": 512,
                            "example": "code123"
                          }
                        }
                      }
                    },
                    "costAllocationUnitStartDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The start date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    },
                    "costAllocationUnitEndDate": {
                      "type": "string",
                      "format": "date",
                      "description": "- The end date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "timesheet-assignment-model": {
        "type": "object",
        "description": "An assignment associated with a timesheet.",
        "required": [
          "assignmentId",
          "projectCode",
          "approverId"
        ],
        "properties": {
          "assignmentId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the assignment.",
            "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
          },
          "payCode": {
            "type": "string",
            "description": "The pay code of the assignment.",
            "maxLength": 50
          },
          "projectCode": {
            "type": "string",
            "description": "The project code of the assignment.",
            "maxLength": 255
          },
          "taskId": {
            "type": "integer",
            "description": "The task id of the assignment."
          },
          "approverId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier of the approver of the assignment.",
            "example": "cac2573a-7784-440c-b9b5-928f97625dd1"
          },
          "adminCostCenter": {
            "description": "The admin cost center associated with this timesheet.",
            "type": "object",
            "required": [
              "costCenterNumber"
            ],
            "properties": {
              "costCenterNumber": {
                "type": "string",
                "description": "The cost center number of the cost center.",
                "maxLength": 100,
                "example": "abcd"
              },
              "costCenterId": {
                "type": "string",
                "format": "uuid",
                "description": "The unique identifier of the cost center.",
                "example": "37a29a36-b084-4033-8a26-b2839cce4c21"
              },
              "ouCode": {
                "type": "string",
                "description": "The organization unit code of the cost center.",
                "maxLength": 50,
                "example": "ou1"
              }
            }
          },
          "dateEntries": {
            "type": "array",
            "description": "The date entries associated with this assignment.",
            "items": {
              "type": "object",
              "description": "A date entry associated with a timesheet assignment.",
              "required": [
                "date"
              ],
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "description": "- The date of the assignment date entry.\n- Supported date format is ISO 8601.\n",
                  "example": "2024-01-18"
                },
                "costAllocation": {
                  "description": "The cost allocation of the assignment date entry.",
                  "type": "object",
                  "properties": {
                    "costAllocationId": {
                      "type": "string",
                      "format": "uuid",
                      "description": "The unique identifier of the cost allocation.",
                      "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                    },
                    "units": {
                      "type": "array",
                      "description": "The units of the cost allocation.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "costAllocationUnitId": {
                            "type": "string",
                            "format": "uuid",
                            "description": "The unique identifier of the cost allocation unit.",
                            "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                          },
                          "share": {
                            "type": "number",
                            "description": "The percentage share of the cost allocation unit.",
                            "example": 0.3867
                          },
                          "segments": {
                            "type": "array",
                            "description": "The segments of the cost allocation unit.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "segmentId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "description": "The unique identifier of the cost allocation unit segment.",
                                  "example": "488c04ed-cc94-4ad0-a6b5-37c7126f7372"
                                },
                                "displayName": {
                                  "type": "string",
                                  "description": "The display name of the cost allocation unit segment.",
                                  "maxLength": 255,
                                  "example": "name123"
                                },
                                "code": {
                                  "type": "string",
                                  "description": "The code of the cost allocation unit segment.",
                                  "maxLength": 512,
                                  "example": "code123"
                                }
                              }
                            }
                          },
                          "costAllocationUnitStartDate": {
                            "type": "string",
                            "format": "date",
                            "description": "- The start date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                          },
                          "costAllocationUnitEndDate": {
                            "type": "string",
                            "format": "date",
                            "description": "- The end date of the cost allocation unit.\n- Supported date format is ISO 8601.\n- Date must be between 1900-01-01 and 2079-06-06.\n"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "inner-error": {
        "type": "object",
        "description": "An object containing more specific information than the current object about the error.",
        "properties": {
          "code": {
            "type": "string",
            "description": "A more specific error code than was provided by the containing error."
          },
          "innerError": {
            "type": "object",
            "description": "The Inner Error object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "One of a server-defined set of error codes"
              },
              "message": {
                "type": "string",
                "description": "a human-readable representation of the error."
              },
              "target": {
                "type": "string",
                "description": "The target of the error."
              }
            }
          }
        }
      },
      "error-inner": {
        "type": "object",
        "description": "The Error object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "One of a server-defined set of error codes"
          },
          "message": {
            "type": "string",
            "description": "a human-readable representation of the error."
          },
          "target": {
            "type": "string",
            "description": "The target of the error."
          },
          "details": {
            "type": "array",
            "description": "An array of details about specific errors that led to this reported error.",
            "items": {
              "type": "object",
              "description": "The Specific Error object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "description": "One of a server-defined set of error codes"
                },
                "message": {
                  "type": "string",
                  "description": "a human-readable representation of the error."
                },
                "target": {
                  "type": "string",
                  "description": "The target of the error."
                }
              }
            }
          },
          "innerError": {
            "type": "object",
            "description": "An object containing more specific information than the current object about the error.",
            "properties": {
              "code": {
                "type": "string",
                "description": "A more specific error code than was provided by the containing error."
              },
              "innerError": {
                "type": "object",
                "description": "The Inner Error object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "One of a server-defined set of error codes"
                  },
                  "message": {
                    "type": "string",
                    "description": "a human-readable representation of the error."
                  },
                  "target": {
                    "type": "string",
                    "description": "The target of the error."
                  }
                }
              }
            }
          }
        }
      },
      "error-response-inner": {
        "type": "object",
        "description": "An Error Response.",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "description": "The Error object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "One of a server-defined set of error codes"
              },
              "message": {
                "type": "string",
                "description": "a human-readable representation of the error."
              },
              "target": {
                "type": "string",
                "description": "The target of the error."
              },
              "details": {
                "type": "array",
                "description": "An array of details about specific errors that led to this reported error.",
                "items": {
                  "type": "object",
                  "description": "The Specific Error object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "One of a server-defined set of error codes"
                    },
                    "message": {
                      "type": "string",
                      "description": "a human-readable representation of the error."
                    },
                    "target": {
                      "type": "string",
                      "description": "The target of the error."
                    }
                  }
                }
              },
              "innerError": {
                "type": "object",
                "description": "An object containing more specific information than the current object about the error.",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "A more specific error code than was provided by the containing error."
                  },
                  "innerError": {
                    "type": "object",
                    "description": "The Inner Error object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "One of a server-defined set of error codes"
                      },
                      "message": {
                        "type": "string",
                        "description": "a human-readable representation of the error."
                      },
                      "target": {
                        "type": "string",
                        "description": "The target of the error."
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "client_auth": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://integrations.auth.beeline.com/oauth/token",
            "scopes": {
              "read:bte": "Read BTE data",
              "write:bte": "Write BTE data"
            }
          }
        }
      }
    },
    "examples": {
      "rate-limit-error-response": {
        "value": {
          "errors": [
            {
              "code": "REQUEST_LIMIT_EXCEEDED",
              "message": "API calls quota exceeded! Maximum admitted 1000 per 1m."
            }
          ]
        }
      }
    }
  }
}