{
  "openapi": "3.0.1",
  "info": {
    "title": "Requests API",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.mercadoe.com"
    }
  ],
  "paths": {
    "/v1/requests/{requestId}/items/{itemId}/attributes": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get request item attributes",
        "description": "Get the request item attributes for a specific item and based on the `requestId`and `itemId`. \r\nThe attributes are customized fields used for integration with the client in order to provide some additional information from the client internal system.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "The page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRequestItemAttributesResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/requests/attributes": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get all request items attributes",
        "description": "Get all the request item attributes based on the `requestId`. \r\nThe attributes are customized fields used for integration with the client in order to provide some additional information from the client internal system.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "The page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllRequestItemsAttributesResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/{itemId}/cost-objects": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get request item cost object",
        "description": "Get the request item cost object for a specific item and based on the `requestId` and `itemId`. \r\nA purchase request can be prorated by cost object, where the item quantities are divided up by cost center or any other previous configured cost object.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "The page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetCostObjectsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/requests/cost-objects": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get the entire list of cost objects",
        "description": "Get a list of all cost objects of all items based on the `requestId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllRequestItemsCostObjectsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/{itemId}/deliveries": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get request item delivery",
        "description": "Get the request item delivery for a specific item and based on the `requestId` and `itemId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "The page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDeliveriesResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/approvers": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get the entire list of approvers",
        "description": "Get a list of all approvers of all items based on the `requestId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllApproversResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/{itemId}/attachments": {
      "post": {
        "tags": [
          "Items"
        ],
        "summary": "Add an attachment to a request item",
        "description": "Add a new attachment to a specific request item by providing the request id, request item id and the attachment file.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "description": "The request item id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "The attachment file to be uploaded",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get the attachment ids linked to a request item",
        "description": "Get the attachment ids of a specific request item with the given requestId and itemId.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "description": "The request item id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "The page number must be an integer greater than or equal to 1. Default is 1.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The page size must be an integer greater than or equal to 1. Default is 10.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttachmentsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/{itemId}/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get information from request item attachment",
        "description": "Retrieves information about a request item attachment with the given requestId, itemId, and attachmentId.\r\nYou can get information about the attachment such as size, date and other details.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttachmentMetadataResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/{itemId}/attachments/{attachmentId}/download": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Redirection link to download the request item attachment",
        "description": "This endpoint redirects directly to the client's request item attachment download by entering the `requestId`, `itemId`, `attachmentId`, and `cancellationToken`.\r\nYou can add more than one attachment, but only one at a time.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/{itemId}/business-organizations": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get a list of Item's Business Organizations",
        "description": "Get a list of item's Business Organizations assigned to a specific purchase request with the given `requestId` and `itemId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "description": "the item number",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRequestItemBusinessOrganizationsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items/{itemId}/process-followup": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Get the process follow-up for the request item",
        "description": "Get the process follow-up for the request item with the given requestId and itemId.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/pre-requests/{preRequestId}": {
      "get": {
        "tags": [
          "Pre-Requests"
        ],
        "summary": "Get a pre-request based on the preRequestId",
        "description": "Get information about a specific pre-request with the given `preRequestId`.",
        "parameters": [
          {
            "name": "preRequestId",
            "in": "path",
            "description": "the pre request id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetByIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/pre-requests/{preRequestId}/reject": {
      "post": {
        "tags": [
          "Pre-Requests"
        ],
        "summary": "Reject a pre request based on the pre request Id and body information",
        "description": "Reject a pre request based on the pre request Id and body information.",
        "parameters": [
          {
            "name": "preRequestId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "object with errors",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RejectResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/pre-requests/{preRequestId}/approve": {
      "post": {
        "tags": [
          "Pre-Requests"
        ],
        "summary": "Approves a pre-request",
        "description": "Approves a pre-request by informing the `preRequestId`.",
        "parameters": [
          {
            "name": "preRequestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApproveResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests": {
      "post": {
        "tags": [
          "Requests"
        ],
        "summary": "Create a request",
        "description": "Creates a new purchase request by providing the category, status, request items information, and other details.",
        "parameters": [
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCommand"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get all requests by query parameters",
        "description": "Returns a list of all purchase requests available to the connected user, filtered according to the specified query parameters.",
        "parameters": [
          {
            "name": "clientRequestId",
            "in": "query",
            "description": "the client request id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetManyResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}": {
      "put": {
        "tags": [
          "Requests"
        ],
        "summary": "Update a request based on the requestId",
        "description": "Change fields of a specific purchase request with the provided values.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCommand"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get a request based on the requestId",
        "description": "Get information about a specific purchase request with the given `requestId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetByIdResponse2"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/attributes": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get a list of request attributes",
        "description": "Get a list of all purchase request attributes based on the `requestId`. \r\nThe attributes are customized fields used for integration with the client in order to provide some additional information from the client internal system.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttributesResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/approvers": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get a list of request approvers",
        "description": "Get a list of all purchase request approvers with the given `requestId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetApproversResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/items": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get a list of request items",
        "description": "Get a list of all items assigned to a specific purchase request with the given `requestId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetItemsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/business-organizations": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get a list of Business Organizations",
        "description": "Get a list of all Business Organizations assigned to a specific purchase request with the given `requestId`.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "the request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBusinessOrganizationsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/attachments": {
      "post": {
        "tags": [
          "Requests"
        ],
        "summary": "Add an attachment to a request",
        "description": "Add a new attachment to a specific request by providing the request id and the attachment file.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "The attachment file to be uploaded",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get the attachment ids linked to a request",
        "description": "Get the attachment ids of a specific request with the given requestId.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The request id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "The page number must be an integer greater than or equal to 1. Default is 1.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The page size must be an integer greater than or equal to 1. Default is 10.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttachmentsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/requests/{requestId}/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Get information from request attachment",
        "description": "Retrieves information about a request attachment with the given requestId and the attachmentId.\r\nYou can get information about the attachment such as size, date and other details.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttachmentMetadataResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/requests/{requestId}/attachments/{attachmentId}/download": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Redirection link to download the request attachment",
        "description": "This endpoint redirects directly to the client's request attachment download by entering the `requestId`, `attachmentId`, and `cancellationToken`.\r\nYou can add more than one attachment, but only one at a time.",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApproveResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AttachmentModel": {
        "type": "object",
        "properties": {
          "attachment": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Attribute": {
        "type": "object",
        "properties": {
          "itemNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BusinessOrganization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "virtualEntity": {
            "$ref": "#/components/schemas/VirtualEntity"
          },
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "BusinessOrganization2": {
        "required": [
          "code",
          "virtualEntityField"
        ],
        "type": "object",
        "properties": {
          "code": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "virtualEntityDescription": {
            "type": "string",
            "nullable": true
          },
          "virtualEntityField": {
            "minLength": 1,
            "type": "string"
          },
          "entityType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BusinessOrganizationProduct": {
        "required": [
          "clientProductId",
          "code",
          "entityType"
        ],
        "type": "object",
        "properties": {
          "entityType": {
            "minLength": 1,
            "type": "string"
          },
          "code": {
            "minLength": 1,
            "type": "string"
          },
          "clientProductId": {
            "minLength": 1,
            "type": "string"
          },
          "exclude": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CostCenter": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CostObject": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "percentageAmount": {
            "type": "number",
            "format": "double"
          },
          "value": {
            "type": "number",
            "format": "double"
          },
          "ledgerAccount": {
            "type": "string",
            "nullable": true
          },
          "fixedAsset": {
            "type": "string",
            "nullable": true
          },
          "fixedAssetSubNumber": {
            "type": "string",
            "nullable": true
          },
          "indirectManufacturingCosts": {
            "type": "string",
            "nullable": true
          },
          "serviceOrder": {
            "type": "string",
            "nullable": true
          },
          "project": {
            "type": "string",
            "nullable": true
          },
          "networkDiagram": {
            "type": "string",
            "nullable": true
          },
          "department": {
            "type": "string",
            "nullable": true
          },
          "costCenter": {
            "$ref": "#/components/schemas/CostCenter"
          },
          "wbsElement": {
            "$ref": "#/components/schemas/WbsElement"
          }
        },
        "additionalProperties": false
      },
      "CostObjectRequest": {
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "percentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "clientCostCenterId": {
            "type": "string"
          },
          "clientLedgerAccountId": {
            "type": "string"
          },
          "wbsElement": {
            "type": "string"
          },
          "fixedAsset": {
            "type": "string",
            "nullable": true
          },
          "fixedAssetSubNumber": {
            "type": "string",
            "nullable": true
          },
          "indirectManufacturingCosts": {
            "type": "string",
            "nullable": true
          },
          "serviceOrder": {
            "type": "string",
            "nullable": true
          },
          "project": {
            "type": "string",
            "nullable": true
          },
          "networkDiagram": {
            "type": "string",
            "nullable": true
          },
          "department": {
            "type": "string",
            "nullable": true
          },
          "clientOrderId": {
            "type": "string",
            "nullable": true
          },
          "clientOrderCategory": {
            "type": "string",
            "nullable": true
          },
          "itemNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateAttachmentResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateCommand": {
        "required": [
          "category",
          "clientDeliveryPlaceId",
          "clientRequestId",
          "integrationTag",
          "status"
        ],
        "type": "object",
        "properties": {
          "integrationTag": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string",
            "description": "Identification of the ME user used in the integration."
          },
          "status": {
            "type": "integer",
            "description": "Status (The request enters as \"Submitted\").\r\nPossible status:\r\n- 0 = Submitted\r\n- 1 = Aproved\r\n- 3 = Canceled\r\n- 123 = ERP INCONSISTENCY\r\n- 124 = WAITING FOR ERP INTEGRATION\r\n- 125 = WAITING FOR ERP APPROVAL",
            "format": "int32"
          },
          "clientRequestId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Request Id in the client's ERP."
          },
          "category": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "The category is the request Type."
          },
          "isCanceled": {
            "type": "boolean",
            "description": "Was this request canceled? (True/False)\r\n- True = then cancels the whole request.\r\n- False = then check each item of the request.",
            "nullable": true
          },
          "note": {
            "maxLength": 8000,
            "type": "string",
            "description": "Request header text",
            "nullable": true
          },
          "isEmergency": {
            "type": "boolean",
            "description": "Is this request an emergency?",
            "nullable": true
          },
          "clientDeliveryPlaceId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Delivery location code in the client's system"
          },
          "clientBillingPlaceId": {
            "maxLength": 20,
            "type": "string",
            "description": "Billing location code in the client's system",
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization2"
            },
            "description": "List with the business organizations of the request, consisting of the `code` and `entityType` fields.",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribute"
            },
            "description": "List with the attributes of the request items, consisting of the `name`, `value` and `description` fields.",
            "nullable": true
          },
          "requestItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateRequestItem"
            },
            "description": "List with the requested items."
          },
          "title": {
            "type": "string",
            "description": "Request title",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing group",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateRequestItem": {
        "required": [
          "clientProductId",
          "clientReferenceProductId",
          "estimatedPrice",
          "itemNumber",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "itemNumber": {
            "type": "integer",
            "format": "int32"
          },
          "isCanceled": {
            "type": "boolean",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "nullable": true
          },
          "measurementUnity": {
            "type": "string",
            "nullable": true
          },
          "clientGroupId": {
            "type": "string",
            "nullable": true
          },
          "clientGroupDescription": {
            "type": "string"
          },
          "estimatedPrice": {
            "type": "number",
            "format": "double"
          },
          "isService": {
            "type": "boolean",
            "nullable": true
          },
          "isGeneric": {
            "type": "boolean",
            "nullable": true
          },
          "clientReferenceProductId": {
            "minLength": 1,
            "type": "string"
          },
          "clientProductId": {
            "minLength": 1,
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "accountingCategory": {
            "type": "string",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "nullable": true
          },
          "purchasingPriority": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "deliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "clientDeliveryPlaceId": {
            "type": "string",
            "nullable": true
          },
          "clientSupplierId": {
            "type": "string",
            "nullable": true
          },
          "selectedContract": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "selectedContractItem": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/RequestItemStatus"
          },
          "productIdentificationCode": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductIdentificationCode"
            },
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribute"
            },
            "nullable": true
          },
          "costObjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CostObjectRequest"
            },
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization2"
            },
            "nullable": true
          },
          "businessOrganizationsProducts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganizationProduct"
            },
            "nullable": true
          },
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestItemDelivery"
            },
            "nullable": true
          },
          "subItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestSubItemPayload"
            },
            "nullable": true
          },
          "isPreOrderCreatedAutomatically": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Delivery": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllApproversResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetAllApproversResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllApproversResponseData": {
        "type": "object",
        "properties": {
          "itemNumber": {
            "type": "integer",
            "description": "Item number",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Approver's name",
            "nullable": true
          },
          "integrationTag": {
            "type": "string",
            "description": "Identification of the ME user used in the integration.",
            "nullable": true
          },
          "substitutedIntegrationTag": {
            "type": "string",
            "description": "Login of the substituted approver.",
            "nullable": true
          },
          "endStatusDescription": {
            "type": "string",
            "description": "Final document status description.",
            "nullable": true
          },
          "initialStatusDescription": {
            "type": "string",
            "description": "Initial document status description.",
            "nullable": true
          },
          "initialStatus": {
            "type": "integer",
            "description": "Initial document status code.",
            "format": "int32",
            "nullable": true
          },
          "endStatus": {
            "type": "integer",
            "description": "Final document status code.",
            "format": "int32",
            "nullable": true
          },
          "approverId": {
            "type": "integer",
            "description": "User approver Id.",
            "format": "int32",
            "nullable": true
          },
          "substitutedApproverId": {
            "type": "integer",
            "description": "Id of the substituted approver.\r\nIf the field is blank it means that there was no substitution.",
            "format": "int32",
            "nullable": true
          },
          "approvalDate": {
            "type": "string",
            "description": "Approval date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllRequestItemsAttributesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetAllRequestItemsAttributesResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllRequestItemsAttributesResponseData": {
        "type": "object",
        "properties": {
          "itemNumber": {
            "type": "integer",
            "description": "Item number",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. It is an internal name that will be referenced for the request item attribute.",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. The value corresponds to the data entered manually or originated from the integration.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. This field is a label/description that appears on the request's response screen.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllRequestItemsCostObjectsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetAllRequestItemsCostObjectsResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllRequestItemsCostObjectsResponseData": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Prorated quantity",
            "format": "double",
            "nullable": true
          },
          "clientLedgerAccountId": {
            "type": "string",
            "description": "Ledger account code",
            "nullable": true
          },
          "clientCostCenterId": {
            "type": "string",
            "description": "Cost center code (if the `accountingCategory` is equal to \"K\", you must enter the Cost center code).",
            "nullable": true
          },
          "clientOrderId": {
            "type": "string",
            "description": "The order ID in the Client's ERP",
            "nullable": true
          },
          "clientCategoryOrder": {
            "type": "string",
            "description": "The order category in the Client's ERP",
            "nullable": true
          },
          "clientWBSElement": {
            "type": "string",
            "description": "The WBS element in the Client's ERP",
            "nullable": true
          },
          "fixedAsset": {
            "type": "string",
            "description": "Fixed Asset",
            "nullable": true
          },
          "fixedAssetSubNumber": {
            "type": "string",
            "description": "It is the fixed asset sub-number.",
            "nullable": true
          },
          "indirectManufacturingCosts": {
            "type": "string",
            "description": "It is the number of Indirect Manufacturing Costs (in Portuguese, the acronym CFI stands for Custos Indiretos de Fabricacao).",
            "nullable": true
          },
          "serviceOrder": {
            "type": "string",
            "description": "It is the number of the Service Order.",
            "nullable": true
          },
          "project": {
            "type": "string",
            "description": "It is the number of the Project.",
            "nullable": true
          },
          "networkDiagram": {
            "type": "string",
            "description": "It is the network diagram.",
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "It indicates the department.",
            "nullable": true
          },
          "costRate": {
            "type": "number",
            "description": "It indicates the percentage assigned to this Cost Object.",
            "format": "double",
            "nullable": true
          },
          "costAmount": {
            "type": "number",
            "description": "It indicates the monetary value assigned to this Cost Object.",
            "format": "double",
            "nullable": true
          },
          "itemNumber": {
            "type": "integer",
            "description": "Item number",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetApproversResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetApproversResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetApproversResponseData": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Approver's name",
            "nullable": true
          },
          "integrationTag": {
            "type": "string",
            "description": "Identification of the ME user used in the integration.",
            "nullable": true
          },
          "substitutedIntegrationTag": {
            "type": "string",
            "description": "Login of the substituted approver.",
            "nullable": true
          },
          "endStatusDescription": {
            "type": "string",
            "description": "Final document status description.",
            "nullable": true
          },
          "initialStatusDescription": {
            "type": "string",
            "description": "Initial document status description.",
            "nullable": true
          },
          "initialStatus": {
            "type": "integer",
            "description": "Initial document status code.",
            "format": "int32",
            "nullable": true
          },
          "endStatus": {
            "type": "integer",
            "description": "Final document status code.",
            "format": "int32",
            "nullable": true
          },
          "approverId": {
            "type": "integer",
            "description": "User approver Id.",
            "format": "int32",
            "nullable": true
          },
          "substitutedApproverId": {
            "type": "integer",
            "description": "Id of the substituted approver.\r\nIf the field is blank it means that there was no substitution.",
            "format": "int32",
            "nullable": true
          },
          "approvalDate": {
            "type": "string",
            "description": "Approval date",
            "format": "date-time",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Request header text",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAttachmentMetadataResponse": {
        "type": "object",
        "properties": {
          "contentLength": {
            "type": "integer",
            "format": "int64"
          },
          "fileName": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GetAttachmentResponseData": {
        "type": "object",
        "properties": {
          "attachmentId": {
            "type": "integer",
            "description": "Representes the ME attachment id",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetAttachmentsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetAttachmentResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAttributesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetAttributesResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAttributesResponseData": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. It is an internal name that will be referenced for the request attribute.",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. The value corresponds to the data entered manually or originated from the integration.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. This field is a label/description that appears on the request's response screen.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetBusinessOrganizationItemsResponseData": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Company code",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Company description",
            "nullable": true
          },
          "virtualEntityField": {
            "type": "string",
            "description": "Delivery center/location code",
            "nullable": true
          },
          "virtualEntityDescription": {
            "type": "string",
            "description": "Delivery center/location description",
            "nullable": true
          },
          "item": {
            "type": "integer",
            "description": "Item Id",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetBusinessOrganizationsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetBusinessOrganizationsResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetBusinessOrganizationsResponseData": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Company code",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Company description",
            "nullable": true
          },
          "virtualEntityField": {
            "type": "string",
            "description": "Delivery center/location code",
            "nullable": true
          },
          "virtualEntityDescription": {
            "type": "string",
            "description": "Delivery center/location description",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetByIdResponse": {
        "type": "object",
        "properties": {
          "preRequestId": {
            "type": "string",
            "description": "Pre-request id"
          },
          "title": {
            "type": "string",
            "description": "Pre-request title",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing group",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Pre-request header text",
            "nullable": true
          },
          "category": {
            "type": "string",
            "description": "Pre-request type",
            "nullable": true
          },
          "clientDeliveryLocationId": {
            "type": "integer",
            "description": "Client delivery location id",
            "format": "int32",
            "nullable": true
          },
          "clientBillingLocationId": {
            "type": "integer",
            "description": "Client billing location id",
            "format": "int32",
            "nullable": true
          },
          "clientCollectionPaymentLocationId": {
            "type": "integer",
            "description": "Client collection payment location id",
            "format": "int32",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribute"
            },
            "description": "Attributes of the pre-request, consisting of a name, value, and description."
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentModel"
            },
            "description": "List with the attached files."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PreRequestItem"
            },
            "description": "List with the pre-request items."
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business Organizations is a list consisting of the Company Code and the Delivery Center/Location Code."
          }
        },
        "additionalProperties": false
      },
      "GetByIdResponse2": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "integer",
            "description": "ME Request Id",
            "format": "int32"
          },
          "isCanceled": {
            "type": "boolean",
            "description": "Flag to indicate if this request was canceled (True/False).",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Request creation date",
            "format": "date-time",
            "nullable": true
          },
          "clientDeliveryPlaceId": {
            "type": "string",
            "description": "Client Delivery Place Id",
            "nullable": true
          },
          "clientInvoicePlaceId": {
            "type": "string",
            "description": "Client Invoice Place Id",
            "nullable": true
          },
          "clientRequestId": {
            "type": "string",
            "description": "Request Id in the client's ERP.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "contact": {
            "type": "string",
            "description": "Contact",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "E-mail",
            "nullable": true
          },
          "loginName": {
            "type": "string",
            "description": "Login name",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number",
            "nullable": true
          },
          "integrationTag": {
            "type": "string",
            "description": "Identification of the ME user used in the integration.",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "Request title",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing group",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "Status (The request enters as \"Submitted\").\r\nPossible status:\r\n- 0 = Submitted\r\n- 1 = Aproved\r\n- 3 = Canceled\r\n- 123 = ERP INCONSISTENCY\r\n- 124 = WAITING FOR ERP INTEGRATION\r\n- 125 = WAITING FOR ERP APPROVAL",
            "format": "int32",
            "nullable": true
          },
          "clientCostCenterId": {
            "type": "string",
            "description": "Cost center (if the `accountingCategory` is equal to \"K\", you must enter the Cost center code).",
            "nullable": true
          },
          "placingDate": {
            "type": "string",
            "description": "Placing date",
            "format": "date-time",
            "nullable": true,
            "deprecated": true
          },
          "expectedDate": {
            "type": "string",
            "description": "Expected date",
            "format": "date-time",
            "nullable": true
          },
          "category": {
            "type": "string",
            "description": "The category is the request Type.",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Request header text",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "description": "Reason for cancellation or change.",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Currency in alphabetic code (for more information, please refer to: https://www.iso.org/iso-4217-currency-codes.html).",
            "nullable": true
          },
          "supplierNote": {
            "type": "string",
            "description": "Supplier item notes",
            "nullable": true
          },
          "ledgerAccount": {
            "type": "string",
            "description": "The ledger account records business transactions, such as accounts receivable, inventory, fixed assets, and accounts payable.",
            "nullable": true
          },
          "brokerIntegrationTag": {
            "type": "string",
            "description": "Identification of the Broker ME user used in the integration.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetCostObjectsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetCostObjectsResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetCostObjectsResponseData": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Prorated quantity",
            "format": "double",
            "nullable": true
          },
          "clientLedgerAccountId": {
            "type": "string",
            "description": "Ledger account code",
            "nullable": true
          },
          "clientCostCenterId": {
            "type": "string",
            "description": "Cost center code (if the `accountingCategory` is equal to \"K\", you must enter the Cost center code).",
            "nullable": true
          },
          "clientOrderId": {
            "type": "string",
            "description": "The order ID in the Client's ERP",
            "nullable": true
          },
          "clientCategoryOrder": {
            "type": "string",
            "description": "The order category in the Client's ERP",
            "nullable": true
          },
          "clientWBSElement": {
            "type": "string",
            "description": "The WBS element in the Client's ERP",
            "nullable": true
          },
          "fixedAsset": {
            "type": "string",
            "description": "Fixed Asset",
            "nullable": true
          },
          "fixedAssetSubNumber": {
            "type": "string",
            "description": "It is the fixed asset sub-number.",
            "nullable": true
          },
          "indirectManufacturingCosts": {
            "type": "string",
            "description": "It is the number of Indirect Manufacturing Costs (in Portuguese, the acronym CFI stands for Custos Indiretos de Fabricacao).",
            "nullable": true
          },
          "serviceOrder": {
            "type": "string",
            "description": "It is the number of the Service Order.",
            "nullable": true
          },
          "project": {
            "type": "string",
            "description": "It is the number of the Project.",
            "nullable": true
          },
          "networkDiagram": {
            "type": "string",
            "description": "It is the network diagram.",
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "It indicates the department.",
            "nullable": true
          },
          "costRate": {
            "type": "number",
            "description": "It indicates the percentage assigned to this Cost Object.",
            "format": "double",
            "nullable": true
          },
          "costAmount": {
            "type": "number",
            "description": "It indicates the monetary value assigned to this Cost Object.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetDeliveriesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetDeliveriesResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetDeliveriesResponseData": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Quantity of prorated items per delivery.",
            "format": "double",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Delivery date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetItemDeliverieResponseData": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "description": "The delivery quantity for the item.",
            "format": "double"
          },
          "deliveryDate": {
            "type": "string",
            "description": "The delivery date for the item.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetItemsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetItemsResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetItemsResponseData": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "integer",
            "description": "ME Request Id",
            "format": "int32"
          },
          "item": {
            "type": "integer",
            "description": "Request item",
            "format": "int32"
          },
          "isCanceled": {
            "type": "boolean",
            "description": "Flag to indicate if this item was canceled (True/False).",
            "nullable": true
          },
          "isChange": {
            "type": "boolean",
            "description": "Flag to identify if the item was changed (True/False).",
            "nullable": true
          },
          "isGeneric": {
            "type": "boolean",
            "description": "The item is generic if it doesn't have a code:\r\n- True = Item without a code.\r\n- False = Item with a code.",
            "nullable": true
          },
          "isService": {
            "type": "boolean",
            "description": "Flag to identify if the item is a service (True/False).",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "Item quantity",
            "format": "double",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Item description",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "description": "Item complement",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Item note",
            "nullable": true
          },
          "measurementUnit": {
            "type": "string",
            "description": "Item measurement unit",
            "nullable": true
          },
          "clientReferenceProductId": {
            "type": "string",
            "description": "ME product code",
            "nullable": true
          },
          "clientProductId": {
            "type": "string",
            "description": "ERP product code",
            "nullable": true
          },
          "clientGroupId": {
            "type": "string",
            "description": "Product group code",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "description": "Estimated price of the item.",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Item currency\r\nCurrency in alphabetic code (for more information, please refer to: https://www.iso.org/iso-4217-currency-codes.html).",
            "nullable": true
          },
          "materialApplication": {
            "type": "string",
            "description": "Material usage in the ERP",
            "nullable": true
          },
          "materialCategory": {
            "type": "string",
            "description": "Material accounting code",
            "nullable": true
          },
          "accountingCategory": {
            "type": "string",
            "description": "Accounting category (K = Cost Center)",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "Status code of the request item:\r\nnull = In pending purchase\r\n0 = In pending purchase\r\n19 = Awaiting ERP approval\r\n20 = In order at the ERP\r\n3 = In quotation\r\n5 = In Pre-Order\r\n1 = In Order\r\n6 = Cancelled",
            "format": "int32",
            "nullable": true
          },
          "deliveryDate": {
            "type": "string",
            "description": "The delivery date for the item.",
            "format": "date-time",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "ME product Id",
            "format": "int32",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing group",
            "nullable": true
          },
          "clientSupplierId": {
            "type": "string",
            "description": "Supplier code in the client's ERP.",
            "nullable": true
          },
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetItemDeliverieResponseData"
            },
            "description": "The deliveries quantities and dates for the item.",
            "nullable": true
          },
          "subItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestSubItem"
            },
            "description": "Sub-Items for the item.",
            "nullable": true
          },
          "isPreOrderCreatedAutomatically": {
            "type": "boolean",
            "description": "This flag indicates if the pre-order is generated automatically.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetManyResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetManyResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetManyResponseData": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "integer",
            "description": "ME Request Id",
            "format": "int32"
          },
          "isCanceled": {
            "type": "boolean",
            "description": "Flag to indicate if this request was canceled (True/False).",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Request creation date",
            "format": "date-time",
            "nullable": true
          },
          "clientDeliveryPlaceId": {
            "type": "string",
            "description": "Client delivery place id",
            "nullable": true
          },
          "clientInvoicePlaceId": {
            "type": "string",
            "description": "Client invoice place id",
            "nullable": true
          },
          "clientRequestId": {
            "type": "string",
            "description": "Request Id in the client's ERP.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "contact": {
            "type": "string",
            "description": "Contact",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "E-mail",
            "nullable": true
          },
          "loginName": {
            "type": "string",
            "description": "Login name",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number",
            "nullable": true
          },
          "integrationTag": {
            "type": "string",
            "description": "Identification of the ME user used in the integration.",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "Request title",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "Status (The request enters as \"Submitted\").\r\nPossible status:\r\n- 0 = Submitted\r\n- 1 = Aproved\r\n- 3 = Canceled\r\n- 123 = ERP INCONSISTENCY\r\n- 124 = WAITING FOR ERP INTEGRATION\r\n- 125 = WAITING FOR ERP APPROVAL",
            "format": "int32",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "description": "Cost center (if the `accountingCategory` is equal to \"K\", you must enter the Cost center code).",
            "nullable": true
          },
          "placingDate": {
            "type": "string",
            "description": "Placing date",
            "format": "date-time",
            "nullable": true,
            "deprecated": true
          },
          "expectedDate": {
            "type": "string",
            "description": "Expected date",
            "format": "date-time",
            "nullable": true
          },
          "category": {
            "type": "string",
            "description": "Request Type",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Request header text",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "description": "Reason for cancellation or change",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Currency in alphabetic code (for more information, please refer to: https://www.iso.org/iso-4217-currency-codes.html).",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRequestItemAttributesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetRequestItemAttributesResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRequestItemAttributesResponseData": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. It is an internal name that will be referenced for the request item attribute.",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. The value corresponds to the data entered manually or originated from the integration.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "It corresponds to a customized field used for integration with the client. This field is a label/description that appears on the request's response screen.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRequestItemBusinessOrganizationsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetBusinessOrganizationItemsResponseData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Place": {
        "type": "object",
        "properties": {
          "clientPlaceId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PreRequestItem": {
        "type": "object",
        "properties": {
          "preRequestId": {
            "type": "string"
          },
          "itemNumber": {
            "type": "integer",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "description": {
            "type": "string"
          },
          "measure": {
            "type": "string"
          },
          "productGroup": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "accountingCategory": {
            "type": "string"
          },
          "clientAccountingAccount": {
            "type": "string"
          },
          "estimatedPrice": {
            "type": "number",
            "format": "double"
          },
          "canceled": {
            "type": "string",
            "nullable": true
          },
          "change": {
            "type": "string",
            "nullable": true
          },
          "generic": {
            "type": "string",
            "nullable": true
          },
          "clientProductId": {
            "type": "string",
            "nullable": true
          },
          "fixedAssets": {
            "type": "string",
            "nullable": true
          },
          "clientDeliveryLocation": {
            "type": "string",
            "nullable": true
          },
          "clientDeliveryLocationId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "service": {
            "type": "string",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contractId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "itemContractNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "clientGroupId": {
            "type": "string"
          },
          "clientSupplierId": {
            "type": "string"
          },
          "supplierId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clientBillingLocationId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clientCollectionPaymentLocationId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "expectedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribute"
            }
          },
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Delivery"
            }
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentModel"
            }
          },
          "costObjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CostObject"
            }
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "ProductIdentificationCode": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RejectBorgDto": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "virtualEntity": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RejectCommand": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Pre-request title",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing group",
            "nullable": true
          },
          "customerDeliveryLocationId": {
            "type": "string",
            "description": "Client delivery location id",
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RejectBorgDto"
            },
            "description": "Business Organizations is a list consisting of the Company Code and the Delivery Center/Location Code.",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RejectItemDto"
            },
            "description": "List with the pre-request items.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RejectCostObjectDto": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "format": "int32"
          },
          "quantity": {
            "type": "string",
            "nullable": true
          },
          "percentageAmount": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "ledgerAccount": {
            "type": "string",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "nullable": true
          },
          "wbsElement": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RejectItemDto": {
        "required": [
          "itemNumber"
        ],
        "type": "object",
        "properties": {
          "itemNumber": {
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "format": "int32"
          },
          "customerDeliveryLocation": {
            "type": "string",
            "nullable": true
          },
          "customerDeliveryLocationId": {
            "type": "string",
            "nullable": true
          },
          "expectedDate": {
            "type": "string",
            "nullable": true
          },
          "costObjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RejectCostObjectDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RejectResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RequestItemDelivery": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "deliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RequestItemStatus": {
        "enum": [
          "PendingPurchase",
          "Cancelled",
          "Closed",
          "AwaitingERPApproval"
        ],
        "type": "string"
      },
      "RequestSubItem": {
        "type": "object",
        "properties": {
          "subItemId": {
            "type": "integer",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "format": "int32"
          },
          "clientProductId": {
            "type": "string",
            "nullable": true
          },
          "clientReferenceProductId": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "isCanceled": {
            "type": "boolean",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "nullable": true
          },
          "measurementUnit": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tax"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RequestSubItemPayload": {
        "type": "object",
        "properties": {
          "subItemId": {
            "type": "integer",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "clientGroupId": {
            "type": "string",
            "nullable": true
          },
          "clientProductId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "nullable": true
          },
          "measurementUnit": {
            "type": "string",
            "nullable": true
          },
          "manufacturers": {
            "type": "string",
            "nullable": true
          },
          "productGroup": {
            "type": "string",
            "nullable": true
          },
          "estimatedDeadline": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "isGeneric": {
            "type": "boolean",
            "nullable": true
          },
          "aplCode": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isCanceled": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Tax": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "aliquot": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "taxApplication": {
            "$ref": "#/components/schemas/TaxApplication"
          }
        },
        "additionalProperties": false
      },
      "TaxApplication": {
        "enum": [
          "Free",
          "Included",
          "NotIncluded",
          "NotInformed"
        ],
        "type": "string"
      },
      "UpdateCommand": {
        "required": [
          "category",
          "clientDeliveryPlaceId",
          "clientRequestId",
          "integrationTag",
          "status"
        ],
        "type": "object",
        "properties": {
          "integrationTag": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string",
            "description": "Identification of the ME user used in the integration."
          },
          "status": {
            "type": "integer",
            "description": "Status (The request enters as \"Submitted\").\r\nPossible status:\r\n- 0 = Submitted\r\n- 1 = Aproved\r\n- 3 = Canceled\r\n- 123 = ERP INCONSISTENCY\r\n- 124 = WAITING FOR ERP INTEGRATION\r\n- 125 = WAITING FOR ERP APPROVAL",
            "format": "int32"
          },
          "clientRequestId": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Request Id in the client's ERP."
          },
          "category": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "The category is the request Type."
          },
          "isCanceled": {
            "type": "boolean",
            "description": "Was this request canceled? (True/False)\r\n- True = then cancels the whole request.\r\n- False = then check each item of the request.",
            "nullable": true
          },
          "note": {
            "maxLength": 8000,
            "type": "string",
            "description": "Request header text",
            "nullable": true
          },
          "emergency": {
            "type": "boolean",
            "description": "Is this request an emergency?",
            "nullable": true
          },
          "clientDeliveryPlaceId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Client delivery place id"
          },
          "clientBillingPlaceId": {
            "maxLength": 20,
            "type": "string",
            "description": "Client billing place id",
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization2"
            },
            "description": "List with the business organizations of the request, consisting of the `code` and `entityType` fields.",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribute"
            },
            "description": "List with the attributes of the request items, consisting of the `name`, `value` and `description` fields.",
            "nullable": true
          },
          "requestItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateRequestItem"
            },
            "description": "List with the requested items.",
            "nullable": true
          },
          "erpStatusNote": {
            "type": "string",
            "description": "Message or note sent from the ERP regarding the request status or processing error during the request integration process.",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "Request title",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing group",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateCostObjectRequest": {
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "percentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "costCenter": {
            "type": "string"
          },
          "ledgerAccount": {
            "type": "string"
          },
          "fixedAsset": {
            "type": "string",
            "nullable": true
          },
          "fixedAssetSubNumber": {
            "type": "string",
            "nullable": true
          },
          "indirectManufacturingCosts": {
            "type": "string",
            "nullable": true
          },
          "serviceOrder": {
            "type": "string",
            "nullable": true
          },
          "project": {
            "type": "string",
            "nullable": true
          },
          "networkDiagram": {
            "type": "string",
            "nullable": true
          },
          "department": {
            "type": "string",
            "nullable": true
          },
          "pep": {
            "type": "string"
          },
          "order": {
            "type": "string",
            "nullable": true
          },
          "orderCategory": {
            "type": "string",
            "nullable": true
          },
          "itemNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateRequestItem": {
        "required": [
          "clientProductId",
          "clientReferenceProductId",
          "estimatedPrice",
          "itemNumber",
          "note",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "itemNumber": {
            "type": "integer",
            "format": "int32"
          },
          "isCanceled": {
            "type": "boolean",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "nullable": true
          },
          "measurementUnity": {
            "type": "string",
            "nullable": true
          },
          "clientGroupId": {
            "type": "string",
            "nullable": true
          },
          "clientGroupDescription": {
            "type": "string"
          },
          "estimatedPrice": {
            "type": "number",
            "format": "double"
          },
          "isService": {
            "type": "boolean",
            "nullable": true
          },
          "isGeneric": {
            "type": "boolean",
            "nullable": true
          },
          "clientReferenceProductId": {
            "minLength": 1,
            "type": "string"
          },
          "clientProductId": {
            "minLength": 1,
            "type": "string"
          },
          "note": {
            "minLength": 1,
            "type": "string"
          },
          "accountingCategory": {
            "type": "string",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "nullable": true
          },
          "purchasingPriority": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "deliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "selectedContract": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "selectedContractItem": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clientSupplierId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/RequestItemStatus"
          },
          "deliveryPlaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Place"
            },
            "nullable": true
          },
          "productIdentificationCode": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductIdentificationCode"
            },
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribute"
            },
            "nullable": true
          },
          "costObjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateCostObjectRequest"
            },
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization2"
            },
            "nullable": true
          },
          "businessOrganizationsProducts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganizationProduct"
            },
            "nullable": true
          },
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestItemDelivery"
            },
            "nullable": true
          },
          "subItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestSubItemPayload"
            },
            "nullable": true
          },
          "isPreOrderCreatedAutomatically": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "VirtualEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "WbsElement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Please enter the word 'Bearer' followed by a space and then your JWT.",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ]
}