{
  "openapi": "3.0.1",
  "info": {
    "title": "Aprimo Productivity Management (PM) REST API",
    "description": "Productivity Management REST API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://{tenant}.aprimo.com/api",
      "description": "Aprimo PM REST API",
      "variables": {
        "tenant": {
          "default": "your-tenant",
          "description": "Your Aprimo tenant subdomain."
        }
      }
    }
  ],
  "paths": {
    "/activities/{id}": {
      "get": {
        "tags": [
          "Activities"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Activity"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single activity by ID.",
        "summary": "Returns a single activity by ID"
      },
      "put": {
        "tags": [
          "Activities"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Activity"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Activity"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the activity with the given ID from the supplied data.",
        "summary": "Updates the activity with the given ID from the supplied data"
      },
      "delete": {
        "tags": [
          "Activities"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the activity with the given ID.",
        "summary": "Deletes the activity with the given ID"
      }
    },
    "/activities/search": {
      "post": {
        "tags": [
          "Activities"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches activities using a JSON query in the request body and returns a paged list. The body can set offset, limit, and sort field and direction.",
        "summary": "Searches activities using a JSON query in the request body and returns a paged list"
      }
    },
    "/activities": {
      "get": {
        "tags": [
          "Activities"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Activity"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists activities as a paged, sortable collection.",
        "summary": "Lists activities as a paged, sortable collection"
      },
      "post": {
        "tags": [
          "Activities"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Activity"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Activity"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new activity from the supplied data.",
        "summary": "Creates a new activity from the supplied data"
      }
    },
    "/activities/recent": {
      "get": {
        "tags": [
          "Activities"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists activities recently accessed by the current user.",
        "summary": "Lists activities recently accessed by the current user"
      }
    },
    "/activities/milestone/{id}": {
      "post": {
        "tags": [
          "Activities"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a public calendar milestone on the activity. Its start and end dates come from the referenced extended-attribute value, or the activity's begin date if that value is missing.",
        "summary": "Creates a public calendar milestone on the activity"
      }
    },
    "/activities/associated-activities/{adamRecordId}": {
      "get": {
        "tags": [
          "Activities"
        ],
        "parameters": [
          {
            "name": "adamRecordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the IDs of activities associated with the given DAM (ADAM) record.",
        "summary": "Returns the IDs of activities associated with the given DAM (ADAM) record"
      }
    },
    "/activity-cells/{id}": {
      "get": {
        "tags": [
          "ActivityCells"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityCell"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single activity cell by its ID.",
        "summary": "Returns a single activity cell by its ID"
      },
      "put": {
        "tags": [
          "ActivityCells"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityCell"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityCell"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the activity cell identified by the URL ID with the supplied data.",
        "summary": "Updates the activity cell identified by the URL ID with the supplied data"
      },
      "delete": {
        "tags": [
          "ActivityCells"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the activity cell with the given ID.",
        "summary": "Deletes the activity cell with the given ID"
      }
    },
    "/activities/{id}/activity-cells": {
      "get": {
        "tags": [
          "ActivityCells"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of the activity cells belonging to the specified activity. Supports offset, limit, and sorting query parameters.",
        "summary": "Returns a paged list of the activity cells belonging to the specified activity"
      }
    },
    "/activity-cells": {
      "post": {
        "tags": [
          "ActivityCells"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityCell"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityCell"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates an activity cell from the request body and returns the created cell.",
        "summary": "Creates an activity cell from the request body and returns the created cell"
      }
    },
    "/activity-cells/{id}/integration": {
      "get": {
        "tags": [
          "ActivityCells"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the integration record associated with the specified activity cell.",
        "summary": "Returns the integration record associated with the specified activity cell"
      },
      "put": {
        "tags": [
          "ActivityCells"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityCellIntegration"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityCellIntegration"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the integration record for the specified activity cell.",
        "summary": "Updates the integration record for the specified activity cell"
      }
    },
    "/activity-cells/integration/{executionId}": {
      "get": {
        "tags": [
          "ActivityCells"
        ],
        "parameters": [
          {
            "name": "executionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the activity cell integration records that share the given execution ID.",
        "summary": "Returns the activity cell integration records that share the given execution ID"
      }
    },
    "/activity-cell-treatments/{id}": {
      "get": {
        "tags": [
          "ActivityCellTreatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityCellTreatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single activity cell treatment by its ID.",
        "summary": "Returns a single activity cell treatment by its ID"
      },
      "put": {
        "tags": [
          "ActivityCellTreatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityCellTreatment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityCellTreatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the activity cell treatment with the given ID from the supplied body and returns the updated treatment.",
        "summary": "Updates the activity cell treatment with the given ID from the supplied body and returns the updated treatment"
      },
      "delete": {
        "tags": [
          "ActivityCellTreatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the activity cell treatment with the given ID.",
        "summary": "Deletes the activity cell treatment with the given ID"
      }
    },
    "/activity-cells/{id}/activity-cell-treatments": {
      "get": {
        "tags": [
          "ActivityCellTreatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged, sortable list of activity cell treatments belonging to the specified activity cell.",
        "summary": "Returns a paged, sortable list of activity cell treatments belonging to the specified activity cell"
      }
    },
    "/activity-cell-treatments": {
      "post": {
        "tags": [
          "ActivityCellTreatments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityCellTreatment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityCellTreatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates an activity cell treatment from the supplied body and returns the created treatment.",
        "summary": "Creates an activity cell treatment from the supplied body and returns the created treatment"
      }
    },
    "/activities/{activityId}/activity-offers": {
      "get": {
        "tags": [
          "ActivityOffers"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the offers associated with the specified activity.",
        "summary": "Lists the offers associated with the specified activity"
      }
    },
    "/activity-offers/{id}": {
      "get": {
        "tags": [
          "ActivityOffers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityOffer"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single activity-offer, with its associated offer embedded.",
        "summary": "Returns a single activity-offer, with its associated offer embedded"
      },
      "put": {
        "tags": [
          "ActivityOffers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityOffer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityOffer"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the specified activity-offer from the request body.",
        "summary": "Updates the specified activity-offer from the request body"
      },
      "delete": {
        "tags": [
          "ActivityOffers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the specified activity-offer.",
        "summary": "Deletes the specified activity-offer"
      }
    },
    "/activity-offers": {
      "post": {
        "tags": [
          "ActivityOffers"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityOffer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityOffer"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates an activity-offer linking an offer to an activity, and returns the created resource.",
        "summary": "Creates an activity-offer linking an offer to an activity, and returns the created resource"
      }
    },
    "/activity-proposals/{activityProposalId}/forecasts": {
      "get": {
        "tags": [
          "ActivityProposalForecasts"
        ],
        "parameters": [
          {
            "name": "activityProposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the financial forecast line items for the specified activity proposal.",
        "summary": "Lists the financial forecast line items for the specified activity proposal"
      },
      "put": {
        "tags": [
          "ActivityProposalForecasts"
        ],
        "parameters": [
          {
            "name": "activityProposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Replaces all forecast line items for the specified activity proposal with the supplied set and returns the updated list.",
        "summary": "Replaces all forecast line items for the specified activity proposal with the supplied set and returns the updated list"
      }
    },
    "/activity-proposals/{id}": {
      "get": {
        "tags": [
          "ActivityProposals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityProposal"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single activity proposal by ID, including hypermedia links.",
        "summary": "Returns a single activity proposal by ID, including hypermedia links"
      },
      "put": {
        "tags": [
          "ActivityProposals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityProposal"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityProposal"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates a non-template activity proposal by ID with the supplied body. A proposal may have a `programId` or a `programProposalId`, but not both.",
        "summary": "Updates a non-template activity proposal by ID with the supplied body"
      }
    },
    "/activity-proposals/search": {
      "post": {
        "tags": [
          "ActivityProposals"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged, optionally sorted list of activity proposals matching the query criteria in the request body.",
        "summary": "Returns a paged, optionally sorted list of activity proposals matching the query criteria in the request body"
      }
    },
    "/activity-proposal-templates": {
      "get": {
        "tags": [
          "ActivityProposals"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/ActivityProposal"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged list of activity proposal templates. Supports optional sorting and paging query parameters.",
        "summary": "Returns a paged list of activity proposal templates"
      }
    },
    "/activity-proposals": {
      "post": {
        "tags": [
          "ActivityProposals"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityProposal"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityProposal"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates an activity proposal from the supplied body. Set `TemplateId` to seed the proposal from a template. A proposal may have a `programId` or a `programProposalId`, but not both.",
        "summary": "Creates an activity proposal from the supplied body"
      }
    },
    "/activities/{activityId}/roles": {
      "get": {
        "tags": [
          "ActivityRoles"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "userRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the roles assigned to the activity, with each role's member users and user tokens resolved. Set `userRoleId` to return only roles for that user role.",
        "summary": "Lists the roles assigned to the activity, with each role's member users and user tokens resolved"
      },
      "post": {
        "tags": [
          "ActivityRoles"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a role on the activity from the supplied user role and members, and returns the created role.",
        "summary": "Creates a role on the activity from the supplied user role and members, and returns the created role"
      }
    },
    "/activities/{activityId}/roles/{roleId}": {
      "get": {
        "tags": [
          "ActivityRoles"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single activity role, including its resolved member users and user tokens.",
        "summary": "Returns a single activity role, including its resolved member users and user tokens"
      },
      "put": {
        "tags": [
          "ActivityRoles"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRole"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Replaces the role's user role and member set with the supplied values, and returns the updated role.",
        "summary": "Replaces the role's user role and member set with the supplied values, and returns the updated role"
      },
      "delete": {
        "tags": [
          "ActivityRoles"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the role from the activity.",
        "summary": "Deletes the role from the activity"
      }
    },
    "/activities/{activityId}/roles/{roleId}/members": {
      "post": {
        "tags": [
          "ActivityRoles"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRoleMembers"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRoleMembers"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRoleMembers"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityRoleMembers"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Adds one or more user or user-token members to the role, merging with existing members and skipping duplicates, and returns the updated role.",
        "summary": "Adds one or more user or user-token members to the role, merging with existing members and skipping duplicates, and returns the updated role"
      }
    },
    "/activities/{activityId}/roles/{roleId}/members/{memberId}": {
      "delete": {
        "tags": [
          "ActivityRoles"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Removes a single member from the role.",
        "summary": "Removes a single member from the role"
      }
    },
    "/activities/{activityId}/activity-treatments": {
      "get": {
        "tags": [
          "ActivityTreatments"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the treatments associated with the specified activity.",
        "summary": "Lists the treatments associated with the specified activity"
      }
    },
    "/activity-treatments": {
      "post": {
        "tags": [
          "ActivityTreatments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityTreatment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityTreatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates an activity treatment and returns the created resource.",
        "summary": "Creates an activity treatment and returns the created resource"
      }
    },
    "/activity-treatments/{id}": {
      "get": {
        "tags": [
          "ActivityTreatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityTreatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single activity treatment by ID.",
        "summary": "Returns a single activity treatment by ID"
      },
      "put": {
        "tags": [
          "ActivityTreatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityTreatment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ActivityTreatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the specified activity treatment and returns the updated resource.",
        "summary": "Updates the specified activity treatment and returns the updated resource"
      },
      "delete": {
        "tags": [
          "ActivityTreatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the specified activity treatment.",
        "summary": "Deletes the specified activity treatment"
      }
    },
    "/dam-record-reference-document/{recordId}": {
      "get": {
        "tags": [
          "Annotation"
        ],
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the reference documents linked via published annotations for each file version of the given DAM record. Requires System Administration access.",
        "summary": "Returns the reference documents linked via published annotations for each file version of the given DAM record"
      }
    },
    "/tasks/{taskId}/delegation-users": {
      "get": {
        "tags": [
          "AssignmentDelegationUsers"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "searchCriteria",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "LastName"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of users to whom the task can be delegated. Supports a search filter.",
        "summary": "Returns a paged list of users to whom the task can be delegated"
      }
    },
    "/review-tasks/{reviewTaskId}/delegation-users": {
      "get": {
        "tags": [
          "AssignmentDelegationUsers"
        ],
        "parameters": [
          {
            "name": "reviewTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "searchCriteria",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "LastName"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of users to whom the review task can be delegated. Supports a search filter.",
        "summary": "Returns a paged list of users to whom the review task can be delegated"
      }
    },
    "/assignment-documents/{taskDocId}": {
      "put": {
        "tags": [
          "AssignmentDocuments"
        ],
        "parameters": [
          {
            "name": "taskDocId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskRequiredDocument"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskRequiredDocument"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskRequiredDocument"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskRequiredDocument"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/WfTaskRequiredDocument"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the metadata of a required document attached to a workflow task assignment.",
        "summary": "Updates the metadata of a required document attached to a workflow task assignment"
      }
    },
    "/tasks/{taskId}/review-materials": {
      "get": {
        "tags": [
          "AssignmentReviewMaterial"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the review materials associated with the specified task.",
        "summary": "Lists the review materials associated with the specified task"
      }
    },
    "/review-tasks/{reviewTaskId}/review-materials": {
      "get": {
        "tags": [
          "AssignmentReviewMaterial"
        ],
        "parameters": [
          {
            "name": "reviewTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the review materials associated with the specified review task.",
        "summary": "Lists the review materials associated with the specified review task"
      }
    },
    "/tasks/{taskId}/attachments": {
      "get": {
        "tags": [
          "Attachment"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the attachments assigned to a task. Supports `offset`, `limit`, `sortField`, and `sortAscending` for paging and sorting.",
        "summary": "Lists the attachments assigned to a task"
      }
    },
    "/review-tasks/{taskId}/attachments": {
      "get": {
        "tags": [
          "Attachment"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the attachments assigned to a review task. Supports `offset`, `limit`, `sortField`, and `sortAscending` for paging and sorting.",
        "summary": "Lists the attachments assigned to a review task"
      }
    },
    "/projects/{projectId}/attachments": {
      "get": {
        "tags": [
          "Attachment"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the attachments associated with a project.",
        "summary": "Lists the attachments associated with a project"
      }
    },
    "/projects/{projectId}/attachments/{attachmentId}": {
      "post": {
        "tags": [
          "Attachment"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Associates an existing attachment with a project and returns the attachment.",
        "summary": "Associates an existing attachment with a project and returns the attachment"
      },
      "delete": {
        "tags": [
          "Attachment"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Removes an attachment's association with a project.",
        "summary": "Removes an attachment's association with a project"
      }
    },
    "/brands/search": {
      "post": {
        "tags": [
          "Brands"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches brands using the query criteria in the JSON body and returns a paginated, sortable list.",
        "summary": "Searches brands using the query criteria in the JSON body and returns a paginated, sortable list"
      }
    },
    "/brands": {
      "get": {
        "tags": [
          "Brands"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Brand"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paginated, sortable list of all brands in the tenant.",
        "summary": "Returns a paginated, sortable list of all brands in the tenant"
      },
      "post": {
        "tags": [
          "Brands"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Brand"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Brand"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new brand from the JSON body.",
        "summary": "Creates a new brand from the JSON body"
      }
    },
    "/brands/{brandId}": {
      "get": {
        "tags": [
          "Brands"
        ],
        "parameters": [
          {
            "name": "brandId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Brand"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single brand by its ID.",
        "summary": "Returns a single brand by its ID"
      },
      "put": {
        "tags": [
          "Brands"
        ],
        "parameters": [
          {
            "name": "brandId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Brand"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Brand"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the brand with the given ID from the JSON body.",
        "summary": "Updates the brand with the given ID from the JSON body"
      },
      "delete": {
        "tags": [
          "Brands"
        ],
        "parameters": [
          {
            "name": "brandId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the brand with the given ID.",
        "summary": "Deletes the brand with the given ID"
      }
    },
    "/budget": {
      "get": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "option",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Budget"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists budgets for the caller's organization. Set `option` to filter by scope (BUDGETS, VERSIONS, or SHARED), and use `limit`/`offset` to page.",
        "summary": "Lists budgets for the caller's organization"
      },
      "post": {
        "tags": [
          "Budget"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetCreation"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetCreation"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetCreation"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetCreation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Budget"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a budget from the supplied definition and returns the created budget.",
        "summary": "Creates a budget from the supplied definition and returns the created budget"
      },
      "put": {
        "tags": [
          "Budget"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetProjectionBase"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetProjectionBase"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetProjectionBase"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetProjectionBase"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates a budget from the supplied payload and returns the updated budget.",
        "summary": "Updates a budget from the supplied payload and returns the updated budget"
      }
    },
    "/budget/{budgetId}": {
      "get": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Budget"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single budget by its identifier.",
        "summary": "Returns a single budget by its identifier"
      },
      "delete": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the budget.",
        "summary": "Deletes the budget"
      }
    },
    "/budget/version/{parentId}": {
      "get": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "parentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns all budget versions that share the given parent budget ID.",
        "summary": "Returns all budget versions that share the given parent budget ID"
      }
    },
    "/budget/budgetTypes": {
      "get": {
        "tags": [
          "Budget"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the available budget types for the caller's organization.",
        "summary": "Returns the available budget types for the caller's organization"
      }
    },
    "/budget/currencies": {
      "get": {
        "tags": [
          "Budget"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the currencies available for use in budgets.",
        "summary": "Returns the currencies available for use in budgets"
      }
    },
    "/budget/spend/{budgetId}": {
      "get": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isForecast",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns current spend information for the budget. Set `isForecast` to true to include forecast data.",
        "summary": "Returns current spend information for the budget"
      }
    },
    "/budget/activate": {
      "post": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          },
          {
            "name": "reactivation",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Budget"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Budget"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Budget"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Budget"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Activates a budget against an external Aprimo financial group named by `groupId`, returning the activated budget. Set `reactivation` to true to reactivate an already-activated budget.",
        "summary": "Activates a budget against an external Aprimo financial group named by `groupId`, returning the activated budget"
      }
    },
    "/budget/export/{budgetId}": {
      "post": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "monthly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Exports the budget to Excel and returns a SAS download URL. Set `monthly` to true to include a monthly breakdown.",
        "summary": "Exports the budget to Excel and returns a SAS download URL"
      }
    },
    "/budget/financial": {
      "get": {
        "tags": [
          "Budget"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the financial groups available from Aprimo for budget activation.",
        "summary": "Returns the financial groups available from Aprimo for budget activation"
      }
    },
    "/budget/activitytypes": {
      "get": {
        "tags": [
          "Budget"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the activity types available from Aprimo for use in budgets.",
        "summary": "Returns the activity types available from Aprimo for use in budgets"
      }
    },
    "/budget/programs": {
      "get": {
        "tags": [
          "Budget"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the programs available from Aprimo for use in budgets.",
        "summary": "Returns the programs available from Aprimo for use in budgets"
      }
    },
    "/budget/metrics": {
      "get": {
        "tags": [
          "Budget"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the metrics available from Aprimo for use in budgets.",
        "summary": "Returns the metrics available from Aprimo for use in budgets"
      }
    },
    "/budget/document": {
      "post": {
        "tags": [
          "Budget"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Document"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Document"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Document"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Document"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Uploads a base64-encoded document for a budget and returns a SAS URL for the stored file.",
        "summary": "Uploads a base64-encoded document for a budget and returns a SAS URL for the stored file"
      }
    },
    "/budget/forecast/{budgetId}": {
      "get": {
        "tags": [
          "Budget"
        ],
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns forecast spend information for the budget.",
        "summary": "Returns forecast spend information for the budget"
      }
    },
    "/budget-templates": {
      "get": {
        "tags": [
          "BudgetTemplate"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/BudgetTemplate"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists the caller's organization's budget templates. Supports `limit` and `offset` for pagination.",
        "summary": "Lists the caller's organization's budget templates"
      },
      "post": {
        "tags": [
          "BudgetTemplate"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BudgetTemplate"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a budget template for the caller's organization and returns it.",
        "summary": "Creates a budget template for the caller's organization and returns it"
      },
      "put": {
        "tags": [
          "BudgetTemplate"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetTemplate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates a budget template in the caller's organization and returns the updated template.",
        "summary": "Updates a budget template in the caller's organization and returns the updated template"
      }
    },
    "/budget-templates/hierarchy/{hierarchyId}": {
      "get": {
        "tags": [
          "BudgetTemplate"
        ],
        "parameters": [
          {
            "name": "hierarchyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a budget template structure derived from the specified Aprimo financial hierarchy.",
        "summary": "Returns a budget template structure derived from the specified Aprimo financial hierarchy"
      }
    },
    "/calendars/{calendarId}/metaview": {
      "post": {
        "tags": [
          "Calendar"
        ],
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskLimit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "ActivityId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged set of calendar activity data (the meta-view grid) for the calendar, applying the filter, paging, and sorting from the request body, and records it as the user's last-used calendar.",
        "summary": "Returns a paged set of calendar activity data (the meta-view grid) for the calendar, applying the filter, paging, and sorting from the request body, and records it as the user's last-used calendar"
      }
    },
    "/calendars/{calendarId}/metaview/milestone": {
      "post": {
        "tags": [
          "Calendar"
        ],
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "ObjectId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of milestones for the calendar, scoped to the activity IDs and begin date in the request body.",
        "summary": "Returns a paged list of milestones for the calendar, scoped to the activity IDs and begin date in the request body"
      }
    },
    "/calendars/{id}/share": {
      "post": {
        "tags": [
          "Calendar"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Shares the calendar with the users and groups in the request body's access list.",
        "summary": "Shares the calendar with the users and groups in the request body's access list"
      }
    },
    "/calendars/{calendarId}/share": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the sharing access list (users and groups the calendar is shared with) for the calendar.",
        "summary": "Returns the sharing access list (users and groups the calendar is shared with) for the calendar"
      }
    },
    "/calendars/activitytype": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the display color assigned to each activity type for calendar rendering.",
        "summary": "Returns the display color assigned to each activity type for calendar rendering"
      },
      "post": {
        "tags": [
          "Calendar"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the calendar display colors for the supplied activity types.",
        "summary": "Updates the calendar display colors for the supplied activity types"
      }
    },
    "/chatboards/{chatboardId}": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "chatboardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single chatboard with hypermedia action links (messages, parent, delete, read-all). When the id is 0 and auto-create is enabled, auto-creates one.",
        "summary": "Returns a single chatboard with hypermedia action links (messages, parent, delete, read-all)"
      },
      "delete": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "chatboardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the specified chatboard.",
        "summary": "Deletes the specified chatboard"
      }
    },
    "/chatboards/{chatboardId}/{objectTypeId}/{objectId}": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "chatboardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "objectTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "objectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the chatboard for the given id, or auto-creates one for the supplied object when the id is 0 and auto-create is enabled.",
        "summary": "Returns the chatboard for the given id, or auto-creates one for the supplied object when the id is 0 and auto-create is enabled"
      }
    },
    "/chatboards/from-object/{objectId}/{objectTypeId}": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "objectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "objectTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the chatboard associated with the given parent object.",
        "summary": "Returns the chatboard associated with the given parent object"
      }
    },
    "/chatboards/create-for-object/{objectTypeId}/{objectId}": {
      "post": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "objectTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "objectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a chatboard for the specified object.",
        "summary": "Creates a chatboard for the specified object"
      }
    },
    "/chatboards/{objectTypeId}/statuses": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "objectTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "objectIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns chatboard statuses for the given object type. Pass a comma-separated list of ids via the `objectIds` query parameter.",
        "summary": "Returns chatboard statuses for the given object type"
      }
    },
    "/chatboards/{chatboardId}/messages": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "chatboardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "startingMessage",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a chatboard's messages. Supports `offset`, `limit`, and starting-message query parameters for paging.",
        "summary": "Returns a chatboard's messages"
      }
    },
    "/chatboards/message": {
      "put": {
        "tags": [
          "Chatboard"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatboardMessage"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatboardMessage"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatboardMessage"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatboardMessage"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a chatboard message and returns the persisted message.",
        "summary": "Creates a chatboard message and returns the persisted message"
      }
    },
    "/chatboards/message/{messageId}/read": {
      "post": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Marks the specified message as read for the current user.",
        "summary": "Marks the specified message as read for the current user"
      }
    },
    "/chatboards/{chatboardId}/read-all-messages": {
      "post": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "chatboardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "maxMessageId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Marks all messages in the chatboard as read for the current user. Set `maxMessageId` to read up to a given message.",
        "summary": "Marks all messages in the chatboard as read for the current user"
      }
    },
    "/chatboards/inbox-chat/read-all-messages": {
      "post": {
        "tags": [
          "Chatboard"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Marks all messages as read for the current user across multiple chatboards. Supply a body map of chatboard id to last-read message id; returns the ids successfully updated.",
        "summary": "Marks all messages as read for the current user across multiple chatboards"
      }
    },
    "/chatboards/filters": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the filters available for chatboards.",
        "summary": "Lists the filters available for chatboards"
      }
    },
    "/chatboards/{id}/legacy-links": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the legacy links associated with the given object.",
        "summary": "Returns the legacy links associated with the given object"
      }
    },
    "/chatboards/project-chat-access/{objectId}": {
      "get": {
        "tags": [
          "Chatboard"
        ],
        "parameters": [
          {
            "name": "objectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns whether the current user has access to the project chat for the given project, based on holding a project role or being a task assignee.",
        "summary": "Returns whether the current user has access to the project chat for the given project, based on holding a project role or being a task assignee"
      }
    },
    "/clients": {
      "get": {
        "tags": [
          "Clients"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Client"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged list of all clients. Supports `offset`, `limit`, `sort-field`, and `sort-direction` query parameters.",
        "summary": "Returns a paged list of all clients"
      },
      "post": {
        "tags": [
          "Clients"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Client"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Client"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new client from the JSON body.",
        "summary": "Creates a new client from the JSON body"
      }
    },
    "/clients/{id}": {
      "get": {
        "tags": [
          "Clients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Client"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single client by ID.",
        "summary": "Returns a single client by ID"
      },
      "put": {
        "tags": [
          "Clients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Client"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Client"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the client with the given ID from the JSON body.",
        "summary": "Updates the client with the given ID from the JSON body"
      },
      "delete": {
        "tags": [
          "Clients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the client with the given ID.",
        "summary": "Deletes the client with the given ID"
      }
    },
    "/clients/search": {
      "post": {
        "tags": [
          "Clients"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of clients matching the search criteria in the body. Supports `offset`, `limit`, `sort-field`, and `sort-direction`.",
        "summary": "Returns a paged list of clients matching the search criteria in the body"
      }
    },
    "/commitments/{id}/reject": {
      "post": {
        "tags": [
          "Commitment"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Rejects the commitment. Requires rejection comments in the request body.",
        "summary": "Rejects the commitment"
      }
    },
    "/commitments/{id}/approve": {
      "post": {
        "tags": [
          "Commitment"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Approves the commitment.",
        "summary": "Approves the commitment"
      }
    },
    "/commitments/search": {
      "post": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Runs a paged, filterable search over committed funds and returns matching commitments with paging metadata.",
        "summary": "Runs a paged, filterable search over committed funds and returns matching commitments with paging metadata"
      }
    },
    "/commitments/{id}": {
      "get": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CommittedFund"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single committed fund.",
        "summary": "Returns a single committed fund"
      },
      "put": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommittedFund"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CommittedFund"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates a committed fund. Requires at least one commitment item.",
        "summary": "Updates a committed fund"
      },
      "delete": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the committed fund.",
        "summary": "Deletes the committed fund"
      }
    },
    "/commitments": {
      "get": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/CommittedFund"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged list of committed funds available to the caller.",
        "summary": "Returns a paged list of committed funds available to the caller"
      },
      "post": {
        "tags": [
          "CommittedFund"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommittedFund"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CommittedFund"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a committed fund. Requires at least one commitment item.",
        "summary": "Creates a committed fund"
      }
    },
    "/commitments/{id}/retrieve": {
      "post": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Recalls a commitment from approval back to an editable state, moving Pending Approval to Draft and Pending Re-Approval to Approved.",
        "summary": "Recalls a commitment from approval back to an editable state, moving Pending Approval to Draft and Pending Re-Approval to Approved"
      }
    },
    "/commitments/{id}/submit": {
      "post": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Submits the commitment into its approval workflow.",
        "summary": "Submits the commitment into its approval workflow"
      }
    },
    "/commitments/{id}/cancel": {
      "post": {
        "tags": [
          "CommittedFund"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Cancels the commitment.",
        "summary": "Cancels the commitment"
      }
    },
    "/content-plans": {
      "get": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/ContentPlan"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged list of content plans the caller can access. Supports `offset`/`limit` paging and `sortField`/`sortAscending` (sorts by plan ID by default).",
        "summary": "Returns a paged list of content plans the caller can access"
      }
    },
    "/content-plans/{id}": {
      "get": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ContentPlan"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single content plan by its integer ID.",
        "summary": "Returns a single content plan by its integer ID"
      },
      "put": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContentPlan"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ContentPlan"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates an existing content plan from the supplied body.",
        "summary": "Updates an existing content plan from the supplied body"
      }
    },
    "/content-plans/{contentPlanId}/manage-activities": {
      "get": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of the activities associated with the specified content plan. Supports `offset`/`limit` paging and `sortField`/`sortAscending`.",
        "summary": "Returns a paged list of the activities associated with the specified content plan"
      }
    },
    "/content-plans/{contentPlanId}/activities/notify-owners": {
      "post": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Sends a notification to the owners of the listed activity IDs within the specified content plan.",
        "summary": "Sends a notification to the owners of the listed activity IDs within the specified content plan"
      }
    },
    "/content-plans/{contentPlanId}/activities": {
      "delete": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Disassociates the listed activity IDs from the specified content plan.",
        "summary": "Disassociates the listed activity IDs from the specified content plan"
      },
      "post": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Associates the listed activity IDs with the specified content plan.",
        "summary": "Associates the listed activity IDs with the specified content plan"
      }
    },
    "/content-plans/{contentPlanId}/collections": {
      "put": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Links an existing DAM collection, identified by its collection GUID, to the specified content plan.",
        "summary": "Links an existing DAM collection, identified by its collection GUID, to the specified content plan"
      },
      "post": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a new DAM collection with the given name and links it to the specified content plan. Rejects a name that already exists in DAM.",
        "summary": "Creates a new DAM collection with the given name and links it to the specified content plan"
      }
    },
    "/content-plans/{contentPlanId}/collections/{collectionGuid}": {
      "delete": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "collectionGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Unlinks the DAM collection with the given GUID from the specified content plan.",
        "summary": "Unlinks the DAM collection with the given GUID from the specified content plan"
      }
    },
    "/content-plans/{contentPlanId}": {
      "delete": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the specified content plan.",
        "summary": "Deletes the specified content plan"
      }
    },
    "/content-plans/{contentPlanId}/share": {
      "post": {
        "tags": [
          "ContentPlan"
        ],
        "parameters": [
          {
            "name": "contentPlanId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Shares the specified content plan with the users and groups described in the supplied access list.",
        "summary": "Shares the specified content plan with the users and groups described in the supplied access list"
      }
    },
    "/fda2253": {
      "post": {
        "tags": [
          "FdaForm2253"
        ],
        "parameters": [
          {
            "name": "flatten",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FdaForm2253Data"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FdaForm2253Data"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Fills an FDA 2253 advertising/promotional submission form from the supplied JSON fields and returns it as a downloadable PDF. Set `flatten` to true to flatten the form fields.",
        "summary": "Fills an FDA 2253 advertising/promotional submission form from the supplied JSON fields and returns it as a downloadable PDF"
      }
    },
    "/financial-hierarchies/{id}": {
      "get": {
        "tags": [
          "FinancialHierarchy"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FinancialHierarchy"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single financial hierarchy by ID.",
        "summary": "Returns a single financial hierarchy by ID"
      },
      "put": {
        "tags": [
          "FinancialHierarchy"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FinancialHierarchy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FinancialHierarchy"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the financial hierarchy identified by the URL ID.",
        "summary": "Updates the financial hierarchy identified by the URL ID"
      }
    },
    "/financial-hierarchies": {
      "post": {
        "tags": [
          "FinancialHierarchy"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FinancialHierarchy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FinancialHierarchy"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a financial hierarchy from the supplied JSON body; the ID is server-assigned.",
        "summary": "Creates a financial hierarchy from the supplied JSON body; the ID is server-assigned"
      }
    },
    "/financial-hierarchy-nodes/{id}": {
      "get": {
        "tags": [
          "FinancialHierarchyNode"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FinancialHierarchyBranch"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single financial hierarchy node and its branch by ID.",
        "summary": "Returns a single financial hierarchy node and its branch by ID"
      }
    },
    "/activity-forecasts/{id}": {
      "get": {
        "tags": [
          "Forecasts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Forecast"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single activity forecast by its forecast ID.",
        "summary": "Returns a single activity forecast by its forecast ID"
      }
    },
    "/activities/{activityId}/forecasts": {
      "get": {
        "tags": [
          "Forecasts"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the approved forecasts for the specified activity.",
        "summary": "Lists the approved forecasts for the specified activity"
      },
      "put": {
        "tags": [
          "Forecasts"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "processObjectAsynchronously",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Replaces the activity's forecasts with the supplied forecast list. Set `processObjectAsynchronously` to true to process the update in the background and return a processing-object link instead of the updated forecasts.",
        "summary": "Replaces the activity's forecasts with the supplied forecast list"
      }
    },
    "/activities/{activityId}/proposed-forecasts": {
      "get": {
        "tags": [
          "Forecasts"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the proposed (pending-approval) forecasts for the specified activity.",
        "summary": "Lists the proposed (pending-approval) forecasts for the specified activity"
      }
    },
    "/activities/{activityId}/proposed-forecasts/{forecastReviewId}/approve": {
      "post": {
        "tags": [
          "Forecasts"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "forecastReviewId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Casts an approval vote on the proposed forecast review for the specified activity.",
        "summary": "Casts an approval vote on the proposed forecast review for the specified activity"
      }
    },
    "/activities/{activityId}/proposed-forecasts/{forecastReviewId}/reject": {
      "post": {
        "tags": [
          "Forecasts"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "forecastReviewId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Rejects the proposed forecast review for the specified activity. Requires rejection comments in the request body.",
        "summary": "Rejects the proposed forecast review for the specified activity"
      }
    },
    "/funding-accounts/{id}/summary": {
      "get": {
        "tags": [
          "FundingAccount"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns summary data for the funding account with the given id.",
        "summary": "Returns summary data for the funding account with the given id"
      }
    },
    "/funding-accounts/{id}": {
      "get": {
        "tags": [
          "FundingAccount"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FundingAccount"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns the full details of a single funding account by id.",
        "summary": "Returns the full details of a single funding account by id"
      },
      "put": {
        "tags": [
          "FundingAccount"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FundingAccount"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FundingAccount"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the funding account with the given id from the request body.",
        "summary": "Updates the funding account with the given id from the request body"
      }
    },
    "/funding-accounts": {
      "post": {
        "tags": [
          "FundingAccount"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FundingAccount"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FundingAccount"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new funding account from the request body.",
        "summary": "Creates a new funding account from the request body"
      }
    },
    "/generic-object-alpha/search": {
      "post": {
        "tags": [
          "GenericObjectAlpha"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches Generic Object Alpha records using a JSON query body and returns a paged, sortable list of matches. Requires the GO Alpha feature to be enabled.",
        "summary": "Searches Generic Object Alpha records using a JSON query body and returns a paged, sortable list of matches"
      }
    },
    "/generic-object-alpha": {
      "get": {
        "tags": [
          "GenericObjectAlpha"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/GenericObjectAlpha"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged list of all Generic Object Alpha records. Control paging and sorting with `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Returns a paged list of all Generic Object Alpha records"
      },
      "post": {
        "tags": [
          "GenericObjectAlpha"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectAlpha"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectAlpha"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a Generic Object Alpha record from the JSON body and returns the created item.",
        "summary": "Creates a Generic Object Alpha record from the JSON body and returns the created item"
      }
    },
    "/generic-object-alpha/{id}": {
      "get": {
        "tags": [
          "GenericObjectAlpha"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectAlpha"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns the Generic Object Alpha record with the given id.",
        "summary": "Returns the Generic Object Alpha record with the given id"
      },
      "delete": {
        "tags": [
          "GenericObjectAlpha"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the Generic Object Alpha record with the given id.",
        "summary": "Deletes the Generic Object Alpha record with the given id"
      },
      "put": {
        "tags": [
          "GenericObjectAlpha"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectAlpha"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectAlpha"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the Generic Object Alpha record with the given id from the JSON body and returns the updated item.",
        "summary": "Updates the Generic Object Alpha record with the given id from the JSON body and returns the updated item"
      }
    },
    "/activities/{activityId}/generic-object-alpha": {
      "get": {
        "tags": [
          "GenericObjectAlpha"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of Generic Object Alpha records related to the given activity. Control paging and sorting with `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Returns a paged list of Generic Object Alpha records related to the given activity"
      }
    },
    "/generic-object-bravo/search": {
      "post": {
        "tags": [
          "GenericObjectBravo"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches Generic Object Bravo records using a JSON query body and returns the matches. Page and order with `offset`, `limit`, and sort parameters.",
        "summary": "Searches Generic Object Bravo records using a JSON query body and returns the matches"
      }
    },
    "/generic-object-bravo": {
      "get": {
        "tags": [
          "GenericObjectBravo"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/GenericObjectBravo"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists Generic Object Bravo records. Page and order with `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Lists Generic Object Bravo records"
      },
      "post": {
        "tags": [
          "GenericObjectBravo"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectBravo"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectBravo"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a Generic Object Bravo record from the JSON body and returns it.",
        "summary": "Creates a Generic Object Bravo record from the JSON body and returns it"
      }
    },
    "/generic-object-bravo/{id}": {
      "get": {
        "tags": [
          "GenericObjectBravo"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectBravo"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns the Generic Object Bravo record with the given id.",
        "summary": "Returns the Generic Object Bravo record with the given id"
      },
      "delete": {
        "tags": [
          "GenericObjectBravo"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the Generic Object Bravo record with the given id.",
        "summary": "Deletes the Generic Object Bravo record with the given id"
      },
      "put": {
        "tags": [
          "GenericObjectBravo"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectBravo"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectBravo"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the Generic Object Bravo record with the given id from the JSON body and returns it.",
        "summary": "Updates the Generic Object Bravo record with the given id from the JSON body and returns it"
      }
    },
    "/projects/{projectId}/generic-object-bravo": {
      "get": {
        "tags": [
          "GenericObjectBravo"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists Generic Object Bravo records associated with the given project. Page and order with `offset`, `limit`, and sort parameters.",
        "summary": "Lists Generic Object Bravo records associated with the given project"
      }
    },
    "/generic-object-charlie/search": {
      "post": {
        "tags": [
          "GenericObjectCharlie"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Runs a paged, filtered search over Generic Object Charlie records using a JSON query body, returning the matching records. Supports `offset`, `limit`, and `sort` parameters. Requires the Generic Object Charlie feature to be enabled.",
        "summary": "Runs a paged, filtered search over Generic Object Charlie records using a JSON query body, returning the matching records"
      }
    },
    "/generic-object-charlie": {
      "get": {
        "tags": [
          "GenericObjectCharlie"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/GenericObjectCharlie"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged list of Generic Object Charlie records. Supports `offset`, `limit`, and `sort` parameters. Requires the Generic Object Charlie feature to be enabled.",
        "summary": "Returns a paged list of Generic Object Charlie records"
      },
      "post": {
        "tags": [
          "GenericObjectCharlie"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectCharlie"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectCharlie"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a Generic Object Charlie record from the JSON body and returns it. Requires the Generic Object Charlie feature to be enabled.",
        "summary": "Creates a Generic Object Charlie record from the JSON body and returns it"
      }
    },
    "/generic-object-charlie/{id}": {
      "get": {
        "tags": [
          "GenericObjectCharlie"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectCharlie"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single Generic Object Charlie record by id. Requires the Generic Object Charlie feature to be enabled.",
        "summary": "Returns a single Generic Object Charlie record by id"
      },
      "delete": {
        "tags": [
          "GenericObjectCharlie"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the Generic Object Charlie record with the given id. Requires the Generic Object Charlie feature to be enabled.",
        "summary": "Deletes the Generic Object Charlie record with the given id"
      },
      "put": {
        "tags": [
          "GenericObjectCharlie"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectCharlie"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectCharlie"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the Generic Object Charlie record with the given id from the JSON body and returns it. Requires the Generic Object Charlie feature to be enabled.",
        "summary": "Updates the Generic Object Charlie record with the given id from the JSON body and returns it"
      }
    },
    "/generic-object-delta/search": {
      "post": {
        "tags": [
          "GenericObjectDelta"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches Generic Object Delta records using the posted query and returns a paginated list. Supports `offset`, `limit`, and sort options.",
        "summary": "Searches Generic Object Delta records using the posted query and returns a paginated list"
      }
    },
    "/generic-object-delta": {
      "get": {
        "tags": [
          "GenericObjectDelta"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/GenericObjectDelta"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists Generic Object Delta records. Supports `offset`, `limit`, `sortField`, and `sortDirection` for paging and sorting.",
        "summary": "Lists Generic Object Delta records"
      },
      "post": {
        "tags": [
          "GenericObjectDelta"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectDelta"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectDelta"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a Generic Object Delta record from the posted body and returns the created item.",
        "summary": "Creates a Generic Object Delta record from the posted body and returns the created item"
      }
    },
    "/generic-object-delta/{id}": {
      "get": {
        "tags": [
          "GenericObjectDelta"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectDelta"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns the Generic Object Delta record with the given Id.",
        "summary": "Returns the Generic Object Delta record with the given Id"
      },
      "delete": {
        "tags": [
          "GenericObjectDelta"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the Generic Object Delta record with the given Id.",
        "summary": "Deletes the Generic Object Delta record with the given Id"
      },
      "put": {
        "tags": [
          "GenericObjectDelta"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectDelta"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectDelta"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the Generic Object Delta record with the given Id from the posted body and returns the updated item.",
        "summary": "Updates the Generic Object Delta record with the given Id from the posted body and returns the updated item"
      }
    },
    "/generic-object-echo/search": {
      "post": {
        "tags": [
          "GenericObjectEcho"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Runs a paged, sortable search over Generic Object Echo records using the JSON query in the request body. Requires the GO Echo feature to be enabled.",
        "summary": "Runs a paged, sortable search over Generic Object Echo records using the JSON query in the request body"
      }
    },
    "/generic-object-echo": {
      "get": {
        "tags": [
          "GenericObjectEcho"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Id"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/GenericObjectEcho"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged, sortable list of all Generic Object Echo records. Requires the GO Echo feature to be enabled.",
        "summary": "Returns a paged, sortable list of all Generic Object Echo records"
      },
      "post": {
        "tags": [
          "GenericObjectEcho"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectEcho"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectEcho"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a Generic Object Echo record from the JSON request body. Requires access to any extended attributes included.",
        "summary": "Creates a Generic Object Echo record from the JSON request body"
      }
    },
    "/generic-object-echo/{id}": {
      "get": {
        "tags": [
          "GenericObjectEcho"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectEcho"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single Generic Object Echo record by its Id.",
        "summary": "Returns a single Generic Object Echo record by its Id"
      },
      "delete": {
        "tags": [
          "GenericObjectEcho"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the Generic Object Echo record with the given Id.",
        "summary": "Deletes the Generic Object Echo record with the given Id"
      },
      "put": {
        "tags": [
          "GenericObjectEcho"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericObjectEcho"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GenericObjectEcho"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the Generic Object Echo record with the given Id from the JSON request body. Requires access to any extended attributes included.",
        "summary": "Updates the Generic Object Echo record with the given Id from the JSON request body"
      }
    },
    "/groups/{groupId}/membership": {
      "get": {
        "tags": [
          "Groups"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 250
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of the users who are members of the specified group.",
        "summary": "Returns a paged list of the users who are members of the specified group"
      }
    },
    "/groups/{id}": {
      "get": {
        "tags": [
          "Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Group"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single group by its id.",
        "summary": "Returns a single group by its id"
      }
    },
    "/groups": {
      "get": {
        "tags": [
          "Groups"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "UserId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Group"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists groups. Supports paging and optional sorting.",
        "summary": "Lists groups"
      },
      "post": {
        "tags": [
          "Groups"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Group"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new group from the supplied data.",
        "summary": "Creates a new group from the supplied data"
      }
    },
    "/groups/search": {
      "post": {
        "tags": [
          "Groups"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of groups matching the supplied search query. Query fields support aliases such as `GROUPID`, `NAME`, `STATUS`, `DESCRIPTION`, `DOMAINRIGHTS`, and `ROLES`.",
        "summary": "Returns a paged list of groups matching the supplied search query"
      }
    },
    "/groups/{Id}": {
      "put": {
        "tags": [
          "Groups"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Group"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the specified group with the supplied data.",
        "summary": "Updates the specified group with the supplied data"
      },
      "delete": {
        "tags": [
          "Groups"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the group with the given id.",
        "summary": "Deletes the group with the given id"
      }
    },
    "/integration-logs/search": {
      "post": {
        "tags": [
          "IntegrationLog"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches integration logs with a JSON query body, returning a paged, sortable list of matching entries.",
        "summary": "Searches integration logs with a JSON query body, returning a paged, sortable list of matching entries"
      }
    },
    "/integration-logs": {
      "get": {
        "tags": [
          "IntegrationLog"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/IntegrationLog"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists integration logs, paged and sortable.",
        "summary": "Lists integration logs, paged and sortable"
      }
    },
    "/integration-logs/{id}": {
      "get": {
        "tags": [
          "IntegrationLog"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IntegrationLog"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single integration log by ID.",
        "summary": "Returns a single integration log by ID"
      }
    },
    "/invoices/{id}/reject": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Rejects the specified invoice, advancing its approval workflow. Optionally records reviewer comments supplied in the request body.",
        "summary": "Rejects the specified invoice, advancing its approval workflow"
      }
    },
    "/invoices/{id}/approve": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Approves the specified invoice, advancing its approval workflow.",
        "summary": "Approves the specified invoice, advancing its approval workflow"
      }
    },
    "/invoices": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Invoice"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists invoices. Supports `offset`, `limit`, `sortField`, and `sortAscending` query parameters for paging and sorting.",
        "summary": "Lists invoices"
      },
      "post": {
        "tags": [
          "Invoices"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Invoice"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Invoice"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates an invoice from the supplied payload. Requires at least one invoice line item.",
        "summary": "Creates an invoice from the supplied payload"
      }
    },
    "/invoices/{id}": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Invoice"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single invoice by id.",
        "summary": "Returns a single invoice by id"
      },
      "put": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Invoice"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Invoice"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the specified invoice from the supplied payload. Requires at least one invoice line item.",
        "summary": "Updates the specified invoice from the supplied payload"
      },
      "delete": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the specified invoice.",
        "summary": "Deletes the specified invoice"
      }
    },
    "/invoices/search": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches invoices using the criteria in the request body. Supports `offset`, `limit`, `sortField`, and `sortAscending` query parameters for paging and sorting.",
        "summary": "Searches invoices using the criteria in the request body"
      }
    },
    "/invoices/{id}/retrieve": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Recalls the specified invoice to an earlier workflow state.",
        "summary": "Recalls the specified invoice to an earlier workflow state"
      }
    },
    "/invoices/{id}/sent": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Marks the specified invoice as sent.",
        "summary": "Marks the specified invoice as sent"
      }
    },
    "/invoices/{id}/submit": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Submits the specified invoice for approval.",
        "summary": "Submits the specified invoice for approval"
      }
    },
    "/invoices/{id}/cancel": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Cancels the specified invoice.",
        "summary": "Cancels the specified invoice"
      }
    },
    "/journal-vouchers": {
      "get": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/JournalVoucher"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paginated list of journal vouchers, supporting offset/limit paging and sorting.",
        "summary": "Returns a paginated list of journal vouchers, supporting offset/limit paging and sorting"
      },
      "post": {
        "tags": [
          "JournalVoucher"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JournalVoucher"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/JournalVoucher"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a journal voucher from the posted payload, which must include at least one journal voucher (expense) item.",
        "summary": "Creates a journal voucher from the posted payload, which must include at least one journal voucher (expense) item"
      }
    },
    "/journal-vouchers/{id}": {
      "get": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/JournalVoucher"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single journal voucher by its ID.",
        "summary": "Returns a single journal voucher by its ID"
      },
      "put": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JournalVoucher"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/JournalVoucher"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the journal voucher with the specified ID; the payload must include at least one journal voucher item.",
        "summary": "Updates the journal voucher with the specified ID; the payload must include at least one journal voucher item"
      },
      "delete": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the journal voucher with the specified ID.",
        "summary": "Deletes the journal voucher with the specified ID"
      }
    },
    "/journal-vouchers/search": {
      "post": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches journal vouchers by the posted query criteria and returns a paginated, sortable result set.",
        "summary": "Searches journal vouchers by the posted query criteria and returns a paginated, sortable result set"
      }
    },
    "/journal-vouchers/{id}/sent": {
      "post": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Marks the specified journal voucher as sent.",
        "summary": "Marks the specified journal voucher as sent"
      }
    },
    "/journal-vouchers/{id}/cancel": {
      "post": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Cancels the specified journal voucher.",
        "summary": "Cancels the specified journal voucher"
      }
    },
    "/journal-vouchers/{journalVoucherId}/submit": {
      "post": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "journalVoucherId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Submits the specified journal voucher for processing using the posted submit parameters and returns the updated voucher.",
        "summary": "Submits the specified journal voucher for processing using the posted submit parameters and returns the updated voucher"
      }
    },
    "/journal-vouchers/{id}/reconcile": {
      "post": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Reconciles the specified journal voucher, optionally applying a posted date supplied in the request body.",
        "summary": "Reconciles the specified journal voucher, optionally applying a posted date supplied in the request body"
      }
    },
    "/journal-vouchers/{journalVoucherId}/reject": {
      "post": {
        "tags": [
          "JournalVoucher"
        ],
        "parameters": [
          {
            "name": "journalVoucherId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Rejects the specified journal voucher.",
        "summary": "Rejects the specified journal voucher"
      }
    },
    "/lookup/{lookupId}": {
      "get": {
        "tags": [
          "Lookup"
        ],
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "subListId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "filterText",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the lookup values for the specified lookup list. Set `subListId` to narrow to a sub-list and `filterText` to filter values by text.",
        "summary": "Returns the lookup values for the specified lookup list"
      }
    },
    "/metadata/groups": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "deprecated": true,
        "description": "Returns the metadata field definitions for the group resource. Deprecated: use `/metadata/group` instead.",
        "summary": "Returns the metadata field definitions for the group resource"
      }
    },
    "/metadata/{resourceName}": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "parameters": [
          {
            "name": "resourceName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the metadata definition for the named resource (object).",
        "summary": "Returns the metadata definition for the named resource (object)"
      }
    },
    "/offers": {
      "get": {
        "tags": [
          "Offers"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Offer"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists offers. Page and sort with `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Lists offers"
      },
      "post": {
        "tags": [
          "Offers"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Offer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Offer"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates an offer from the JSON body.",
        "summary": "Creates an offer from the JSON body"
      }
    },
    "/offers/{id}": {
      "get": {
        "tags": [
          "Offers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Offer"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single offer by ID.",
        "summary": "Returns a single offer by ID"
      },
      "put": {
        "tags": [
          "Offers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Offer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Offer"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the offer by ID and returns the updated offer.",
        "summary": "Updates the offer by ID and returns the updated offer"
      }
    },
    "/offers/{id}/treatments": {
      "get": {
        "tags": [
          "Offers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the treatment IDs associated with the offer.",
        "summary": "Returns the treatment IDs associated with the offer"
      },
      "post": {
        "tags": [
          "Offers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Associates treatment IDs (a `treatmentIds` array in the body) with the offer.",
        "summary": "Associates treatment IDs (a `treatmentIds` array in the body) with the offer"
      }
    },
    "/program-proposals/{id}": {
      "get": {
        "tags": [
          "ProgramProposals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProgramProposal"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single program proposal by its numeric ID.",
        "summary": "Returns a single program proposal by its numeric ID"
      }
    },
    "/program-proposals/search": {
      "post": {
        "tags": [
          "ProgramProposals"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches program proposals using the JSON query criteria in the request body and returns a paged list. Supports `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Searches program proposals using the JSON query criteria in the request body and returns a paged list"
      }
    },
    "/programs/{id}": {
      "get": {
        "tags": [
          "Programs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Program"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single program by ID.",
        "summary": "Returns a single program by ID"
      },
      "put": {
        "tags": [
          "Programs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Program"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Program"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the program with the given ID from the supplied body.",
        "summary": "Updates the program with the given ID from the supplied body"
      }
    },
    "/programs": {
      "get": {
        "tags": [
          "Programs"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Program"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists all programs. Supports paging and sorting via `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Lists all programs"
      }
    },
    "/activities/{activityId}/programs": {
      "get": {
        "tags": [
          "Programs"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the programs associated with the specified activity. Supports paging and sorting via `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Lists the programs associated with the specified activity"
      }
    },
    "/projects/{projectId}/project-roles/{projectRoleId}/members": {
      "get": {
        "tags": [
          "ProjectRoleMembers"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "projectRoleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeUserName",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the members assigned to a specific project role on a project. Set `includeUserName` to include each member's user name.",
        "summary": "Returns the members assigned to a specific project role on a project"
      }
    },
    "/projects/{projectId}/role-memberships": {
      "get": {
        "tags": [
          "ProjectRoleMembers"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the full set of role memberships for a project.",
        "summary": "Returns the full set of role memberships for a project"
      },
      "put": {
        "tags": [
          "ProjectRoleMembers"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectRoleMemberships"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectRoleMemberships"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectRoleMemberships"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectRoleMemberships"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Replaces a project's role memberships with the supplied assignments, deduplicating entries.",
        "summary": "Replaces a project's role memberships with the supplied assignments, deduplicating entries"
      }
    },
    "/projects/{projectId}/project-roles": {
      "post": {
        "tags": [
          "ProjectRoles"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Assigns a user role to a project; fails if that role is already assigned.",
        "summary": "Assigns a user role to a project; fails if that role is already assigned"
      }
    },
    "/projects/{id}": {
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Project"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single project, including hypermedia links to its parent activity.",
        "summary": "Returns a single project, including hypermedia links to its parent activity"
      },
      "put": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Project"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Project"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates an existing project with the supplied data.",
        "summary": "Updates an existing project with the supplied data"
      }
    },
    "/projects/search": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches projects using the posted query criteria and returns a paged, sortable list of matches.",
        "summary": "Searches projects using the posted query criteria and returns a paged, sortable list of matches"
      }
    },
    "/projects": {
      "post": {
        "tags": [
          "Projects"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Project"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Project"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new project from the posted data.",
        "summary": "Creates a new project from the posted data"
      },
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectStatuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProjectStatus"
              }
            }
          },
          {
            "name": "titleFilter",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Project"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists projects, optionally filtered by one or more project statuses and by title; paged and sortable.",
        "summary": "Lists projects, optionally filtered by one or more project statuses and by title; paged and sortable"
      }
    },
    "/projects/{projectId}/start": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Starts the project, transitioning it into an active state.",
        "summary": "Starts the project, transitioning it into an active state"
      }
    },
    "/projects/{projectId}/cancel": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Cancels the project.",
        "summary": "Cancels the project"
      }
    },
    "/projects/display-list": {
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectStatuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProjectStatus"
              }
            }
          },
          {
            "name": "titleFilter",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "activityIdFilter",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Title"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged, sortable display list of projects for list/grid presentation, optionally filtered by project statuses, title, and activity ID.",
        "summary": "Returns a paged, sortable display list of projects for list/grid presentation, optionally filtered by project statuses, title, and activity ID"
      }
    },
    "/activities/{activityId}/projects": {
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "ProjectId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists all projects belonging to the activity, paged and sortable.",
        "summary": "Lists all projects belonging to the activity, paged and sortable"
      }
    },
    "/projects/{projectId}/project-dam-collections": {
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the DAM collections associated with the project.",
        "summary": "Returns the DAM collections associated with the project"
      }
    },
    "/projects/{projectId}/pause": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Pauses the project.",
        "summary": "Pauses the project"
      }
    },
    "/projects/{projectId}/close": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Closes the project.",
        "summary": "Closes the project"
      }
    },
    "/assets/{id}/versions/{versionId}/annotations-data": {
      "post": {
        "tags": [
          "PublicAnnotations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates an annotation on the specified asset version from the posted JSON body, dispatched by its `type` field. Requires Integration API or System Administration access.",
        "summary": "Creates an annotation on the specified asset version from the posted JSON body, dispatched by its `type` field"
      },
      "get": {
        "tags": [
          "PublicAnnotations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paginated list (offset/limit) of annotations for the specified asset version. Requires Integration API or System Administration access.",
        "summary": "Returns a paginated list (offset/limit) of annotations for the specified asset version"
      }
    },
    "/assets/{id}/versions/{versionId}/annotations-data/{annotationId}": {
      "delete": {
        "tags": [
          "PublicAnnotations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "annotationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the identified annotation from the specified asset version. Requires Integration API or System Administration access.",
        "summary": "Deletes the identified annotation from the specified asset version"
      }
    },
    "/review-tasks/mine": {
      "get": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "TaskId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists review tasks assigned to the current user (paginated). Supports `offset`, `limit`, and `sort`.",
        "summary": "Lists review tasks assigned to the current user (paginated)"
      }
    },
    "/review-tasks": {
      "get": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "taskStatus",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "modifiedAfterDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "taskTitle",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "TaskId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/ReviewTask"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists review tasks (paginated). Filter with `status`, `modifiedAfter`, and `title`.",
        "summary": "Lists review tasks (paginated)"
      }
    },
    "/review-tasks/{id}": {
      "get": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ReviewTask"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single review task by ID.",
        "summary": "Returns a single review task by ID"
      }
    },
    "/review-tasks/end-date/{taskId}": {
      "put": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the end date of a review task and returns the updated task.",
        "summary": "Updates the end date of a review task and returns the updated task"
      }
    },
    "/review-tasks/begin-date/{taskId}": {
      "put": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the begin date of a review task and returns the updated task.",
        "summary": "Updates the begin date of a review task and returns the updated task"
      }
    },
    "/review-tasks/duration/{taskId}": {
      "put": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the estimated duration of a review task and returns the updated task.",
        "summary": "Updates the estimated duration of a review task and returns the updated task"
      }
    },
    "/review-tasks/search": {
      "post": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches review tasks using a query object in the body and returns a paginated list. Supports `offset`, `limit`, and `sort`.",
        "summary": "Searches review tasks using a query object in the body and returns a paginated list"
      }
    },
    "/review-tasks/{reviewTaskId}/vote": {
      "post": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "reviewTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewTaskVote"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewTaskVote"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewTaskVote"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewTaskVote"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Casts the vote in the request body on a review task and returns the updated task.",
        "summary": "Casts the vote in the request body on a review task and returns the updated task"
      }
    },
    "/review-tasks/{reviewTaskId}/annotation-summary": {
      "get": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "reviewTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns an annotation summary for a review task.",
        "summary": "Returns an annotation summary for a review task"
      }
    },
    "/review-tasks/{reviewTaskId}/delegate": {
      "post": {
        "tags": [
          "ReviewTask"
        ],
        "parameters": [
          {
            "name": "reviewTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Delegates a review task to a different assignee per the request body.",
        "summary": "Delegates a review task to a different assignee per the request body"
      }
    },
    "/tasks/{taskId}/document-votes": {
      "get": {
        "tags": [
          "ReviewTaskDocumentReview"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists document-level review votes for the task.",
        "summary": "Lists document-level review votes for the task"
      }
    },
    "/review-tasks/{taskId}/document-votes": {
      "get": {
        "tags": [
          "ReviewTaskDocumentReview"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists document-level review votes for the review task; the result is flagged read-only when the current user cannot vote on it.",
        "summary": "Lists document-level review votes for the review task; the result is flagged read-only when the current user cannot vote on it"
      }
    },
    "/document-votes/{taskDocId}": {
      "put": {
        "tags": [
          "ReviewTaskDocumentReview"
        ],
        "parameters": [
          {
            "name": "taskDocId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskDocReviews"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskDocReviews"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskDocReviews"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskDocReviews"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the review vote for a document in a review-material task.",
        "summary": "Updates the review vote for a document in a review-material task"
      }
    },
    "/review-tasks/{taskId}/document-votes/{taskDocId}": {
      "get": {
        "tags": [
          "ReviewTaskDocumentReview"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the assignees' vote comments for a single document in the review task's document-level voting.",
        "summary": "Returns the assignees' vote comments for a single document in the review task's document-level voting"
      }
    },
    "/domain-rights": {
      "get": {
        "tags": [
          "Right"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Right"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paged, sortable list of domain rights, each with its name, function ID, and description.",
        "summary": "Returns a paged, sortable list of domain rights, each with its name, function ID, and description"
      }
    },
    "/metadata/selection-lists/{selectionListName}": {
      "get": {
        "tags": [
          "SelectionList"
        ],
        "parameters": [
          {
            "name": "selectionListName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parentValue",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the items of a named selection list. Set `filter` to match items against a search term and `parentValue` to scope items to a parent list-item value.",
        "summary": "Returns the items of a named selection list"
      }
    },
    "/extended-attributes/{eaId}/pick-list-options": {
      "get": {
        "tags": [
          "SelectionList"
        ],
        "parameters": [
          {
            "name": "eaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the pick-list options of the selection list bound to the extended attribute. Set `filter` to match options against a search term.",
        "summary": "Returns the pick-list options of the selection list bound to the extended attribute"
      },
      "put": {
        "tags": [
          "SelectionList"
        ],
        "parameters": [
          {
            "name": "eaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SelectionList"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectionList"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectionList"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SelectionList"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the pick-list options of the selection list bound to the extended attribute and returns the refreshed options.",
        "summary": "Updates the pick-list options of the selection list bound to the extended attribute and returns the refreshed options"
      }
    },
    "/extended-attributes/{eaId}/pick-list-options/{parentPicklistItemID}/allowed-children": {
      "get": {
        "tags": [
          "SelectionList"
        ],
        "parameters": [
          {
            "name": "eaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "parentPicklistItemID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "childValue",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the active child pick-list options allowed for the given parent pick-list item. Supports `filter`, `offset`, and `limit`, and `childValue` to scope to a specific child item.",
        "summary": "Returns the active child pick-list options allowed for the given parent pick-list item"
      },
      "put": {
        "tags": [
          "SelectionList"
        ],
        "parameters": [
          {
            "name": "eaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "parentPicklistItemID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendedAttributeRelationshipAllowed"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendedAttributeRelationshipAllowed"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendedAttributeRelationshipAllowed"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendedAttributeRelationshipAllowed"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the child pick-list options allowed for the given parent pick-list item and returns the refreshed allowed-children list.",
        "summary": "Updates the child pick-list options allowed for the given parent pick-list item and returns the refreshed allowed-children list"
      }
    },
    "/solution-sets": {
      "get": {
        "tags": [
          "SolutionSet"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the solution sets (licensed solution modules) installed for the current tenant.",
        "summary": "Lists the solution sets (licensed solution modules) installed for the current tenant"
      }
    },
    "/suppliers": {
      "post": {
        "tags": [
          "Suppliers"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Supplier"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Supplier"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a supplier from the JSON body.",
        "summary": "Creates a supplier from the JSON body"
      },
      "get": {
        "tags": [
          "Suppliers"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Supplier"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists suppliers. Page and order with `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Lists suppliers"
      }
    },
    "/suppliers/{id}": {
      "delete": {
        "tags": [
          "Suppliers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the supplier with the given ID.",
        "summary": "Deletes the supplier with the given ID"
      },
      "put": {
        "tags": [
          "Suppliers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Supplier"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Supplier"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the supplier with the given ID from the JSON body.",
        "summary": "Updates the supplier with the given ID from the JSON body"
      },
      "get": {
        "tags": [
          "Suppliers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Supplier"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns the supplier with the given ID.",
        "summary": "Returns the supplier with the given ID"
      }
    },
    "/suppliers/search": {
      "post": {
        "tags": [
          "Suppliers"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches suppliers using the criteria in the request body and returns paginated, sortable matches.",
        "summary": "Searches suppliers using the criteria in the request body and returns paginated, sortable matches"
      }
    },
    "/system-types": {
      "get": {
        "tags": [
          "SystemType"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/SystemType"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists all available system types.",
        "summary": "Lists all available system types"
      }
    },
    "/system-types/{systemtype}": {
      "get": {
        "tags": [
          "SystemType"
        ],
        "parameters": [
          {
            "name": "systemtype",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SystemType"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a paged list of all values for the specified system type.",
        "summary": "Returns a paged list of all values for the specified system type"
      }
    },
    "/system-types/{systemtype}/active": {
      "get": {
        "tags": [
          "SystemType"
        ],
        "parameters": [
          {
            "name": "systemtype",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paged list of the active values for the specified system type.",
        "summary": "Returns a paged list of the active values for the specified system type"
      }
    },
    "/system-types/{systemtype}/{systemTypeId}": {
      "get": {
        "tags": [
          "SystemType"
        ],
        "parameters": [
          {
            "name": "systemTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "systemtype",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single value of the specified system type by its ID.",
        "summary": "Returns a single value of the specified system type by its ID"
      }
    },
    "/tasks/{taskId}/accept": {
      "post": {
        "tags": [
          "TaskAcceptRequest"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Accepts the task assignment, starting an asynchronous action and returning its status with a polling link to track progress.",
        "summary": "Accepts the task assignment, starting an asynchronous action and returning its status with a polling link to track progress"
      }
    },
    "/tasks/{taskId}/accept/{taskAssigneeAcceptActionId}": {
      "get": {
        "tags": [
          "TaskAcceptRequest"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskAssigneeAcceptActionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the current status of a previously initiated task-accept action.",
        "summary": "Returns the current status of a previously initiated task-accept action"
      }
    },
    "/task-assignee-time-detail/{id}": {
      "get": {
        "tags": [
          "TaskAssigneeTimeDetail"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TaskAssigneeTimeDetail"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns the time-detail record for the task assignee.",
        "summary": "Returns the time-detail record for the task assignee"
      },
      "put": {
        "tags": [
          "TaskAssigneeTimeDetail"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeTimeDetail"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TaskAssigneeTimeDetail"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the task assignee's time-detail record and returns the updated record.",
        "summary": "Updates the task assignee's time-detail record and returns the updated record"
      }
    },
    "/task-assignee-time-detail/{id}/validate-results": {
      "put": {
        "tags": [
          "TaskAssigneeTimeDetail"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Validates the supplied time-detail data without persisting changes and returns the validation results.",
        "summary": "Validates the supplied time-detail data without persisting changes and returns the validation results"
      }
    },
    "/assignments/{taskId}/checklists/{checklistId}/results": {
      "get": {
        "tags": [
          "TaskChecklistResult"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "checklistId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the saved results for a checklist on a task assignment.",
        "summary": "Returns the saved results for a checklist on a task assignment"
      },
      "put": {
        "tags": [
          "TaskChecklistResult"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "checklistId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TaskChecklistResult"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskChecklistResult"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskChecklistResult"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TaskChecklistResult"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Saves the submitted results for a checklist on a task assignment.",
        "summary": "Saves the submitted results for a checklist on a task assignment"
      }
    },
    "/assignments/{taskId}/checklists/{checklistId}/validate-results": {
      "get": {
        "tags": [
          "TaskChecklistResult"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "checklistId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Validates a checklist's results to determine whether the task can be closed.",
        "summary": "Validates a checklist's results to determine whether the task can be closed"
      }
    },
    "/assignments/{taskId}/checklists": {
      "get": {
        "tags": [
          "TaskChecklists"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the checklists on the specified assignment task, limited to those the current user is allowed to see.",
        "summary": "Lists the checklists on the specified assignment task, limited to those the current user is allowed to see"
      }
    },
    "/assignments/{taskId}/checklists/{checklistId}": {
      "get": {
        "tags": [
          "TaskChecklists"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "checklistId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single checklist, including its checklist items, for the specified task.",
        "summary": "Returns a single checklist, including its checklist items, for the specified task"
      }
    },
    "/assignments/{taskId}/dcts": {
      "get": {
        "tags": [
          "TaskDct"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the data collection templates (DCTs) associated with an assignment task.",
        "summary": "Lists the data collection templates (DCTs) associated with an assignment task"
      }
    },
    "/assignments/{taskId}/dcts/{dctId}": {
      "get": {
        "tags": [
          "TaskDct"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dctId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single data collection template (DCT) for an assignment task, including whether the current user can save it.",
        "summary": "Returns a single data collection template (DCT) for an assignment task, including whether the current user can save it"
      }
    },
    "/assignments/{taskId}/dcts/{dctId}/results": {
      "get": {
        "tags": [
          "TaskDctResult"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dctId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the saved data collection template (DCT) result values for the given DCT on a task assignment.",
        "summary": "Returns the saved data collection template (DCT) result values for the given DCT on a task assignment"
      },
      "put": {
        "tags": [
          "TaskDctResult"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dctId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Saves data collection template (DCT) result values for the given DCT on a task assignment.",
        "summary": "Saves data collection template (DCT) result values for the given DCT on a task assignment"
      }
    },
    "/assignments/{taskId}/dcts/{dctId}/validate-results": {
      "get": {
        "tags": [
          "TaskDctResult"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dctId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Validates a task assignment's data collection template (DCT) results to determine whether they meet the requirements for closing the task.",
        "summary": "Validates a task assignment's data collection template (DCT) results to determine whether they meet the requirements for closing the task"
      }
    },
    "/tasks/{taskId}/documents": {
      "get": {
        "tags": [
          "TaskDocuments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists a task's workflow documents, including working (required) and supporting documents.",
        "summary": "Lists a task's workflow documents, including working (required) and supporting documents"
      }
    },
    "/review-tasks/{taskId}/documents": {
      "get": {
        "tags": [
          "TaskDocuments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists a review task's workflow documents (working and supporting), each with document-level voting context.",
        "summary": "Lists a review task's workflow documents (working and supporting), each with document-level voting context"
      }
    },
    "/tasks/{taskId}/documents/attachments": {
      "get": {
        "tags": [
          "TaskDocuments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the workflow attachment documents for a task.",
        "summary": "Returns the workflow attachment documents for a task"
      }
    },
    "/review-tasks/{taskId}/documents/attachments": {
      "get": {
        "tags": [
          "TaskDocuments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the workflow attachment documents for a review task.",
        "summary": "Returns the workflow attachment documents for a review task"
      }
    },
    "/tasks/{taskId}/documents/assets": {
      "get": {
        "tags": [
          "TaskDocuments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists a task's workflow documents in the Asset category (working and supporting digital-asset documents).",
        "summary": "Lists a task's workflow documents in the Asset category (working and supporting digital-asset documents)"
      }
    },
    "/review-tasks/{taskId}/documents/assets": {
      "get": {
        "tags": [
          "TaskDocuments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists a review task's workflow documents in the Asset category (working and supporting), each with document-level voting context.",
        "summary": "Lists a review task's workflow documents in the Asset category (working and supporting), each with document-level voting context"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single document-upload instruction for a task, including its currently selected uploaded versions.",
        "summary": "Returns a single document-upload instruction for a task, including its currently selected uploaded versions"
      }
    },
    "/review-tasks/{taskId}/document-uploads/{taskDocumentId}": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single document-upload instruction for a review task, including its currently selected uploaded versions.",
        "summary": "Returns a single document-upload instruction for a review task, including its currently selected uploaded versions"
      }
    },
    "/tasks/{taskId}/document-uploads": {
      "post": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a required document-upload instruction for a task and returns it.",
        "summary": "Creates a required document-upload instruction for a task and returns it"
      },
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the document-upload instructions defined for a task.",
        "summary": "Lists the document-upload instructions defined for a task"
      }
    },
    "/review-tasks/{taskId}/document-uploads": {
      "post": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a required document-upload instruction for a review task and returns it.",
        "summary": "Creates a required document-upload instruction for a review task and returns it"
      },
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the document-upload instructions defined for a review task.",
        "summary": "Lists the document-upload instructions defined for a review task"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}/uploaded-versions": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the file versions (attachment or digital-asset versions) uploaded against a task's document-upload instruction.",
        "summary": "Lists the file versions (attachment or digital-asset versions) uploaded against a task's document-upload instruction"
      }
    },
    "/review-tasks/{taskId}/document-uploads/{taskDocumentId}/uploaded-versions": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the file versions (attachment or digital-asset versions) uploaded against a review task's document-upload instruction.",
        "summary": "Lists the file versions (attachment or digital-asset versions) uploaded against a review task's document-upload instruction"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}/uploaded-versions/{versionId}": {
      "delete": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes an uploaded file version from a task's document-upload instruction; when the upload is an Aprimo DAM asset, also removes the asset mapping and lock.",
        "summary": "Deletes an uploaded file version from a task's document-upload instruction; when the upload is an Aprimo DAM asset, also removes the asset mapping and lock"
      },
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns details of an uploaded file version for a task's document-upload instruction, including the related attachment or digital-asset version and any legacy add-new-version link.",
        "summary": "Returns details of an uploaded file version for a task's document-upload instruction, including the related attachment or digital-asset version and any legacy add-new-version link"
      }
    },
    "/review-tasks/{taskId}/document-uploads/{taskDocumentId}/uploaded-versions/{versionId}": {
      "delete": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes an uploaded file version from a review task's document-upload instruction; when the upload is an Aprimo DAM asset, also removes the asset mapping and lock.",
        "summary": "Deletes an uploaded file version from a review task's document-upload instruction; when the upload is an Aprimo DAM asset, also removes the asset mapping and lock"
      },
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns details of an uploaded file version for a review task's document-upload instruction, including the related attachment or digital-asset version and any legacy add-new-version link.",
        "summary": "Returns details of an uploaded file version for a review task's document-upload instruction, including the related attachment or digital-asset version and any legacy add-new-version link"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}/legacy-upload-link": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the legacy link for uploading a file against a task's document-upload instruction.",
        "summary": "Returns the legacy link for uploading a file against a task's document-upload instruction"
      }
    },
    "/review-tasks/{taskId}/document-uploads/{taskDocumentId}/legacy-upload-link": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the legacy link for uploading a file against a review task's document-upload instruction.",
        "summary": "Returns the legacy link for uploading a file against a review task's document-upload instruction"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}/uploaded-versions/{versionId}/legacy-upload-overwrite-link": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the legacy link for overwriting an existing uploaded file version on a task's document-upload instruction.",
        "summary": "Returns the legacy link for overwriting an existing uploaded file version on a task's document-upload instruction"
      }
    },
    "/review-tasks/{taskId}/document-uploads/{taskDocumentId}/uploaded-versions/{versionId}/legacy-upload-overwrite-link": {
      "get": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the legacy link for overwriting an existing uploaded file version on a review task's document-upload instruction.",
        "summary": "Returns the legacy link for overwriting an existing uploaded file version on a review task's document-upload instruction"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}/upload-document": {
      "put": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Associates an uploaded document version with a task's document-upload instruction and records a project audit-trail entry.",
        "summary": "Associates an uploaded document version with a task's document-upload instruction and records a project audit-trail entry"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}/attachments": {
      "post": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Creates a new attachment for a task document upload from the posted attachment data.",
        "summary": "Creates a new attachment for a task document upload from the posted attachment data"
      }
    },
    "/tasks/{taskId}/document-uploads/{taskDocumentId}/attachments/{attachmentId}/versions": {
      "post": {
        "tags": [
          "TaskDocumentUploads"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskDocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Adds a new version to an existing attachment on a task document upload.",
        "summary": "Adds a new version to an existing attachment on a task document upload"
      }
    },
    "/tasks": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/AssignmentTask"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paginated list of the current user's tasks. Supports `offset`, `limit`, and `sort`.",
        "summary": "Returns a paginated list of the current user's tasks"
      }
    },
    "/tasks/search": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paginated list of tasks matching the search criteria in the request body. Supports `offset`, `limit`, and `sort`.",
        "summary": "Returns a paginated list of tasks matching the search criteria in the request body"
      }
    },
    "/tasks/{id}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AssignmentTask"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single task by ID.",
        "summary": "Returns a single task by ID"
      },
      "put": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignmentTask"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AssignmentTask"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the editable fields of the specified task from the request body.",
        "summary": "Updates the editable fields of the specified task from the request body"
      }
    },
    "/tasks/{taskId}/close": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "promoteAnnotations",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Closes the specified task on behalf of its assignee and returns the close result. Optionally promotes draft annotations.",
        "summary": "Closes the specified task on behalf of its assignee and returns the close result"
      }
    },
    "/tasks/{taskId}/delegate": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TaskAssigneeDelegate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Delegates the specified task to another user using the delegate details in the request body.",
        "summary": "Delegates the specified task to another user using the delegate details in the request body"
      }
    },
    "/tasks/end-date/{taskId}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the end date of the specified task from the worksheet values in the request body.",
        "summary": "Updates the end date of the specified task from the worksheet values in the request body"
      }
    },
    "/tasks/begin-date/{taskId}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the begin date of the specified task from the worksheet values in the request body.",
        "summary": "Updates the begin date of the specified task from the worksheet values in the request body"
      }
    },
    "/tasks/duration/{taskId}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the estimated duration of the specified task from the worksheet values in the request body.",
        "summary": "Updates the estimated duration of the specified task from the worksheet values in the request body"
      }
    },
    "/tasks/{taskId}/decline": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Declines the specified task on behalf of its assignee and returns the decline result.",
        "summary": "Declines the specified task on behalf of its assignee and returns the decline result"
      }
    },
    "/projects/{projectId}/tasks": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "ProjectId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "excludeAutoClose",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paginated list of tasks for the given project, annotated with calendar deadline thresholds (close/soon). Set the auto-closed exclusion option to omit auto-closed tasks.",
        "summary": "Returns a paginated list of tasks for the given project, annotated with calendar deadline thresholds (close/soon)"
      }
    },
    "/tasks/{taskId}/calendars": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the specified task along with all of its assigned task users for calendar display.",
        "summary": "Returns the specified task along with all of its assigned task users for calendar display"
      }
    },
    "/treatments/{id}": {
      "get": {
        "tags": [
          "Treatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Treatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single treatment by ID.",
        "summary": "Returns a single treatment by ID"
      },
      "put": {
        "tags": [
          "Treatments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Treatment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Treatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the treatment identified by the path ID and returns the updated treatment.",
        "summary": "Updates the treatment identified by the path ID and returns the updated treatment"
      }
    },
    "/treatments/search": {
      "post": {
        "tags": [
          "Treatments"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches treatments using the JSON filter in the request body and returns a paged, sortable list. Supports `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Searches treatments using the JSON filter in the request body and returns a paged, sortable list"
      }
    },
    "/treatments": {
      "post": {
        "tags": [
          "Treatments"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Treatment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Treatment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new treatment from the supplied JSON body.",
        "summary": "Creates a new treatment from the supplied JSON body"
      }
    },
    "/my-preferences/region": {
      "get": {
        "tags": [
          "UserPreferences"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the current user's region and language preferences.",
        "summary": "Returns the current user's region and language preferences"
      },
      "put": {
        "tags": [
          "UserPreferences"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the current user's region and language preferences.",
        "summary": "Updates the current user's region and language preferences"
      }
    },
    "/user-roles/{Id}": {
      "get": {
        "tags": [
          "UserRoles"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeInactiveUser",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserRole"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single user role by ID. Set `excludeInactiveUser` to true to omit inactive users from the result.",
        "summary": "Returns a single user role by ID"
      },
      "delete": {
        "tags": [
          "UserRoles"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the user role with the given ID.",
        "summary": "Deletes the user role with the given ID"
      }
    },
    "/user-roles": {
      "get": {
        "tags": [
          "UserRoles"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "RoleId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/UserRole"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists all user roles, paginated and sortable.",
        "summary": "Lists all user roles, paginated and sortable"
      },
      "post": {
        "tags": [
          "UserRoles"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserRole"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserRole"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a user role from the supplied JSON body.",
        "summary": "Creates a user role from the supplied JSON body"
      }
    },
    "/user-roles/{id}": {
      "put": {
        "tags": [
          "UserRoles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserRole"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserRole"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates the user role with the given ID using the supplied JSON body.",
        "summary": "Updates the user role with the given ID using the supplied JSON body"
      }
    },
    "/users/search": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches users using a JSON query in the body and returns a paged, sortable list of matches.",
        "summary": "Searches users using a JSON query in the body and returns a paged, sortable list of matches"
      }
    },
    "/users/{id}": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserGroup"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single user by ID.",
        "summary": "Returns a single user by ID"
      },
      "put": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserGroup"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserGroup"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Updates an existing user from the JSON body; read-only users cannot be updated.",
        "summary": "Updates an existing user from the JSON body; read-only users cannot be updated"
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Deletes the user with the given ID.",
        "summary": "Deletes the user with the given ID"
      }
    },
    "/users/me": {
      "get": {
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the currently authenticated user.",
        "summary": "Returns the currently authenticated user"
      }
    },
    "/users": {
      "post": {
        "tags": [
          "Users"
        ],
        "requestBody": {
          "description": "Standard fields are typed below. Tenant-defined extended attributes are metadata-driven: send them in the 'extendedAttributes' / 'multipleValueExtendedAttributes' arrays, or as 'extrAttr{eaId}' properties for partial updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserGroup"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserGroup"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Creates a new user from the JSON body.",
        "summary": "Creates a new user from the JSON body"
      }
    },
    "/users/{id}/resetpin": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Resets the user's PIN and sends them a reset-PIN notification.",
        "summary": "Resets the user's PIN and sends them a reset-PIN notification"
      }
    },
    "/tasks/{taskId}/supporting-attachments/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single supporting attachment (reference/background document) for a task.",
        "summary": "Returns a single supporting attachment (reference/background document) for a task"
      }
    },
    "/review-tasks/{taskId}/supporting-attachments/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single supporting attachment (reference/background document) for a review task.",
        "summary": "Returns a single supporting attachment (reference/background document) for a review task"
      }
    },
    "/tasks/{taskId}/working-attachments/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single working attachment (deliverable document) for a task, including a link to add a new version when available.",
        "summary": "Returns a single working attachment (deliverable document) for a task, including a link to add a new version when available"
      }
    },
    "/review-tasks/{taskId}/working-attachments/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single working attachment (deliverable document) for a review task, including a link to add a new version when available.",
        "summary": "Returns a single working attachment (deliverable document) for a review task, including a link to add a new version when available"
      }
    },
    "/tasks/{taskId}/working-attachments": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the working attachments (deliverable documents) for a task.",
        "summary": "Lists the working attachments (deliverable documents) for a task"
      }
    },
    "/review-tasks/{taskId}/working-attachments": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the working attachments (deliverable documents) for a review task.",
        "summary": "Lists the working attachments (deliverable documents) for a review task"
      }
    },
    "/tasks/{taskId}/supporting-attachments": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the supporting attachments (reference/background documents) for a task.",
        "summary": "Lists the supporting attachments (reference/background documents) for a task"
      }
    },
    "/review-tasks/{taskId}/supporting-attachments": {
      "get": {
        "tags": [
          "WfDocumentsAttachments"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the supporting attachments (reference/background documents) for a review task.",
        "summary": "Lists the supporting attachments (reference/background documents) for a review task"
      }
    },
    "/tasks/{taskId}/supporting-digital-assets/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single supporting digital asset attached to the workflow task; non-DAM versionable assets include an add-new-version action link.",
        "summary": "Returns a single supporting digital asset attached to the workflow task; non-DAM versionable assets include an add-new-version action link"
      }
    },
    "/review-tasks/{taskId}/supporting-digital-assets/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single supporting digital asset attached to the review task; non-DAM versionable assets include an add-new-version action link.",
        "summary": "Returns a single supporting digital asset attached to the review task; non-DAM versionable assets include an add-new-version action link"
      }
    },
    "/tasks/{taskId}/working-digital-assets/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single working (required) digital asset attached to the workflow task; non-DAM versionable assets include an add-new-version action link.",
        "summary": "Returns a single working (required) digital asset attached to the workflow task; non-DAM versionable assets include an add-new-version action link"
      }
    },
    "/review-tasks/{taskId}/working-digital-assets/{documentId}": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single working (required) digital asset attached to the review task; non-DAM versionable assets include an add-new-version action link.",
        "summary": "Returns a single working (required) digital asset attached to the review task; non-DAM versionable assets include an add-new-version action link"
      }
    },
    "/tasks/{taskId}/working-digital-assets": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the working (required) digital assets attached to the workflow task.",
        "summary": "Lists the working (required) digital assets attached to the workflow task"
      }
    },
    "/review-tasks/{taskId}/working-digital-assets": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the working (required) digital assets attached to the review task.",
        "summary": "Lists the working (required) digital assets attached to the review task"
      }
    },
    "/tasks/{taskId}/supporting-digital-assets": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the supporting digital assets attached to the workflow task.",
        "summary": "Lists the supporting digital assets attached to the workflow task"
      }
    },
    "/review-tasks/{taskId}/supporting-digital-assets": {
      "get": {
        "tags": [
          "WfDocumentsDigitalAssets"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the supporting digital assets attached to the review task.",
        "summary": "Lists the supporting digital assets attached to the review task"
      }
    },
    "/tasks/{taskId}/task-assignee": {
      "put": {
        "tags": [
          "WfTaskAssignee"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskAssignee"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskAssignee"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskAssignee"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WfTaskAssignee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Updates the current user's assignment record on the specified task (for example, the time and work details from the work-entry panel) and returns the updated record.",
        "summary": "Updates the current user's assignment record on the specified task (for example, the time and work details from the work-entry panel) and returns the updated record"
      },
      "get": {
        "tags": [
          "WfTaskAssignee"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the current user's assignment record for the specified task.",
        "summary": "Returns the current user's assignment record for the specified task"
      }
    },
    "/tasks/{taskId}/assignees": {
      "get": {
        "tags": [
          "WfTaskAssignee"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists all assignees for the specified task.",
        "summary": "Lists all assignees for the specified task"
      }
    },
    "/review-tasks/{reviewTaskId}/task-assignee": {
      "get": {
        "tags": [
          "WfTaskAssignee"
        ],
        "parameters": [
          {
            "name": "reviewTaskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the current user's assignment record for the specified review task.",
        "summary": "Returns the current user's assignment record for the specified review task"
      }
    },
    "/tasks/{taskId}/validate-task-assignee": {
      "get": {
        "tags": [
          "WfTaskAssignee"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Validates whether the current user's work on the specified task can be closed and returns the validation results.",
        "summary": "Validates whether the current user's work on the specified task can be closed and returns the validation results"
      }
    },
    "/tasks/{taskId}/task-links/{linkId}": {
      "get": {
        "tags": [
          "WfTaskLinks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "linkId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single task link belonging to the specified (non-review) task.",
        "summary": "Returns a single task link belonging to the specified (non-review) task"
      }
    },
    "/review-tasks/{taskId}/task-links/{linkId}": {
      "get": {
        "tags": [
          "WfTaskLinks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "linkId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single task link belonging to the specified review task.",
        "summary": "Returns a single task link belonging to the specified review task"
      }
    },
    "/tasks/{taskId}/task-links": {
      "get": {
        "tags": [
          "WfTaskLinks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the task links on the specified (non-review) task as a paged collection.",
        "summary": "Lists the task links on the specified (non-review) task as a paged collection"
      }
    },
    "/review-tasks/{taskId}/task-links": {
      "get": {
        "tags": [
          "WfTaskLinks"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the task links on the specified review task as a paged collection.",
        "summary": "Lists the task links on the specified review task as a paged collection"
      }
    },
    "/task-time-entries/{id}": {
      "get": {
        "tags": [
          "WfTaskTimeEntries"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a single workflow task time entry by ID.",
        "summary": "Returns a single workflow task time entry by ID"
      }
    },
    "/task-time-entries/search": {
      "post": {
        "tags": [
          "WfTaskTimeEntries"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches workflow task time entries using a JSON query body. Supports `offset`, `limit`, `sortField`, and `sortAscending` for paging and sorting.",
        "summary": "Searches workflow task time entries using a JSON query body"
      }
    },
    "/teams/{teamId}": {
      "get": {
        "tags": [
          "WfTeams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/WfTeam"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single workflow team by ID.",
        "summary": "Returns a single workflow team by ID"
      }
    },
    "/teams": {
      "get": {
        "tags": [
          "WfTeams"
        ],
        "parameters": [
          {
            "name": "titleFilter",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Name"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/WfTeam"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists workflow teams. Filter by a title substring, page with offset/limit, and sort by name.",
        "summary": "Lists workflow teams"
      }
    },
    "/work-request-categories": {
      "get": {
        "tags": [
          "WorkRequestCategories"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Sequence"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "damOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/WorkRequestCategory"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists work request categories. Set `damOnly` to return only DAM-approved forms; paginate with `offset`/`limit` and sort with `sortField`/`sortAscending`.",
        "summary": "Lists work request categories"
      }
    },
    "/work-request-forms": {
      "get": {
        "tags": [
          "WorkRequestForms"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Name"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "damOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "multipleAssets",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/WorkRequestForm"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Returns a paginated list of work request forms without field data. Optionally filter to forms available in DAM or to those defined with multiple assets.",
        "summary": "Returns a paginated list of work request forms without field data"
      }
    },
    "/work-request-categories/{siteId}/work-request-forms": {
      "get": {
        "tags": [
          "WorkRequestForms"
        ],
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "Name"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "damOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "multipleAssets",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns a paginated list of work request forms in the given category (siteId), without field data.",
        "summary": "Returns a paginated list of work request forms in the given category (siteId), without field data"
      }
    },
    "/work-request-forms/{activityId}": {
      "get": {
        "tags": [
          "WorkRequestForms"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/WorkRequestForm"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single work request form by its activity ID.",
        "summary": "Returns a single work request form by its activity ID"
      }
    },
    "/work-request-forms/search": {
      "post": {
        "tags": [
          "WorkRequestForms"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches work request forms using the JSON query criteria in the body and returns a paginated, sortable result set.",
        "summary": "Searches work request forms using the JSON query criteria in the body and returns a paginated, sortable result set"
      }
    },
    "/work-requests": {
      "get": {
        "tags": [
          "WorkRequests"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "DateRequested"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "requestId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "activityTitle",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workRequestForm",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/WorkRequest"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists the requesting user's work requests, paged. Optionally filter with `requestId`, `status`, `activityTitle`, and `workRequestForm`, and sort with `sortField` and `sortAscending`.",
        "summary": "Lists the requesting user's work requests, paged"
      }
    },
    "/work-requests/Query": {
      "post": {
        "tags": [
          "WorkRequests"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "DateRequested"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Lists the requesting user's work requests matching the WorkRequestQuery in the request body, paged. Control paging and sorting with `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Lists the requesting user's work requests matching the WorkRequestQuery in the request body, paged"
      }
    },
    "/work-requests/{id}": {
      "get": {
        "tags": [
          "WorkRequests"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/WorkRequest"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "_links": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                        }
                      }
                    }
                  ],
                  "description": "Resource fields are returned at the top level, alongside a HAL '_links' object."
                }
              }
            }
          }
        },
        "description": "Returns a single work request by ID, including its hypermedia action links.",
        "summary": "Returns a single work request by ID, including its hypermedia action links"
      }
    },
    "/work-request-reviews": {
      "get": {
        "tags": [
          "WorkRequests"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "requestId"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "_embedded": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/WorkRequest"
                        }
                      }
                    },
                    "_links": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "HAL links keyed by relation (self, first, last, next, prev, and action links)."
                    }
                  },
                  "description": "Paged HAL collection. Items are under '_embedded', keyed by the resource type name."
                }
              }
            }
          }
        },
        "description": "Lists the requesting user's assigned work request reviews, paged. Sort with `sortField` and `sortAscending`; page size follows the homepage cards row-count system parameter.",
        "summary": "Lists the requesting user's assigned work request reviews, paged"
      }
    },
    "/work-requests/{id}/legacy-links": {
      "get": {
        "tags": [
          "WorkRequests"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Returns the legacy links associated with the given work request.",
        "summary": "Returns the legacy links associated with the given work request"
      }
    },
    "/work-requests/search": {
      "post": {
        "tags": [
          "WorkRequests"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {}
            },
            "application/json": {
              "schema": {}
            },
            "text/json": {
              "schema": {}
            },
            "application/*+json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "description": "Searches work requests using the criteria in the request body and returns a paged list. Control paging and sorting with `offset`, `limit`, `sortField`, and `sortAscending`.",
        "summary": "Searches work requests using the criteria in the request body and returns a paged list"
      }
    }
  },
  "components": {
    "schemas": {
      "ApprovalType": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "ProposalState": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "ProposalType": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "ActivityAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActivityCell": {
        "required": [
          "activityId",
          "title"
        ],
        "type": "object",
        "properties": {
          "activityCellId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "championCellId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "cellTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "activityOfferId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sourceCode": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "estimatedQuantity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "actualQuantity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "actualResponse": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "estimatedRevenue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityCellIntegration": {
        "type": "object",
        "properties": {
          "activityCellId": {
            "type": "integer",
            "format": "int32"
          },
          "executionId": {
            "type": "string",
            "nullable": true
          },
          "executionName": {
            "type": "string",
            "nullable": true
          },
          "executionStatus": {
            "type": "string",
            "nullable": true
          },
          "executionVersion": {
            "type": "string",
            "nullable": true
          },
          "executionLink": {
            "type": "string",
            "nullable": true
          },
          "lastSyncTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityCellTreatment": {
        "required": [
          "activityCellId",
          "activityTreatmentId",
          "sequence"
        ],
        "type": "object",
        "properties": {
          "activityCellTreatmentId": {
            "type": "integer",
            "format": "int32"
          },
          "activityCellId": {
            "type": "integer",
            "format": "int32"
          },
          "channelId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "activityTreatmentId": {
            "type": "integer",
            "format": "int32"
          },
          "activityWaveId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cellPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "estResponseRatePercent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActivityDates": {
        "required": [
          "activityDateId",
          "activityId",
          "endDate",
          "startDate",
          "title"
        ],
        "type": "object",
        "properties": {
          "activityDateId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          },
          "scheduleType": {
            "type": "integer",
            "format": "int32"
          },
          "timeZone": {
            "type": "integer",
            "format": "int32"
          },
          "milestoneEaId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityFinancialAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          },
          "hasViewRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActivityOffer": {
        "required": [
          "activityId",
          "offerId"
        ],
        "type": "object",
        "properties": {
          "activityOfferId": {
            "type": "integer",
            "format": "int32"
          },
          "offerId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "revenuePerOffer": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Activity": {
        "required": [
          "activityStateId",
          "activityTypeId",
          "administratorId",
          "beginDate",
          "currencyCode",
          "endDate",
          "name",
          "ownerId",
          "scsId",
          "timeZoneId",
          "visualEndDate"
        ],
        "type": "object",
        "properties": {
          "isAdamActivity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "systemStateId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "activityStateId": {
            "type": "integer",
            "format": "int32"
          },
          "activityTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "origin": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "totalEstMaterial": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "investmentAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "baseInvestmentAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalEstLabor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalEstCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "objective": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "baseTotalEstMaterial": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "scsId": {
            "type": "integer",
            "format": "int32"
          },
          "totalActualLabor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalEstTne": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalEstLabor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalActualMaterial": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalActualCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalEstCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalActualTne": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "proposalId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "administratorId": {
            "type": "integer",
            "format": "int32"
          },
          "baseTotalEstTne": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "creatorId": {
            "type": "integer",
            "format": "int32"
          },
          "baseTotalActualCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalActualLabor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalActualMaterial": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalActualTne": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalCommitFund": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalCommitFund": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalOutstanding": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalOutstanding": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "timeZoneId": {
            "type": "integer",
            "format": "int32"
          },
          "visualEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "resAllocDirty": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "brandId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "financialGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "financialsLocked": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "invExchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "finExchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fundingAcctId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "synchLock": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "forecastDataModifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "isCellMatrixLocked": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "purgeStatus": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "queuedForPurgeDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "purgedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "purgedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "retainRecord": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "calendarEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "financialAccessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityFinancialAccessList"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          },
          "forecasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Forecast"
            },
            "nullable": true
          },
          "milestoneActivityDates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityDates"
            },
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityAccessList"
            },
            "nullable": true
          },
          "programMembershipList": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "contentPlanList": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "brandName": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityProposal": {
        "required": [
          "activityTypeId",
          "administratorId",
          "anchorDate",
          "beginDate",
          "classificationId",
          "currencyCode",
          "endDate",
          "ownerId",
          "proposalState",
          "timeZone",
          "title"
        ],
        "type": "object",
        "properties": {
          "proposalId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "proposalState": {
            "$ref": "#/components/schemas/ProposalState"
          },
          "approvalType": {
            "$ref": "#/components/schemas/ApprovalType"
          },
          "activityTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "administratorId": {
            "type": "integer",
            "format": "int32"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "anchorDate": {
            "type": "string",
            "format": "date-time"
          },
          "submitDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "classificationId": {
            "type": "integer",
            "format": "int32"
          },
          "programId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "programProposalId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "timeZone": {
            "type": "integer",
            "format": "int32"
          },
          "isTemplate": {
            "type": "integer",
            "format": "int32"
          },
          "invoiceTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "materialTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "laborTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "tAndETotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "exchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "financialGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "templateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityProposalAccessList"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          },
          "forecasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProposalForecast"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityProposalAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActivityTreatment": {
        "required": [
          "activityId",
          "currencyCode",
          "treatmentId"
        ],
        "type": "object",
        "properties": {
          "activityTreatmentId": {
            "type": "integer",
            "format": "int32"
          },
          "treatmentId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Brand": {
        "required": [
          "brandTypeId",
          "clientId",
          "title"
        ],
        "type": "object",
        "properties": {
          "brandId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "brandTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "brandNumber": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ClientAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Client": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "clientTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "address1": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "address2": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "address3": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "state": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "zip": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "country": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "phone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "fax": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "url": {
            "maxLength": 150,
            "type": "string",
            "nullable": true
          },
          "email": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "brands": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientAccessList"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContentPlan": {
        "required": [
          "beginDate",
          "endDate",
          "title"
        ],
        "type": "object",
        "properties": {
          "planId": {
            "type": "integer",
            "format": "int32"
          },
          "scsId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "title": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "administratorId": {
            "type": "integer",
            "format": "int32"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUserId": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "backgroundTheme": {
            "type": "string",
            "nullable": true
          },
          "collections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanDamCollection"
            },
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanAccessList"
            },
            "nullable": true
          },
          "canRead": {
            "type": "boolean"
          },
          "canModify": {
            "type": "boolean"
          },
          "canCreateActivity": {
            "type": "boolean"
          },
          "canModifyActivity": {
            "type": "boolean"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Offer": {
        "required": [
          "beginDate",
          "expirationDate",
          "modifiedUser",
          "title"
        ],
        "type": "object",
        "properties": {
          "offerId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "offerCode": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "activitySpecific": {
            "type": "integer",
            "format": "int32"
          },
          "incentiveId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfferAccessList"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OfferAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PlanAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PlanDamCollection": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "integer",
            "format": "int32"
          },
          "collectionId": {
            "type": "string",
            "format": "uuid"
          },
          "collectionType": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Program": {
        "required": [
          "endDate",
          "ownerId",
          "startDate",
          "title"
        ],
        "type": "object",
        "properties": {
          "programId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "programTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "clientId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "brandId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "classificationId": {
            "type": "integer",
            "format": "int32"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProgramAccessList"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProgramAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProgramProposal": {
        "required": [
          "beginDate",
          "classificationId",
          "endDate",
          "ownerId",
          "programTypeId",
          "proposalState",
          "title"
        ],
        "type": "object",
        "properties": {
          "proposalId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "classificationId": {
            "type": "integer",
            "format": "int32"
          },
          "proposalState": {
            "$ref": "#/components/schemas/ProposalState"
          },
          "programTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "submitDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoiceTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "materialTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "laborTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "tAndETotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "approvalType": {
            "$ref": "#/components/schemas/ApprovalType"
          },
          "objective": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "proposalType": {
            "$ref": "#/components/schemas/ProposalType"
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProgramProposalAccessList"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProgramProposalAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SupplierFinanceGroup": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Supplier": {
        "required": [
          "activeFlag",
          "name",
          "notificationTypeId",
          "preferred"
        ],
        "type": "object",
        "properties": {
          "supplierId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "preferred": {
            "type": "integer",
            "format": "int32"
          },
          "activeFlag": {
            "type": "integer",
            "format": "int32"
          },
          "supplierTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "notificationTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "supplierNumber": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "url": {
            "maxLength": 150,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "addressLine1": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "addressLine2": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "addressLine3": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "state": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "zip": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "country": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "phone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "faxNumber": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "email": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "financeGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierFinanceGroup"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Treatment": {
        "required": [
          "activeFlag",
          "activitySpecific",
          "currencyCode",
          "title"
        ],
        "type": "object",
        "properties": {
          "treatmentId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "treatmentCode": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "channelId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "activeFlag": {
            "type": "integer",
            "format": "int32"
          },
          "activitySpecific": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "assignedActivityIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BudgetActivity": {
        "required": [
          "id",
          "name",
          "periods"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "activityType": {
            "$ref": "#/components/schemas/ActivityTypeReference"
          },
          "program": {
            "$ref": "#/components/schemas/ProgramReference"
          },
          "forPlanningOnly": {
            "type": "boolean"
          },
          "distribute": {
            "type": "boolean",
            "nullable": true
          },
          "annualForecast": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "periods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Period"
            }
          },
          "activatedId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "activatedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityTypeReference": {
        "required": [
          "title",
          "typeId"
        ],
        "type": "object",
        "properties": {
          "typeId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AmountHistory": {
        "required": [
          "amount",
          "date"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "minLength": 1,
            "type": "string"
          },
          "date": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "AssigneeHistory": {
        "required": [
          "assignee",
          "date"
        ],
        "type": "object",
        "properties": {
          "assignee": {
            "minLength": 1,
            "type": "string"
          },
          "date": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "BudgetCreation": {
        "required": [
          "year"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "nullable": true
          },
          "versionName": {
            "type": "string",
            "nullable": true
          },
          "budgetsCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "hierarchy": {
            "$ref": "#/components/schemas/Hierarchy"
          },
          "createdBy": {
            "$ref": "#/components/schemas/UserReference"
          },
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "assignee": {
            "$ref": "#/components/schemas/UserReference"
          },
          "details": {
            "$ref": "#/components/schemas/BudgetDetail"
          },
          "locked": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "integer",
            "format": "int64"
          },
          "updatedAt": {
            "type": "integer",
            "format": "int64"
          },
          "approved": {
            "type": "boolean",
            "nullable": true
          },
          "rejected": {
            "type": "boolean",
            "nullable": true
          },
          "modified": {
            "type": "boolean",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "subbudget": {
            "type": "boolean",
            "nullable": true
          },
          "submittedVersion": {
            "type": "string",
            "nullable": true
          },
          "versionsCount": {
            "type": "integer",
            "format": "int32"
          },
          "budgetsApprovedCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "subbudgetHierarchyCount": {
            "type": "integer",
            "format": "int32"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetNotification"
            },
            "nullable": true
          },
          "history": {
            "$ref": "#/components/schemas/BudgetHistory"
          },
          "sortId": {
            "type": "integer",
            "format": "int32"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "requestBudgetChange": {
            "$ref": "#/components/schemas/RequestChange"
          },
          "shares": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharedUser"
            },
            "nullable": true
          },
          "sharesEmailed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "activatedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "activatedId": {
            "type": "string",
            "nullable": true
          },
          "financeGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reactivatedId": {
            "type": "string",
            "nullable": true
          },
          "reactivatedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "isExported": {
            "type": "boolean",
            "nullable": true
          },
          "isReallocating": {
            "type": "boolean",
            "nullable": true
          },
          "originalBudgetId": {
            "type": "string",
            "nullable": true
          },
          "lastReallocationBudgetId": {
            "type": "string",
            "nullable": true
          },
          "activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetActivity"
            },
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Document"
            },
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "template": {
            "$ref": "#/components/schemas/BudgetTemplate"
          },
          "isTemplateLocked": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BudgetDetail": {
        "required": [
          "annual"
        ],
        "type": "object",
        "properties": {
          "annual": {
            "type": "number",
            "format": "double"
          },
          "periods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Period"
            },
            "nullable": true
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Metric"
            },
            "nullable": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "subbudgets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Budget"
            },
            "nullable": true
          },
          "variance": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "metricsDefinition": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetricDefinition"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BudgetHistory": {
        "type": "object",
        "properties": {
          "amounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AmountHistory"
            },
            "nullable": true
          },
          "assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssigneeHistory"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Budget": {
        "required": [
          "id",
          "year"
        ],
        "type": "object",
        "properties": {
          "name": {
            "nullable": true
          },
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "versionName": {
            "type": "string",
            "nullable": true
          },
          "budgetsCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "hierarchy": {
            "$ref": "#/components/schemas/Hierarchy"
          },
          "createdBy": {
            "$ref": "#/components/schemas/UserReference"
          },
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "assignee": {
            "$ref": "#/components/schemas/UserReference"
          },
          "details": {
            "$ref": "#/components/schemas/BudgetDetail"
          },
          "locked": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "integer",
            "format": "int64"
          },
          "updatedAt": {
            "type": "integer",
            "format": "int64"
          },
          "approved": {
            "type": "boolean",
            "nullable": true
          },
          "rejected": {
            "type": "boolean",
            "nullable": true
          },
          "modified": {
            "type": "boolean",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "subbudget": {
            "type": "boolean",
            "nullable": true
          },
          "submittedVersion": {
            "type": "string",
            "nullable": true
          },
          "versionsCount": {
            "type": "integer",
            "format": "int32"
          },
          "budgetsApprovedCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "subbudgetHierarchyCount": {
            "type": "integer",
            "format": "int32"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetNotification"
            },
            "nullable": true
          },
          "history": {
            "$ref": "#/components/schemas/BudgetHistory"
          },
          "sortId": {
            "type": "integer",
            "format": "int32"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "requestBudgetChange": {
            "$ref": "#/components/schemas/RequestChange"
          },
          "shares": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharedUser"
            },
            "nullable": true
          },
          "sharesEmailed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "activatedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "activatedId": {
            "type": "string",
            "nullable": true
          },
          "financeGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reactivatedId": {
            "type": "string",
            "nullable": true
          },
          "reactivatedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "isExported": {
            "type": "boolean",
            "nullable": true
          },
          "isReallocating": {
            "type": "boolean",
            "nullable": true
          },
          "originalBudgetId": {
            "type": "string",
            "nullable": true
          },
          "lastReallocationBudgetId": {
            "type": "string",
            "nullable": true
          },
          "activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetActivity"
            },
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Document"
            },
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "template": {
            "$ref": "#/components/schemas/BudgetTemplate"
          },
          "isTemplateLocked": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BudgetProjectionBase": {
        "required": [
          "id",
          "year"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "nullable": true
          },
          "versionName": {
            "type": "string",
            "nullable": true
          },
          "budgetsCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "hierarchy": {
            "$ref": "#/components/schemas/Hierarchy"
          },
          "createdBy": {
            "$ref": "#/components/schemas/UserReference"
          },
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "assignee": {
            "$ref": "#/components/schemas/UserReference"
          },
          "details": {
            "$ref": "#/components/schemas/BudgetDetail"
          },
          "locked": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "integer",
            "format": "int64"
          },
          "updatedAt": {
            "type": "integer",
            "format": "int64"
          },
          "approved": {
            "type": "boolean",
            "nullable": true
          },
          "rejected": {
            "type": "boolean",
            "nullable": true
          },
          "modified": {
            "type": "boolean",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "subbudget": {
            "type": "boolean",
            "nullable": true
          },
          "submittedVersion": {
            "type": "string",
            "nullable": true
          },
          "versionsCount": {
            "type": "integer",
            "format": "int32"
          },
          "budgetsApprovedCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "subbudgetHierarchyCount": {
            "type": "integer",
            "format": "int32"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetNotification"
            },
            "nullable": true
          },
          "history": {
            "$ref": "#/components/schemas/BudgetHistory"
          },
          "sortId": {
            "type": "integer",
            "format": "int32"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "requestBudgetChange": {
            "$ref": "#/components/schemas/RequestChange"
          },
          "shares": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharedUser"
            },
            "nullable": true
          },
          "sharesEmailed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "activatedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "activatedId": {
            "type": "string",
            "nullable": true
          },
          "financeGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reactivatedId": {
            "type": "string",
            "nullable": true
          },
          "reactivatedAt": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "isExported": {
            "type": "boolean",
            "nullable": true
          },
          "isReallocating": {
            "type": "boolean",
            "nullable": true
          },
          "originalBudgetId": {
            "type": "string",
            "nullable": true
          },
          "lastReallocationBudgetId": {
            "type": "string",
            "nullable": true
          },
          "activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetActivity"
            },
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Document"
            },
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "template": {
            "$ref": "#/components/schemas/BudgetTemplate"
          },
          "isTemplateLocked": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BudgetTemplate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "templateLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateLine"
            },
            "nullable": true
          },
          "createdBy": {
            "$ref": "#/components/schemas/UserInfo"
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UserInfo"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Currency": {
        "required": [
          "currencyCode",
          "id",
          "name",
          "symbol"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "symbol": {
            "minLength": 1,
            "type": "string"
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Document": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "base64": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Hierarchy": {
        "type": "object",
        "properties": {
          "parentId": {
            "type": "string",
            "nullable": true
          },
          "parentName": {
            "nullable": true
          },
          "hierarchy": {
            "$ref": "#/components/schemas/Hierarchy"
          },
          "isVersion": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MetricDefinition": {
        "required": [
          "externalId",
          "internalTitle",
          "title",
          "type"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "minLength": 1,
            "type": "string"
          },
          "internalTitle": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Metric": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "titleResourceId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BudgetNotification": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "screen": {
            "type": "string",
            "nullable": true
          },
          "sent": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Period": {
        "required": [
          "name",
          "value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ProgramReference": {
        "required": [
          "programId",
          "title"
        ],
        "type": "object",
        "properties": {
          "programId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RequestChange": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SharedUser": {
        "required": [
          "email",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "minLength": 1,
            "type": "string",
            "format": "email"
          }
        },
        "additionalProperties": false
      },
      "TemplateLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "nullable": true
          },
          "sortId": {
            "type": "integer",
            "format": "int32"
          },
          "templateLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateLine"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "userName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserReference": {
        "required": [
          "id",
          "lastName",
          "userName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "userName": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ChatboardMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "parentMessageId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "chatBoardId": {
            "type": "integer",
            "format": "int32"
          },
          "postDate": {
            "type": "string",
            "format": "date-time"
          },
          "replyCount": {
            "type": "integer",
            "format": "int32"
          },
          "isNew": {
            "type": "boolean"
          },
          "authorDisplayName": {
            "type": "string",
            "nullable": true
          },
          "replies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChatboardReply"
            },
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChatboardTag"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChatboardReply": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "postDate": {
            "type": "string",
            "format": "date-time"
          },
          "isNew": {
            "type": "boolean"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChatboardTag"
            },
            "nullable": true
          },
          "authorDisplayName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChatboardTag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "messageId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "EaMulti": {
        "type": "object",
        "properties": {
          "parentId": {
            "type": "integer",
            "format": "int32"
          },
          "extAttributeId": {
            "type": "integer",
            "format": "int32"
          },
          "encodedListItemId": {
            "type": "integer",
            "format": "int32"
          },
          "attributeName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ExtendedAttributeValue": {
        "type": "object",
        "properties": {
          "eaId": {
            "type": "integer",
            "format": "int32"
          },
          "skipDCTSave": {
            "type": "boolean"
          },
          "eaValue": {
            "nullable": true
          },
          "attributeName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DocumentUploadLocation": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "ProjectVisibility": {
        "enum": [
          0,
          1,
          -1
        ],
        "type": "integer",
        "format": "int32"
      },
      "UploadType": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "CommitmentStatus": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13
        ],
        "type": "integer",
        "format": "int32"
      },
      "ForecastStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "InvoiceStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ],
        "type": "integer",
        "format": "int32"
      },
      "JournalVoucherStatus": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer",
        "format": "int32"
      },
      "CommitmentItem": {
        "required": [
          "activityId",
          "description"
        ],
        "type": "object",
        "properties": {
          "committedItemId": {
            "type": "integer",
            "format": "int32"
          },
          "committedId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "expenseCategoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "exchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "closed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fiscalYearId": {
            "type": "integer",
            "format": "int32"
          },
          "fiscalPeriodId": {
            "type": "integer",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommittedFund": {
        "required": [
          "currencyCode",
          "ownerId",
          "supplierId"
        ],
        "type": "object",
        "properties": {
          "committedId": {
            "type": "integer",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "format": "int32"
          },
          "purchaseOrderNumber": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "closed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "enteredValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "creatorId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "commitmentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reviewedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "reviewedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pooled": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "commitmentStatus": {
            "$ref": "#/components/schemas/CommitmentStatus"
          },
          "financeGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "totalPendingInvoice": {
            "type": "number",
            "format": "double"
          },
          "baseTotalPendingInvoice": {
            "type": "number",
            "format": "double"
          },
          "totalPaidInvoice": {
            "type": "number",
            "format": "double"
          },
          "baseTotalPaidInvoice": {
            "type": "number",
            "format": "double"
          },
          "totalPendingAndPaidInvoice": {
            "type": "number",
            "format": "double"
          },
          "totalAmount": {
            "type": "number",
            "format": "double"
          },
          "baseTotalAmount": {
            "type": "number",
            "format": "double"
          },
          "totalOutstanding": {
            "type": "number",
            "format": "double"
          },
          "baseTotalOutstanding": {
            "type": "number",
            "format": "double"
          },
          "proposedTotalAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "proposedBaseTotalAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commitmentItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommitmentItem"
            },
            "nullable": true
          },
          "proposedCommitmentItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProposedCommitmentItem"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FinancialHierarchy": {
        "required": [
          "encodedTitle",
          "fiscialYearId"
        ],
        "type": "object",
        "properties": {
          "financialHierarchyId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "rootNodeId": {
            "type": "integer",
            "format": "int32"
          },
          "unusedNodeId": {
            "type": "integer",
            "format": "int32"
          },
          "showUnused": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "fiscialYearId": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "encodedTitleId": {
            "type": "integer",
            "format": "int32"
          },
          "encodedTitle": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyAccessList"
            },
            "nullable": true
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyGroup"
            },
            "nullable": true
          },
          "fundingAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyNodeAccount"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FinancialHierarchyAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FinancialHierarchyBranch": {
        "required": [
          "financialHierarchyId"
        ],
        "type": "object",
        "properties": {
          "financialHierarchyId": {
            "type": "integer",
            "format": "int32"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyNode"
            },
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyAccessList"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FinancialHierarchyGroup": {
        "type": "object",
        "properties": {
          "financialHierarchyId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FinancialHierarchyNode": {
        "required": [
          "financialHierarchyId",
          "title"
        ],
        "type": "object",
        "properties": {
          "financialHierarchyNodeId": {
            "type": "integer",
            "format": "int32"
          },
          "financialHierarchyId": {
            "type": "integer",
            "format": "int32"
          },
          "encodedTitleId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "parentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "terminalNode": {
            "type": "integer",
            "format": "int32"
          },
          "topDownBudgetAllocated": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "topDownBudgetAttainment": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "childNodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyNode"
            },
            "nullable": true
          },
          "childSequence": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyNodeList"
            },
            "nullable": true
          },
          "fundingAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialHierarchyNodeAccount"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FinancialHierarchyNodeAccount": {
        "type": "object",
        "properties": {
          "financialHierarchyNodeId": {
            "type": "integer",
            "format": "int32"
          },
          "fundingAccountId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FinancialHierarchyNodeList": {
        "type": "object",
        "properties": {
          "financialHierarchyNodeId": {
            "type": "integer",
            "format": "int32"
          },
          "childNodeId": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Forecast": {
        "required": [
          "activityId",
          "cost",
          "units"
        ],
        "type": "object",
        "properties": {
          "activityForecastId": {
            "type": "integer",
            "format": "int32"
          },
          "serviceId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "units": {
            "type": "number",
            "format": "double"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "expCatId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fiscalYearId": {
            "type": "integer",
            "format": "int32"
          },
          "fiscalPeriodId": {
            "type": "integer",
            "format": "int32"
          },
          "exchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/ForecastStatus"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FundingAccount": {
        "required": [
          "administrator",
          "budgetedCurrency",
          "financeGroupClassification",
          "fiscalYear",
          "fundingAccountContact",
          "status",
          "title"
        ],
        "type": "object",
        "properties": {
          "fundingAccountId": {
            "type": "integer",
            "format": "int32"
          },
          "fundingAccountPrefix": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "fundingAccountType": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "displayTitle": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "source": {
            "type": "integer",
            "format": "int32"
          },
          "administrator": {
            "type": "integer",
            "format": "int32"
          },
          "financeGroupClassification": {
            "type": "integer",
            "format": "int32"
          },
          "fundingAccountContact": {
            "type": "integer",
            "format": "int32"
          },
          "fiscalYear": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "budgetedCurrency": {
            "type": "integer",
            "format": "int32"
          },
          "creator": {
            "type": "integer",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "exchangeRate": {
            "type": "integer",
            "format": "int32"
          },
          "financialHierarchies": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "budgets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FundingAccountBudget"
            },
            "nullable": true
          },
          "accessList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FundingAccountAccessList"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FundingAccountAccessList": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FundingAccountBudget": {
        "type": "object",
        "properties": {
          "fundingAccountId": {
            "type": "integer",
            "format": "int32"
          },
          "fiscalPeriodId": {
            "type": "integer",
            "format": "int32"
          },
          "enteredAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "InvoiceItem": {
        "required": [
          "activityId",
          "description",
          "itemId",
          "price",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "invoiceId": {
            "type": "integer",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "expCatId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fundingAcctId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "committedFundItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Invoice": {
        "required": [
          "currencyCode",
          "fiscalYearId",
          "invoiceDate",
          "invoiceNumber",
          "status",
          "supplierId"
        ],
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "integer",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "format": "int32"
          },
          "commitmentFundId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "paidDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "totalInvoice": {
            "type": "number",
            "format": "double"
          },
          "baseTotalInvoice": {
            "type": "number",
            "format": "double"
          },
          "dateReceived": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateDue": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoiceNumber": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reviewedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "financeGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "reviewedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoiceTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pooled": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "net": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus"
          },
          "creator": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "format": "date-time"
          },
          "fiscalYearId": {
            "type": "integer",
            "format": "int32"
          },
          "exchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ownerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "invoiceItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceItem"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JournalVoucherItem": {
        "type": "object",
        "properties": {
          "jvItemId": {
            "type": "integer",
            "format": "int32"
          },
          "journalVoucherId": {
            "type": "integer",
            "format": "int32"
          },
          "committedFundItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "expCatId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fundingAcctId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "itemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JournalVoucher": {
        "required": [
          "journalVoucherDate"
        ],
        "type": "object",
        "properties": {
          "journalVoucherId": {
            "type": "integer",
            "format": "int32"
          },
          "invoiceId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "committedFundId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "format": "int32"
          },
          "contactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "journalVoucherDate": {
            "type": "string",
            "format": "date-time"
          },
          "creatorId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "fiscalYearId": {
            "type": "integer",
            "format": "int32"
          },
          "journalVoucherStatus": {
            "$ref": "#/components/schemas/JournalVoucherStatus"
          },
          "postedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "sendToGlIntegration": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "exchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "multipleActivities": {
            "type": "integer",
            "format": "int32"
          },
          "glOverridden": {
            "type": "integer",
            "format": "int32"
          },
          "journalVoucherTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "jvTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "baseTotalJv": {
            "type": "number",
            "format": "double"
          },
          "financeGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "journalVoucherItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JournalVoucherItem"
            },
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProposalForecast": {
        "required": [
          "cost",
          "description",
          "proposalId",
          "units"
        ],
        "type": "object",
        "properties": {
          "proposalForecastId": {
            "type": "integer",
            "format": "int32"
          },
          "serviceId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "proposalId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "units": {
            "type": "number",
            "format": "double"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "expCatId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fiscalYearId": {
            "type": "integer",
            "format": "int32"
          },
          "fiscalPeriodId": {
            "type": "integer",
            "format": "int32"
          },
          "exchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProposedCommitmentItem": {
        "type": "object",
        "properties": {
          "committedItemId": {
            "type": "integer",
            "format": "int32"
          },
          "committedId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "expenseCategoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "exchangeRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "closed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fiscalYearId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fiscalPeriodId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GenericObjectAlpha": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedBy": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "relatedObjectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GenericObjectBravo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedBy": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "relatedObjectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GenericObjectCharlie": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedBy": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "relatedObjectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GenericObjectDelta": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedBy": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "relatedObjectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GenericObjectEcho": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedBy": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "relatedObjectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MetadataDataType": {
        "enum": [
          1,
          2,
          3,
          4,
          11,
          12,
          13,
          14,
          15,
          21,
          22,
          23,
          31,
          32,
          33,
          34,
          35,
          36,
          37,
          40,
          41,
          42,
          43,
          44,
          99
        ],
        "type": "integer",
        "format": "int32"
      },
      "MetadataFieldType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "TimeConversionMethod": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "ExtendedAttributeRelationshipAllowed": {
        "type": "object",
        "properties": {
          "allowed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IFieldFormatting": {
        "type": "object",
        "properties": {
          "fieldLength": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "upperBound": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "lowerBound": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "urlDisplayText": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "formattingInfo": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IFieldLookupValue": {
        "type": "object",
        "properties": {
          "lookupValue": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "resourceId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IFieldMetadata": {
        "type": "object",
        "properties": {
          "fieldName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "titleResourceId": {
            "type": "string",
            "nullable": true
          },
          "fieldDataType": {
            "$ref": "#/components/schemas/MetadataDataType"
          },
          "fieldFormatting": {
            "$ref": "#/components/schemas/IFieldFormatting"
          },
          "validationRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IValidationRule"
            },
            "nullable": true,
            "readOnly": true
          },
          "valueManipulationRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IValueManipulationRule"
            },
            "nullable": true,
            "readOnly": true
          },
          "validValues": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true,
            "readOnly": true
          },
          "lookupListId": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "attributeHelpTextId": {
            "type": "string",
            "nullable": true
          },
          "timeValueType": {
            "$ref": "#/components/schemas/TimeConversionMethod"
          },
          "amsAttributeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "isSecure": {
            "type": "boolean",
            "readOnly": true
          },
          "isReadOnly": {
            "type": "boolean",
            "readOnly": true
          },
          "allowInitialValue": {
            "type": "boolean"
          },
          "inactive": {
            "type": "boolean",
            "readOnly": true
          },
          "selectionListName": {
            "type": "string",
            "nullable": true
          },
          "entityFieldName": {
            "type": "string",
            "nullable": true
          },
          "lookupValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IFieldLookupValue"
            },
            "nullable": true
          },
          "systemTypeName": {
            "type": "string",
            "nullable": true
          },
          "parentName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "parentFieldName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "parentFieldType": {
            "$ref": "#/components/schemas/MetadataFieldType"
          },
          "fieldType": {
            "$ref": "#/components/schemas/MetadataFieldType"
          },
          "defaultValue": {
            "type": "string",
            "nullable": true
          },
          "tabEncodedTitleId": {
            "type": "string",
            "nullable": true
          },
          "tabSequence": {
            "type": "integer",
            "format": "int32"
          },
          "childObject": {
            "$ref": "#/components/schemas/IResourceMetadata"
          },
          "eaSections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldSection"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IResourceMetadata": {
        "type": "object",
        "properties": {
          "objectName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "supportsEAs": {
            "type": "boolean",
            "readOnly": true
          },
          "supportsSecureEAs": {
            "type": "boolean",
            "readOnly": true
          },
          "nameResourceId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "resourceType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "contentType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IFieldMetadata"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IValidationRule": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "resourceId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IValueManipulationRule": {
        "type": "object",
        "additionalProperties": false
      },
      "ExtendedAttributeSection": {
        "type": "object",
        "properties": {
          "extAttributeId": {
            "type": "integer",
            "format": "int32"
          },
          "parentExtendedAttributeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "disallowedEncodedListItems": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "typeID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sectionId": {
            "type": "integer",
            "format": "int32"
          },
          "encodedTitleId": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "showHeader": {
            "type": "integer",
            "format": "int32"
          },
          "fieldSequence": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FieldSection": {
        "type": "object",
        "properties": {
          "sectionId": {
            "type": "integer",
            "format": "int32"
          },
          "encodedTitleId": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "showHeader": {
            "type": "integer",
            "format": "int32"
          },
          "fieldSequence": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SelectionList": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectionListItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SystemType": {
        "type": "object",
        "properties": {
          "systemTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "resourceId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "activeFlag": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SelectionListItem": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "integer",
            "format": "int32"
          },
          "resourceId": {
            "type": "string",
            "nullable": true
          },
          "displayValue": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "systemName": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AllowVersionOption": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "IndicatorTaskType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "ProjectOutlook": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "ProjectStatus": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9
        ],
        "type": "integer",
        "format": "int32"
      },
      "ReviewTaskVoteResult": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "ReviewTaskVoteStyle": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "TaskAssigneeWorkStatus": {
        "enum": [
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9
        ],
        "type": "integer",
        "format": "int32"
      },
      "TaskStepType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14
        ],
        "type": "integer",
        "format": "int32"
      },
      "TaskTypeStatus": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "WorkEntryType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "WorkFlowTaskStatus": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ],
        "type": "integer",
        "format": "int32"
      },
      "WorkGroupAction": {
        "enum": [
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "AssignmentTask": {
        "required": [
          "autoAccept",
          "autoClose",
          "canClose",
          "canDelegate",
          "canSkip",
          "estimatedDuration",
          "estimatedWork",
          "modifiedDate",
          "modifiedUser",
          "name",
          "onExecutionPath",
          "projectId",
          "startType",
          "taskId",
          "taskType",
          "workFlowTaskStatus",
          "workScheduleId"
        ],
        "type": "object",
        "properties": {
          "showDocResult": {
            "type": "boolean"
          },
          "projectTitle": {
            "type": "string",
            "nullable": true
          },
          "activityName": {
            "type": "string",
            "nullable": true
          },
          "activityId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "taskId": {
            "type": "integer",
            "format": "int32"
          },
          "projectId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "workFlowTaskStatus": {
            "$ref": "#/components/schemas/WorkFlowTaskStatus"
          },
          "autoClose": {
            "type": "integer",
            "format": "int32"
          },
          "estimatedDuration": {
            "type": "integer",
            "format": "int32"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "beginDateUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDateUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "workGroupActionId": {
            "$ref": "#/components/schemas/WorkGroupAction"
          },
          "canClose": {
            "type": "integer",
            "format": "int32"
          },
          "acceptanceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "taskStepType": {
            "$ref": "#/components/schemas/TaskStepType"
          },
          "workEntryType": {
            "$ref": "#/components/schemas/WorkEntryType"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "workflowStepId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "completedByUser": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          },
          "numberOfAssignees": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "estimatedWork": {
            "type": "integer",
            "format": "int32"
          },
          "rollupActualWork": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rollupActualEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "rollupActualBeginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "enteredEstimatedDurationHour": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedDurationMinute": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedDurationDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedWorkDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedWorkMinute": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedWorkHour": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "baselineEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "baselineBeginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTaskAssignee"
            },
            "nullable": true
          },
          "taskRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTaskRole"
            },
            "nullable": true
          },
          "taskPredecessors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTaskPredecessor"
            },
            "nullable": true
          },
          "taskType": {
            "$ref": "#/components/schemas/TaskTypeStatus"
          },
          "canDelegate": {
            "type": "boolean"
          },
          "startType": {
            "type": "integer",
            "format": "int32"
          },
          "onExecutionPath": {
            "type": "integer",
            "format": "int32"
          },
          "canSkip": {
            "type": "integer",
            "format": "int32"
          },
          "derivedIndicatorTaskType": {
            "$ref": "#/components/schemas/IndicatorTaskType"
          },
          "canDecline": {
            "type": "boolean"
          },
          "assigneeWorkStatus": {
            "$ref": "#/components/schemas/TaskAssigneeWorkStatus"
          },
          "outlook": {
            "nullable": true
          },
          "reviewComments": {
            "nullable": true
          },
          "workScheduleId": {
            "type": "integer",
            "format": "int32"
          },
          "autoAccept": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sprintId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "editAccessList": {
            "type": "integer",
            "format": "int32"
          },
          "manualRetryCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ChangeOrderCategory": {
        "type": "object",
        "properties": {
          "projectCategoryId": {
            "type": "integer",
            "format": "int32"
          },
          "encodedTitleId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Project": {
        "required": [
          "activityId",
          "projectManager",
          "timeZoneId",
          "title"
        ],
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "beginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "workflowId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectStatus": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "projectManager": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "enableAlap": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timeZoneId": {
            "type": "integer",
            "format": "int32"
          },
          "projectScalingTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "proposedProjectScalingTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "digitalAssetLocation": {
            "type": "integer",
            "format": "int32"
          },
          "associatedProjectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          },
          "activityName": {
            "type": "string",
            "nullable": true
          },
          "projectCategoryId": {
            "nullable": true
          },
          "outlook": {
            "$ref": "#/components/schemas/ProjectOutlook"
          },
          "changeOrder": {
            "type": "boolean"
          },
          "changeOrderCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChangeOrderCategory"
            },
            "nullable": true
          },
          "healthIndicatorDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "useDamAssetAccessList": {
            "type": "integer",
            "format": "int32"
          },
          "useFloat": {
            "type": "integer",
            "format": "int32"
          },
          "uploadToCollection": {
            "type": "integer",
            "format": "int32"
          },
          "endTaskId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectedEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "baselineEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "brandName": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProjectRoleMemberships": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectId": {
            "type": "integer",
            "format": "int32"
          },
          "projectName": {
            "type": "string",
            "nullable": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectRoleUser"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProjectRoleUser": {
        "type": "object",
        "properties": {
          "roleId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userTokenId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userToken": {
            "type": "string",
            "nullable": true
          },
          "projectRoleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReviewTask": {
        "required": [
          "autoAccept",
          "autoClose",
          "canClose",
          "canDelegate",
          "canSkip",
          "estimatedDuration",
          "estimatedWork",
          "modifiedDate",
          "modifiedUser",
          "name",
          "onExecutionPath",
          "projectId",
          "startType",
          "taskId",
          "taskType",
          "workFlowTaskStatus",
          "workScheduleId"
        ],
        "type": "object",
        "properties": {
          "voteStyle": {
            "$ref": "#/components/schemas/ReviewTaskVoteStyle"
          },
          "voteResult": {
            "$ref": "#/components/schemas/ReviewTaskVoteResult"
          },
          "documentLevelVoting": {
            "type": "boolean"
          },
          "allMustVote": {
            "type": "boolean"
          },
          "requiresElectronicSignature": {
            "type": "boolean"
          },
          "shouldHideVoteComments": {
            "type": "boolean"
          },
          "voteCommentsMode": {
            "$ref": "#/components/schemas/VoteCommentsMode"
          },
          "voteButtonEncTitleId": {
            "type": "integer",
            "format": "int32"
          },
          "taskId": {
            "type": "integer",
            "format": "int32"
          },
          "projectId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "workFlowTaskStatus": {
            "$ref": "#/components/schemas/WorkFlowTaskStatus"
          },
          "autoClose": {
            "type": "integer",
            "format": "int32"
          },
          "estimatedDuration": {
            "type": "integer",
            "format": "int32"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "beginDateUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDateUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "workGroupActionId": {
            "$ref": "#/components/schemas/WorkGroupAction"
          },
          "canClose": {
            "type": "integer",
            "format": "int32"
          },
          "acceptanceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "taskStepType": {
            "$ref": "#/components/schemas/TaskStepType"
          },
          "workEntryType": {
            "$ref": "#/components/schemas/WorkEntryType"
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "workflowStepId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "completedByUser": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          },
          "numberOfAssignees": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "estimatedWork": {
            "type": "integer",
            "format": "int32"
          },
          "rollupActualWork": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rollupActualEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "rollupActualBeginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "enteredEstimatedDurationHour": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedDurationMinute": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedDurationDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedWorkDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedWorkMinute": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstimatedWorkHour": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "baselineEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "baselineBeginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTaskAssignee"
            },
            "nullable": true
          },
          "taskRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTaskRole"
            },
            "nullable": true
          },
          "taskPredecessors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTaskPredecessor"
            },
            "nullable": true
          },
          "taskType": {
            "$ref": "#/components/schemas/TaskTypeStatus"
          },
          "canDelegate": {
            "type": "boolean"
          },
          "startType": {
            "type": "integer",
            "format": "int32"
          },
          "onExecutionPath": {
            "type": "integer",
            "format": "int32"
          },
          "canSkip": {
            "type": "integer",
            "format": "int32"
          },
          "derivedIndicatorTaskType": {
            "$ref": "#/components/schemas/IndicatorTaskType"
          },
          "canDecline": {
            "type": "boolean"
          },
          "assigneeWorkStatus": {
            "$ref": "#/components/schemas/TaskAssigneeWorkStatus"
          },
          "outlook": {
            "nullable": true
          },
          "reviewComments": {
            "nullable": true
          },
          "workScheduleId": {
            "type": "integer",
            "format": "int32"
          },
          "autoAccept": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sprintId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "editAccessList": {
            "type": "integer",
            "format": "int32"
          },
          "manualRetryCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ReviewTaskVote": {
        "type": "object",
        "properties": {
          "voteResult": {
            "$ref": "#/components/schemas/ReviewTaskVoteResult"
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "days": {
            "type": "integer",
            "format": "int32"
          },
          "hours": {
            "type": "integer",
            "format": "int32"
          },
          "minutes": {
            "type": "integer",
            "format": "int32"
          },
          "rejectReasonId": {
            "type": "integer",
            "format": "int32"
          },
          "electronicSignature": {
            "type": "string",
            "nullable": true
          },
          "promoteAttachments": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TaskAssigneeDelegate": {
        "type": "object",
        "properties": {
          "taskAssigneeId": {
            "type": "integer",
            "format": "int32"
          },
          "newUserId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TaskAssigneeTimeDetail": {
        "type": "object",
        "properties": {
          "assigneeId": {
            "type": "integer",
            "format": "int32"
          },
          "taskTimeEntries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTaskTimeEntries"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaskChecklistItemResult": {
        "type": "object",
        "properties": {
          "checklistItemId": {
            "type": "integer",
            "format": "int32"
          },
          "checkValue": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaskChecklistResult": {
        "type": "object",
        "properties": {
          "taskChecklistResults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskChecklistItemResult"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WfTaskAssignee": {
        "required": [
          "assigneeId",
          "canClose",
          "taskId",
          "workStatus"
        ],
        "type": "object",
        "properties": {
          "assigneeId": {
            "type": "integer",
            "format": "int32"
          },
          "taskId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "estimatedWork": {
            "type": "integer",
            "format": "int32"
          },
          "estimatedEffort": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "actualBeginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "actualEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "actualWork": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "voteResult": {
            "$ref": "#/components/schemas/ReviewTaskVoteResult"
          },
          "sequence": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "workStatus": {
            "$ref": "#/components/schemas/TaskAssigneeWorkStatus"
          },
          "enteredEstWorkDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstWorkHour": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstWorkMin": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredActWorkDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredActWorkHour": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredActWorkMin": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "canClose": {
            "type": "integer",
            "format": "int32"
          },
          "rejectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "maxLength": 4000,
            "type": "string",
            "nullable": true
          },
          "sentNotification": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pendingCloseDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "completedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "assignedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "closedWork": {
            "type": "integer",
            "format": "int32"
          },
          "voteResultEncTitleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "voteResultResourceId": {
            "type": "string",
            "nullable": true
          },
          "isDetailedTimeTracking": {
            "type": "boolean"
          },
          "roleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WfTaskDocReviews": {
        "type": "object",
        "properties": {
          "taskName": {
            "type": "string",
            "nullable": true
          },
          "taskId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "workflowStepId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "taskDocId": {
            "type": "integer",
            "format": "int32"
          },
          "assigneeId": {
            "type": "integer",
            "format": "int32"
          },
          "versionId": {
            "type": "integer",
            "format": "int32"
          },
          "voteResult": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rejectId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "voteResultEncTitleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relatedUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relatedCompletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "relatedNotVotedAssigneeUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WfTaskPredecessor": {
        "type": "object",
        "properties": {
          "predTaskId": {
            "type": "integer",
            "format": "int32"
          },
          "taskId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "WfTaskRequiredDocument": {
        "required": [
          "allowVersion",
          "categoryId",
          "documentsRequiredType",
          "instructions",
          "taskId"
        ],
        "type": "object",
        "properties": {
          "initialVersionId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assetTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "attachmentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "linkedTaskDocumentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "workflowDocumentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "categoryId": {
            "type": "integer",
            "format": "int32"
          },
          "uploadLocation": {
            "$ref": "#/components/schemas/DocumentUploadLocation"
          },
          "facets": {
            "type": "string",
            "nullable": true
          },
          "searchExpression": {
            "type": "string",
            "nullable": true
          },
          "documentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "taskId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "assetId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "attachmentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "versionId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fileTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "uploadType": {
            "$ref": "#/components/schemas/UploadType"
          },
          "instructions": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "projectVisibility": {
            "$ref": "#/components/schemas/ProjectVisibility"
          },
          "documentsRequiredType": {
            "type": "integer",
            "format": "int32"
          },
          "allowVersion": {
            "$ref": "#/components/schemas/AllowVersionOption"
          }
        },
        "additionalProperties": false
      },
      "WfTaskRole": {
        "required": [
          "estimatedWork",
          "taskId",
          "taskRoleId"
        ],
        "type": "object",
        "properties": {
          "taskRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "taskId": {
            "type": "integer",
            "format": "int32"
          },
          "roleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "estimatedWork": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstWorkDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstWorkHour": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredEstWorkMin": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userTokenId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WfTaskTimeEntries": {
        "required": [
          "actualDate",
          "assigneeId"
        ],
        "type": "object",
        "properties": {
          "timeEntryId": {
            "type": "integer",
            "format": "int32"
          },
          "assigneeId": {
            "type": "integer",
            "format": "int32"
          },
          "actualDate": {
            "type": "string",
            "format": "date-time"
          },
          "actualWork": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "enteredActualWorkHours": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enteredActualWorkMinutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WfTeam": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "teamMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WfTeamMember"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WfTeamMember": {
        "type": "object",
        "properties": {
          "teamMemberId": {
            "type": "integer",
            "format": "int32"
          },
          "teamId": {
            "type": "integer",
            "format": "int32"
          },
          "roleId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userTokenId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "hasEditRight": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "hasFinancialsEditRight": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoteCommentsMode": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "ClientLoggingLevelEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "GroupDomainRights": {
        "type": "object",
        "properties": {
          "domainId": {
            "type": "integer",
            "format": "int32"
          },
          "rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroupRights"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupMembership": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Group": {
        "required": [
          "name",
          "status"
        ],
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupMembership"
            },
            "nullable": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupRoleMembership"
            },
            "nullable": true
          },
          "domainRights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupDomainRights"
            },
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "financeGroup": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "adamUserId": {
            "type": "string",
            "nullable": true
          },
          "modifiedBy": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GroupRoleMembership": {
        "type": "object",
        "properties": {
          "roleId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Right": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "functionID": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "tokenBit": {
            "type": "integer",
            "format": "int32"
          },
          "resourceId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "juniorAdmin": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UserGroup": {
        "required": [
          "activeFlag",
          "adHocUser",
          "analyzeAllDomains",
          "applicationUser",
          "currencyCode",
          "dateFormat",
          "htmlEmail",
          "isPinReset",
          "laborRateCurrencyCode",
          "languageId",
          "lastName",
          "localeId",
          "loginId",
          "numberFormatId",
          "paperSize",
          "portalUser",
          "reviewUser",
          "timeFormat",
          "timezoneId"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "laborRateCurrencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "userType": {
            "type": "integer",
            "format": "int32"
          },
          "prefix": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "title": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "loginId": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "employeeNumber": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "costCenter": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "deptCode": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "languageId": {
            "type": "integer",
            "format": "int32"
          },
          "address1": {
            "maxLength": 1024,
            "type": "string",
            "nullable": true
          },
          "address2": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "address3": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "country": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "state": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "zip": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "autoSave": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "comments": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "department": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "externalLogin": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "office": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dateFormat": {
            "type": "integer",
            "format": "int32"
          },
          "timeFormat": {
            "type": "integer",
            "format": "int32"
          },
          "numberFormatId": {
            "type": "integer",
            "format": "int32"
          },
          "timezoneId": {
            "type": "integer",
            "format": "int32"
          },
          "htmlEmail": {
            "type": "boolean"
          },
          "company": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "analyzeAllDomains": {
            "type": "integer",
            "format": "int32"
          },
          "isPinReset": {
            "type": "integer",
            "format": "int32"
          },
          "passwordExpires": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "passwordSetDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "adHocUser": {
            "type": "boolean"
          },
          "activeFlag": {
            "type": "integer",
            "format": "int32"
          },
          "applicationUser": {
            "type": "boolean"
          },
          "portalUser": {
            "type": "boolean"
          },
          "reviewUser": {
            "type": "boolean"
          },
          "isOutOfOffice": {
            "type": "boolean"
          },
          "outOfOfficeStatus": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "outOfOfficeEffectiveStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "outOfOfficeEffectiveEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "localeId": {
            "type": "integer",
            "format": "int32"
          },
          "lastLoginDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "clientLoggingLevel": {
            "$ref": "#/components/schemas/ClientLoggingLevelEnum"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "investmentReviewUserBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "investmentReviewGroupBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "activityFinancialUserBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "activityFinancialGroupBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "conceptReviewUserBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "conceptReviewGroupBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "workflowUserBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "workflowGroupBackups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroupRights"
            },
            "nullable": true
          },
          "role": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "inheritedRights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroupRights"
            },
            "nullable": true
          },
          "legacyAvatarUri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "email": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "phone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "mobileNumber": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "fax": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "paperSize": {
            "type": "integer",
            "format": "int32"
          },
          "adamLoginId": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "adamUserId": {
            "maxLength": 36,
            "type": "string",
            "nullable": true
          },
          "adamUiLanguage": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "adamContentLanguage": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "preferredLandingPage": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedAttributeValue"
            },
            "nullable": true
          },
          "multipleValueExtendedAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EaMulti"
            },
            "nullable": true
          },
          "themeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "urlRoot": {
            "maxLength": 32,
            "type": "string",
            "nullable": true
          },
          "instructionText": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "spendFocusedView": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "hasReviewPin": {
            "type": "boolean",
            "nullable": true
          },
          "readOnly": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "notificationTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserGroupRights": {
        "type": "object",
        "properties": {
          "functionID": {
            "type": "integer",
            "format": "int32"
          },
          "functionName": {
            "type": "string",
            "nullable": true
          },
          "domainID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UserRole": {
        "required": [
          "activeFlag",
          "currencyCode",
          "name",
          "usedInAnnotations"
        ],
        "type": "object",
        "properties": {
          "roleId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 75,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "activeFlag": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "integer",
            "format": "int32"
          },
          "laborRateEntered": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "laborRateBase": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "excludeFromChatboards": {
            "type": "integer",
            "format": "int32"
          },
          "usedInAnnotations": {
            "type": "integer",
            "format": "int32"
          },
          "color": {
            "maxLength": 7,
            "type": "string",
            "nullable": true
          },
          "modifiedUser": {
            "type": "integer",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupMembership"
            },
            "nullable": true
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupMembership"
            },
            "nullable": true
          },
          "userRoleMembers": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkRequest": {
        "required": [
          "workRequestFormId"
        ],
        "type": "object",
        "properties": {
          "requestId": {
            "type": "integer",
            "format": "int32"
          },
          "activityTitle": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "dateRequested": {
            "type": "string",
            "format": "date-time"
          },
          "statusId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "statusName": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "outcomeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "outcomeName": {
            "type": "string",
            "nullable": true
          },
          "outcome": {
            "type": "integer",
            "format": "int32"
          },
          "reviewTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reviewTypeName": {
            "type": "string",
            "nullable": true
          },
          "reviewType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "requestorName": {
            "maxLength": 75,
            "type": "string",
            "nullable": true
          },
          "workRequestAdminName": {
            "type": "string",
            "nullable": true
          },
          "workRequestAdminEmail": {
            "type": "string",
            "nullable": true
          },
          "workRequestAdminPhone": {
            "type": "string",
            "nullable": true
          },
          "activityAdminName": {
            "type": "string",
            "nullable": true
          },
          "activityAdminEmail": {
            "type": "string",
            "nullable": true
          },
          "activityAdminPhone": {
            "type": "string",
            "nullable": true
          },
          "requestorEmail": {
            "maxLength": 255,
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "requestorPhone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "activityId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "workRequestFormData": {
            "type": "string",
            "nullable": true
          },
          "workRequestFormName": {
            "type": "string",
            "nullable": true
          },
          "reviewRequired": {
            "type": "integer",
            "format": "int32"
          },
          "workRequestFormId": {
            "type": "integer",
            "format": "int32"
          },
          "requestorId": {
            "type": "integer",
            "format": "int32"
          },
          "activityTypeState": {
            "type": "string",
            "nullable": true
          },
          "workRequestAdminId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkRequestCategory": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "integer",
            "format": "int32"
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "languageId": {
            "type": "integer",
            "format": "int32"
          },
          "activeFlag": {
            "type": "integer",
            "format": "int32"
          },
          "scsId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "WorkRequestField": {
        "type": "object",
        "properties": {
          "workRequestFieldId": {
            "type": "integer",
            "format": "int32"
          },
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "workRequestAttributeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "headingName": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "fieldMetadata": {
            "$ref": "#/components/schemas/IFieldMetadata"
          },
          "isVisible": {
            "type": "boolean"
          },
          "extendedAttributeSection": {
            "$ref": "#/components/schemas/ExtendedAttributeSection"
          }
        },
        "additionalProperties": false
      },
      "WorkRequestFieldGroup": {
        "type": "object",
        "properties": {
          "header": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkRequestField"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkRequestForm": {
        "type": "object",
        "properties": {
          "activityId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "activeFlag": {
            "type": "integer",
            "format": "int32"
          },
          "scsId": {
            "type": "integer",
            "format": "int32"
          },
          "reviewRequired": {
            "type": "integer",
            "format": "int32"
          },
          "isTitleEditable": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "instructionText": {
            "type": "string",
            "nullable": true
          },
          "fieldSections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkRequestFieldGroup"
            },
            "nullable": true
          },
          "activityTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "damAvailability": {
            "type": "boolean"
          },
          "workRequestAdminId": {
            "type": "integer",
            "format": "int32"
          },
          "validateRequiredFields": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "IntegrationLog": {
        "type": "object",
        "properties": {
          "logId": {
            "type": "integer",
            "format": "int32"
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "direction": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "success": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "input": {
            "type": "string",
            "nullable": true
          },
          "output": {
            "type": "string",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "webhookSourceLocation": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "webhookSubType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entryType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "retryCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "retryTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FdaForm2253Data": {
        "type": "object",
        "properties": {
          "dateSubmitted": {
            "type": "string",
            "nullable": true
          },
          "labelReviewNumber": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "singleProductOrMultiple": {
            "type": "boolean",
            "nullable": true
          },
          "proprietaryName": {
            "type": "string",
            "nullable": true
          },
          "establishedName": {
            "type": "string",
            "nullable": true
          },
          "productCodeNo": {
            "type": "string",
            "nullable": true
          },
          "packageInsertDateAndIdNumber": {
            "type": "string",
            "nullable": true
          },
          "manufacturerName": {
            "type": "string",
            "nullable": true
          },
          "licenseNoBiologics": {
            "type": "string",
            "nullable": true
          },
          "professionalOrConsumer": {
            "type": "boolean",
            "nullable": true
          },
          "advertisementMaterials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MaterialRow"
            },
            "nullable": true
          },
          "comments": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "fax": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "typedNameOfAgent": {
            "type": "string",
            "nullable": true
          },
          "dateSigned": {
            "type": "string",
            "nullable": true
          },
          "draftOrFinalForCberProductsOnly": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MaterialRow": {
        "type": "object",
        "properties": {
          "materialType": {
            "type": "string",
            "nullable": true
          },
          "publicationDate": {
            "type": "string",
            "nullable": true
          },
          "materialIdCode": {
            "type": "string",
            "nullable": true
          },
          "materialDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityRole": {
        "type": "object",
        "properties": {
          "userRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityRoleMemberUserGroup"
            },
            "nullable": true
          },
          "userTokens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityRoleMemberUserToken"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActivityRoleMemberUserGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActivityRoleMemberUserToken": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActivityRoleMembers": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityRoleMemberUserGroup"
            },
            "nullable": true
          },
          "userTokens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityRoleMemberUserToken"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "JWT obtained from the Unified Login Service.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "OAuth2": {
        "type": "oauth2",
        "description": "Aprimo OAuth 2.0. Tokens are issued by the tenant login service (`/login/connect/token`) and sent as `Authorization: Bearer <token>`. Replace `{tenant}` with your Aprimo environment.",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://{tenant}.aprimo.com/login/connect/token",
            "scopes": {
              "api": "Full access to the Aprimo REST API.",
              "reporting-api": "Access to the reporting API.",
              "filestore-access": "Access to file-store operations."
            }
          },
          "password": {
            "tokenUrl": "https://{tenant}.aprimo.com/login/connect/token",
            "scopes": {
              "api": "Full access to the Aprimo REST API.",
              "reporting-api": "Access to the reporting API."
            }
          },
          "authorizationCode": {
            "authorizationUrl": "https://{tenant}.aprimo.com/login/connect/authorize",
            "tokenUrl": "https://{tenant}.aprimo.com/login/connect/token",
            "refreshUrl": "https://{tenant}.aprimo.com/login/connect/token",
            "scopes": {
              "api": "Full access to the Aprimo REST API.",
              "reporting-api": "Access to the reporting API.",
              "offline_access": "Issues a refresh token (Authorization Code flow only).",
              "filestore-access": "Access to file-store operations."
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "Bearer": []
    },
    {
      "OAuth2": [
        "api"
      ]
    }
  ]
}