{
  "openapi": "3.0.3",
  "info": {
    "title": "Procurify API Documentation",
    "version": "",
    "description": "\n# Disclaimer\n\n- Procurify’s API is evolving and is subject to change at any time. Additionally, aspects of the API are undocumented, including certain methods, events, and properties. Given that both documented and undocumented aspects of the Procurify API may change at any time, the client relies on the API at their own risk.\n- Client (and/or client’s representative) is responsible for building, testing, and maintaining any API connection between Procurify and any other tool.  Procurify’s responsibility strictly involves providing support on clarifications in regards to the issued API document.\n- Procurify’s API is offered on an “as is” and “as available” basis, without warranties of any kind. By accepting this agreement, you agree that you have read the current API documentation, and accept the API functionality in its current state including current limitations. For questions and clarification around the documentation, please contact support@procurify.com.\n- In accordance with Section 2.(b) of our Subscription Services Agreement, Procurify reserves the right to deny access to our API at any time. If your API requests are too large and time out, contact us immediately to avoid possible suspension of access.\n- You may not attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how in the Procurify API or portion thereof. You may not use the Procurify API to replicate or compete with core products or services offered by Procurify.\n"
  },
  "paths": {
    "/api/v2/ap/bills/{id}/": {
      "get": {
        "operationId": "ap_bills_retrieve",
        "description": " ",
        "summary": "Get Bills by ID",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string",
              "pattern": "^[0-9a-f]+$"
            },
            "required": true
          }
        ],
        "tags": [
          "ap"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillMetadataBillRead"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/BillMetadataBillRead"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/ap/company-payment-methods/": {
      "get": {
        "operationId": "ap_company_payment_methods_list",
        "description": "**Payment Method Types:**\n\n| Payment Method | Type      |\n|----------------|-----------|\n| OTHER          | 0         |\n| CHECK          | 1         |\n| CHEQUE         | 1         |\n| ACH            | 2         |\n| EFT            | 3         |\n| WIRE           | 4         |\n\n**The context of 'data' field varies based on different Payment Method type:**\n\n| Payment Method | 'data' field structure |\n|----------------|------------------------|\n| OTHER          | ```{\"description\": <string>}``` |\n| CHECK/CHEQUE   | ```{\"payable_to\": <string>}```  |\n| ACH            | ```{\"routing_number\": <int>, \"account_number\": <int>, \"company_name\": <string>}``` |\n",
        "summary": "Get list of Company Payment Methods",
        "parameters": [
          {
            "in": "query",
            "name": "currency",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "integer",
              "title": "Payment Method",
              "enum": [
                0,
                1,
                1,
                2,
                3,
                4
              ]
            }
          }
        ],
        "tags": [
          "ap"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCompanyPaymentMethodReadList"
                },
                "examples": {
                  "CompanyPaymentMethods": {
                    "value": {
                      "data": [
                        {
                          "id": 1,
                          "name": "Bank Account",
                          "type": 0,
                          "data": {
                            "description": "Bank Account description"
                          },
                          "currency": {
                            "id": 3,
                            "name": "USD",
                            "description": "",
                            "rate": "1.000000",
                            "base": true,
                            "active": true
                          },
                          "gl_code": "9000"
                        }
                      ],
                      "metadata": {
                        "pagination": {
                          "count": 9,
                          "num_pages": 1,
                          "current_page": 1,
                          "page_size": 10,
                          "next": null,
                          "previous": null
                        }
                      }
                    },
                    "summary": "Company Payment Methods"
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCompanyPaymentMethodReadList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "ap_company_payment_methods_create",
        "description": "**Payment Method Types:**\n\n| Payment Method | Type      |\n|----------------|-----------|\n| OTHER          | 0         |\n| CHECK          | 1         |\n| CHEQUE         | 1         |\n| ACH            | 2         |\n| EFT            | 3         |\n| WIRE           | 4         |\n\n**The context of 'data' field varies based on different Payment Method type:**\n\n| Payment Method | 'data' field structure |\n|----------------|------------------------|\n| OTHER          | ```{\"description\": <string>}``` |\n| CHECK/CHEQUE   | ```{\"payable_to\": <string>}```  |\n| ACH            | ```{\"routing_number\": <int>, \"account_number\": <int>, \"company_name\": <string>}``` |\n",
        "summary": "Create Company Payment Method",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "ap"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CompanyPaymentMethodRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CompanyPaymentMethodRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/CompanyPaymentMethodRequest"
              },
              "examples": {
                "CompanyPaymentMethodPayloadExample": {
                  "value": {
                    "name": "Bank Account",
                    "type": 0,
                    "data": {
                      "description": "Bank Account description"
                    },
                    "gl_code": "9000",
                    "currency": 3
                  },
                  "summary": "Company Payment Method Payload Example"
                }
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyPaymentMethodRequest"
              },
              "examples": {
                "CompanyPaymentMethodPayloadExample": {
                  "value": {
                    "name": "Bank Account",
                    "type": 0,
                    "data": {
                      "description": "Bank Account description"
                    },
                    "gl_code": "9000",
                    "currency": 3
                  },
                  "summary": "Company Payment Method Payload Example"
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CompanyPaymentMethodRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyPaymentMethod"
                },
                "examples": {
                  "CompanyPaymentMethodResponseExample": {
                    "value": {
                      "id": 1,
                      "name": "Bank Account",
                      "type": 0,
                      "data": {
                        "description": "Bank Account description"
                      },
                      "currency": {
                        "id": 3,
                        "name": "USD",
                        "description": "",
                        "rate": "1.000000",
                        "base": true,
                        "active": true
                      },
                      "gl_code": "9000"
                    },
                    "summary": "Company Payment Method Response Example"
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyPaymentMethod"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/ap/items/": {
      "get": {
        "operationId": "ap_items_list",
        "description": " ",
        "summary": "Get Unbilled/Billed Items",
        "parameters": [
          {
            "in": "query",
            "name": "bill",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "bill_uuid",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "in": "query",
            "name": "billed",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "budget",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "department",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "exclude",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "location",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "received_on_0",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "in": "query",
            "name": "received_on_1",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "in": "query",
            "name": "reimburse",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "requester",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "vendor",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "tags": [
          "ap"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemMetadataItemRead"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ItemMetadataItemRead"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/ap/payments/": {
      "get": {
        "operationId": "ap_payments_list",
        "summary": "Get Payments",
        "parameters": [
          {
            "in": "query",
            "name": "approver",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "currency",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "payment_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "in": "query",
            "name": "payment_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "in": "query",
            "name": "payment_method__type",
            "schema": {
              "type": "integer",
              "title": "Payment Method",
              "enum": [
                0,
                1,
                1,
                2,
                3,
                4
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "ap"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMetadataPaymentListRead"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMetadataPaymentListRead"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/ap/payments/{id}/approver-choices/": {
      "get": {
        "operationId": "ap_payments_approver_choices_retrieve",
        "summary": "Get Approver Choices",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this payment.",
            "required": true
          }
        ],
        "tags": [
          "ap"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApproverChoicesMetadataApproverReadDocs"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ApproverChoicesMetadataApproverReadDocs"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/ap/vendor-payment-methods/": {
      "get": {
        "operationId": "ap_vendor_payment_methods_list",
        "description": "**Payment Method Types:**\n\n| Payment Method | Type      |\n|----------------|-----------|\n| OTHER          | 0         |\n| CHECK          | 1         |\n| CHEQUE         | 1         |\n| ACH            | 2         |\n| EFT            | 3         |\n| WIRE           | 4         |\n\n**The context of 'data' field varies based on different Payment Method type:**\n\n| Payment Method | 'data' field structure |\n|----------------|------------------------|\n| OTHER          | ```{\"description\": <string>}``` |\n| CHECK/CHEQUE   | ```{\"payable_to\": <string>}```  |\n| ACH            | ```{\"routing_number\": <int>, \"account_number\": <int>, \"company_name\": <string>}``` |\n",
        "summary": "Get list of Vendor Payment Methods",
        "parameters": [
          {
            "in": "query",
            "name": "currency",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "integer",
              "title": "Payment Method",
              "enum": [
                0,
                1,
                1,
                2,
                3,
                4
              ]
            }
          },
          {
            "in": "query",
            "name": "vendor",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "tags": [
          "ap"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedVendorPaymentMethodReadList"
                },
                "examples": {
                  "ListVendorPaymentMethodsResponseExample": {
                    "value": {
                      "data": [
                        {
                          "id": 1,
                          "vendor": 10,
                          "name": "Technology Inc ACH 98G395E",
                          "type": 2,
                          "data": {
                            "company_name": "ABC Technology Inc",
                            "account_number": 245002,
                            "routing_number": 123456789
                          },
                          "currency": {
                            "id": 3,
                            "name": "USD",
                            "description": "",
                            "rate": "1.000000",
                            "base": true,
                            "active": true
                          }
                        },
                        {
                          "id": 2,
                          "vendor": 20,
                          "name": "Check - Reimbursable",
                          "type": 1,
                          "data": {
                            "payable_to": "Frank Borman"
                          },
                          "currency": {
                            "id": 1,
                            "name": "CAD",
                            "description": "",
                            "rate": "0.769231",
                            "base": false,
                            "active": true
                          }
                        }
                      ],
                      "metadata": {
                        "pagination": {
                          "count": 25,
                          "num_pages": 3,
                          "current_page": 1,
                          "page_size": 10,
                          "next": "https://antonio.dev.procurify.xyz/api/v2/ap/vendor-payment-methods/?page=2",
                          "previous": null
                        }
                      }
                    },
                    "summary": "List Vendor Payment Methods Response Example"
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedVendorPaymentMethodReadList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "ap_vendor_payment_methods_create",
        "description": "**Payment Method Types:**\n\n| Payment Method | Type      |\n|----------------|-----------|\n| OTHER          | 0         |\n| CHECK          | 1         |\n| CHEQUE         | 1         |\n| ACH            | 2         |\n| EFT            | 3         |\n| WIRE           | 4         |\n\n**The context of 'data' field varies based on different Payment Method type:**\n\n| Payment Method | 'data' field structure |\n|----------------|------------------------|\n| OTHER          | ```{\"description\": <string>}``` |\n| CHECK/CHEQUE   | ```{\"payable_to\": <string>}```  |\n| ACH            | ```{\"routing_number\": <int>, \"account_number\": <int>, \"company_name\": <string>}``` |\n",
        "summary": "Create Vendor Payment Method",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "ap"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/VendorPaymentMethodRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/VendorPaymentMethodRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/VendorPaymentMethodRequest"
              },
              "examples": {
                "VendorPaymentMethodPayloadExample": {
                  "value": {
                    "vendor": 10,
                    "name": "Technology Inc ACH 98G395E",
                    "type": 2,
                    "data": {
                      "company_name": "ABC Technology Inc",
                      "account_number": 245002,
                      "routing_number": 123456789
                    },
                    "currency": 3
                  },
                  "summary": "Vendor Payment Method Payload Example"
                }
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VendorPaymentMethodRequest"
              },
              "examples": {
                "VendorPaymentMethodPayloadExample": {
                  "value": {
                    "vendor": 10,
                    "name": "Technology Inc ACH 98G395E",
                    "type": 2,
                    "data": {
                      "company_name": "ABC Technology Inc",
                      "account_number": 245002,
                      "routing_number": 123456789
                    },
                    "currency": 3
                  },
                  "summary": "Vendor Payment Method Payload Example"
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/VendorPaymentMethodRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorPaymentMethod"
                },
                "examples": {
                  "VendorPaymentMethodResponseExample": {
                    "value": {
                      "id": 1,
                      "vendor": 10,
                      "name": "Technology Inc ACH 98G395E",
                      "type": 2,
                      "data": {
                        "company_name": "ABC Technology Inc",
                        "account_number": 245002,
                        "routing_number": 123456789
                      },
                      "currency": {
                        "id": 3,
                        "name": "USD",
                        "description": "",
                        "rate": "1.000000",
                        "base": true,
                        "active": true
                      }
                    },
                    "summary": "Vendor Payment Method Response Example"
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/VendorPaymentMethod"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/currencies/": {
      "get": {
        "operationId": "currencies_list",
        "summary": "Get Active/Inactive Currencies",
        "parameters": [
          {
            "in": "query",
            "name": "active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "base",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "description",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "rate",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "currencies"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCurrencyList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCurrencyList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/global/order_items/": {
      "get": {
        "operationId": "global_order_items_list",
        "description": "**Order Item Status Codes**\n\n| Order Item Type          | Code      | Description                       |\n|--------------------------|-----------|-----------------------------------|\n| PURCHASE_PENDING         | 0         | Approved but not purchased.       |\n| PURCHASE_INUSE           | 1         | Added to purchaser's PO list.     |\n| RECEIVE_PENDING          | 2         | Purchased but not yet received, i.e. receivedPassQty == 0. |\n| RECEIVED                 | 3         | Fully received, i.e. receivedPassQty == quantity. |\n| REJECTED_FOR_PURCHASE    | 4         | Rejected at procurement, i.e. denied. |\n| RECEIVE_PARTIAL          | 5         | Partially received, i.e. receivedPassQty != quantity and receivedPassQty > 0. |\n| FULFILLED                | 6         | Received but unused. |\n| APPROVAL_DENIED          | 7         | Denied in approval routing (by approver). |\n| REQUEST_DRAFT            | 8         | Preparing for draft instead of using sessions. |",
        "summary": "Get All Order Items",
        "parameters": [
          {
            "in": "query",
            "name": "account",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "account_code",
            "schema": {
              "type": "integer"
            },
            "description": "Account Code"
          },
          {
            "in": "query",
            "name": "active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "approved_datetime_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Approved Date"
          },
          {
            "in": "query",
            "name": "approved_datetime_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Approved Date"
          },
          {
            "in": "query",
            "name": "approved_price",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "approved_quantity",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "approver",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "approver_id",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "branch",
            "schema": {
              "type": "integer"
            },
            "description": "Location"
          },
          {
            "in": "query",
            "name": "catalog",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "catalog_item",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "currency",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "department",
            "schema": {
              "type": "integer"
            },
            "description": "Department"
          },
          {
            "in": "query",
            "name": "departments",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "exclude",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "exclude_punchout",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "fulfilment_status",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "is_purchased",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "is_recurring",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "last_changed_by",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "last_modified_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "in": "query",
            "name": "last_modified_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "in": "query",
            "name": "lineComment",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "location",
            "schema": {
              "type": "integer"
            },
            "description": "Location"
          },
          {
            "in": "query",
            "name": "locations",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "num",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "orderNum",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "orderNum__status",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "order_created_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Order Created Date"
          },
          {
            "in": "query",
            "name": "order_created_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Order Created Date"
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "po_created_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "po_created_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "po_vendor",
            "schema": {
              "type": "integer"
            },
            "description": "Purchased Vendor"
          },
          {
            "in": "query",
            "name": "pref_vendor",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "price",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "purchase_agreement",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "purchased_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "purchased_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "purchaser",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "quantity",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "receivedFailQty",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "receivedPassQty",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "requester",
            "schema": {
              "type": "integer"
            },
            "description": "Requester"
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sku",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "integer",
              "nullable": true,
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8
              ]
            }
          },
          {
            "in": "query",
            "name": "unit",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "requisitions"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOrderItemList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOrderItemList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/global/orders/": {
      "get": {
        "operationId": "global_orders_list",
        "description": "**Order Status Codes**\n\n| Order Type          | Code      |\n|---------------------|-----------|\n| PENDING             | 0         |\n| APPROVED            | 1         |\n| REJECTED            | 2         |\n| PURCHASED           | 3         |\n| CANCELLED (legacy)  | 4         |\n| RECEIVED            | 5         |\n| DRAFT               | 6         |",
        "summary": "Get All Orders",
        "parameters": [
          {
            "in": "query",
            "name": "branch",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "dateRequired",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "in": "query",
            "name": "date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Date"
          },
          {
            "in": "query",
            "name": "date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Date"
          },
          {
            "in": "query",
            "name": "department",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "is_punchout",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "lineCount",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "location",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "modified_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "in": "query",
            "name": "modified_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "required_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Date Required"
          },
          {
            "in": "query",
            "name": "required_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Date Required"
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6
              ]
            }
          },
          {
            "in": "query",
            "name": "totalPrice",
            "schema": {
              "type": "number"
            }
          }
        ],
        "tags": [
          "requisitions"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOrderReadList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOrderReadList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/locations/": {
      "get": {
        "operationId": "locations_list",
        "summary": "Get Locations",
        "parameters": [
          {
            "in": "query",
            "name": "active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "headquarter",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "locations"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedLocationViewSerializerListList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedLocationViewSerializerListList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "locations_create",
        "description": "Create New Location. Note: only users with superuser permission can create locations.",
        "summary": "Create New Location",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "locations"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateUpsertRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateUpsertRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateUpsertRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateUpsertRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateUpsertRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationViewSerializerSingleCreate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/LocationViewSerializerSingleCreate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/locations/{id}/": {
      "get": {
        "operationId": "locations_retrieve",
        "summary": "Get Location by ID",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "tags": [
          "locations"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationViewSerializerSingleRetrieve"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/LocationViewSerializerSingleRetrieve"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/purchase_order/revise/{procurify_PO}/": {
      "put": {
        "operationId": "purchase_order_revise_update",
        "summary": "Revise a Purchase Order",
        "parameters": [
          {
            "in": "query",
            "name": "confirm_duplicate_external_po_number",
            "schema": {
              "type": "string",
              "enum": [
                "False",
                "True"
              ],
              "default": "False"
            },
            "description": "Mechanism to check for duplicate custom PO number. If there is a duplicate, API will fail unless this query param is set to True."
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "procurify_PO",
            "schema": {
              "type": "integer",
              "title": "Procurify PO Number"
            },
            "description": "A unique integer value identifying this po.",
            "required": true
          }
        ],
        "tags": [
          "purchase-orders"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrderUpdateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrderUpdateRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrderUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrderUpdateRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrderUpdateRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrderDetailSerializerSingle"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrderDetailSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/purchase_orders/{id}/": {
      "get": {
        "operationId": "purchase_orders_retrieve",
        "description": "**Purchase Order State Codes**\n\n| Order Type          | Code      |\n|---------------------|-----------|\n| PURCHASED           | 0         |\n| CANCELLED           | 1         |\n| (legacy code)       | 2         |\n| CLOSED              | 3         |\n| PAID                | 4         |\n| REOPENED            | 5         |",
        "summary": "Get Purchase Order by ID (with items)",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "description": "Procurify PO or UUID",
            "required": true
          }
        ],
        "tags": [
          "purchase-orders"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiNestedEditDeletePurchaseOrderDetail"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ApiNestedEditDeletePurchaseOrderDetail"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v2/purchase_orders/{role}/{status}/": {
      "get": {
        "operationId": "purchase_orders_list",
        "summary": "Get Purchase Orders by Role & Status",
        "parameters": [
          {
            "in": "query",
            "name": "date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "YYYY-MM-DD (start date): Filter POs by Created Date range"
          },
          {
            "in": "query",
            "name": "date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "YYYY-MM-DD (end date): Filter POs by Created Date range"
          },
          {
            "in": "query",
            "name": "modified_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "YYYY-MM-DD (start date): Filter POs by Last Modified Date range"
          },
          {
            "in": "query",
            "name": "modified_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "YYYY-MM-DD (end date): Filter POs by Last Modified Date range"
          },
          {
            "in": "query",
            "name": "order_by",
            "schema": {
              "type": "string"
            },
            "description": "Sort by field"
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "pref_vendor",
            "schema": {
              "type": "integer"
            },
            "description": "ID of Vendor"
          },
          {
            "in": "query",
            "name": "promise_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "YYYY-MM-DD (start date): Filter POs by Promise Date range"
          },
          {
            "in": "query",
            "name": "promise_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "YYYY-MM-DD (end date): Filter POs by Promise Date range"
          },
          {
            "in": "path",
            "name": "role",
            "schema": {
              "type": "string",
              "enum": [
                "purchased",
                "receivable"
              ]
            },
            "required": true
          },
          {
            "in": "path",
            "name": "status",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "cancelled",
                "closed",
                "open",
                "paid",
                "partial"
              ]
            },
            "required": true
          }
        ],
        "tags": [
          "purchase-orders"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/POWithListPurchaseOrderDocs"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/POWithListPurchaseOrderDocs"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/account-codes/": {
      "get": {
        "operationId": "account_codes_list",
        "description": "**Account Code Types**\n\n| Account Code Type | Type |\n|-------------------|------|\n| ASSETS            | 0    |\n| LIABILITY         | 1    |\n| EXPENSE           | 2    |\n| INCOME            | 3    |\n| EQUITY            | 4    |\n| OTHER             | 5    |",
        "summary": "Get Account Codes",
        "parameters": [
          {
            "in": "query",
            "name": "active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "is_parent",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "account-codes"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedAccountCodeReadList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedAccountCodeReadList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "account_codes_create",
        "description": "**Account Code Types**\n\n| Account Code Type | Type |\n|-------------------|------|\n| ASSETS            | 0    |\n| LIABILITY         | 1    |\n| EXPENSE           | 2    |\n| INCOME            | 3    |\n| EQUITY            | 4    |\n| OTHER             | 5    |",
        "summary": "Create Account Codes",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "account-codes"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeCreateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeCreateRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeCreateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeCreateRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeCreateRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCodeReadSerializerSingleCreate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCodeReadSerializerSingleCreate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/account-codes/{id}/": {
      "put": {
        "operationId": "account_codes_update",
        "description": "**Account Code Types**\n\n| Account Code Type | Type |\n|-------------------|------|\n| ASSETS            | 0    |\n| LIABILITY         | 1    |\n| EXPENSE           | 2    |\n| INCOME            | 3    |\n| EQUITY            | 4    |\n| OTHER             | 5    |",
        "summary": "Update Account Code",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this account code.",
            "required": true
          }
        ],
        "tags": [
          "account-codes"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeUpdateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeUpdateRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeUpdateRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AccountCodeUpdateRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCodeReadSerializerSingleUpdate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCodeReadSerializerSingleUpdate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/accounts/": {
      "get": {
        "operationId": "accounts_list",
        "summary": "Get Accounts",
        "parameters": [
          {
            "in": "query",
            "name": "account_code",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "department",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "departments",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "in_effect",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "locations",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "with_expired_budgets",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "tags": [
          "accounts"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedChartOfAccountsAccountList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedChartOfAccountsAccountList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/ap/bills/": {
      "get": {
        "operationId": "ap_bills_list",
        "description": "list:\nThis endpoint supports OPTIONS method which returns a list of available fields and their types.",
        "summary": "Get Bills",
        "parameters": [
          {
            "in": "query",
            "name": "approver",
            "schema": {
              "type": "number"
            },
            "description": "Approver"
          },
          {
            "in": "query",
            "name": "currency",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "due_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Due Date"
          },
          {
            "in": "query",
            "name": "due_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Due Date"
          },
          {
            "in": "query",
            "name": "expense",
            "schema": {
              "type": "string"
            },
            "description": "Expense Bills Only"
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "gl_post_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Posting Date"
          },
          {
            "in": "query",
            "name": "gl_post_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Posting Date"
          },
          {
            "in": "query",
            "name": "group",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "has_payment",
            "schema": {
              "type": "boolean"
            },
            "description": "Without Payment"
          },
          {
            "in": "query",
            "name": "has_posting_date",
            "schema": {
              "type": "boolean"
            },
            "description": "Has Posting Date"
          },
          {
            "in": "query",
            "name": "invoice_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Invoice Date"
          },
          {
            "in": "query",
            "name": "invoice_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Invoice Date"
          },
          {
            "in": "query",
            "name": "is_exported",
            "schema": {
              "type": "boolean"
            },
            "description": "Exported Bills Only"
          },
          {
            "in": "query",
            "name": "last_export_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Export Date"
          },
          {
            "in": "query",
            "name": "last_export_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Export Date"
          },
          {
            "in": "query",
            "name": "last_export_user",
            "schema": {
              "type": "number"
            },
            "description": "Last Export User"
          },
          {
            "in": "query",
            "name": "modified_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "in": "query",
            "name": "modified_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "submitted_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Submitted Date"
          },
          {
            "in": "query",
            "name": "submitted_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Submitted Date"
          },
          {
            "in": "query",
            "name": "sync_status",
            "schema": {
              "type": "string"
            },
            "description": "Sync Status"
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1,
                2
              ]
            }
          },
          {
            "in": "query",
            "name": "user",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "vendor",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "tags": [
          "ap"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillMetadataListSimpleBill"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/BillMetadataListSimpleBill"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/catalog-bundles/": {
      "get": {
        "operationId": "catalog_bundles_list",
        "summary": "Get All Catalog Bundles",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "catalog"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCatalogItemBundleReadList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCatalogItemBundleReadList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/catalog-items/": {
      "get": {
        "operationId": "catalog_items_list",
        "summary": "Get All Catalog Items",
        "parameters": [
          {
            "in": "query",
            "name": "bundle",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "department",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "internalSKU",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "max_price",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "min_price",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "pref_vendor",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "catalog"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCatalogItemReadList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCatalogItemReadList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "catalog_items_create",
        "summary": "Create Catalog Item",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "catalog"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogItemReadSerializerSingleCreate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogItemReadSerializerSingleCreate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/catalog-items/{id}/": {
      "put": {
        "operationId": "catalog_items_update",
        "summary": "Update Catalog Item",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this catalog items.",
            "required": true
          }
        ],
        "tags": [
          "catalog"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CatalogItemUpsertRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogItemReadSerializerSingleUpdate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogItemReadSerializerSingleUpdate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/custom-fields/{id}/": {
      "put": {
        "operationId": "custom_fields_update",
        "description": " ",
        "summary": "Update Order Item Custom Field Dropdown Choices",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this custom field.",
            "required": true
          }
        ],
        "tags": [
          "custom-fields"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldUpdateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldUpdateRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldUpdateRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldUpdateRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldReadSerializerSingle"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldReadSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/custom-fields/order-items/": {
      "get": {
        "operationId": "custom_fields_order_items_list",
        "description": "Get list of custom fields associated with order items",
        "summary": "Get Active/Inactive Order Item Custom Fields",
        "parameters": [
          {
            "in": "query",
            "name": "field_type",
            "schema": {
              "type": "string",
              "enum": [
                "a",
                "b",
                "d",
                "f",
                "h",
                "i",
                "m",
                "t"
              ]
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "meta__is_active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "tags": [
          "custom-fields"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCustomFieldReadList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCustomFieldReadList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/departments/": {
      "get": {
        "operationId": "departments_list",
        "description": " ",
        "summary": "List Departments",
        "parameters": [
          {
            "in": "query",
            "name": "branch",
            "schema": {
              "type": "integer"
            },
            "description": "Filter departments by their branch."
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "include_is_active_for_account_code",
            "schema": {
              "type": "integer"
            },
            "description": "Setting this adds the addition of the booeal field 'has_active_account' to each department object of the response. The query param accepts an integer representing the primary key of the account code to check if there exists an account object associated with the department with that account code."
          },
          {
            "in": "query",
            "name": "location_perm_override",
            "schema": {
              "type": "boolean"
            },
            "description": "Setting this overrides the need to enable the PROCUREMENT_ACCESS and/or RECEIVE_BY_DEPARTMENT feature switches. This parameter can only be used in conjunction with permission and user and cannot function without both of those parameters explicitly set."
          },
          {
            "in": "query",
            "name": "locations",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "description": "Filter departments by the locations (branches) passed in."
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "permission",
            "schema": {
              "type": "integer"
            },
            "description": "Filter by permission. In isolation, this parameter can only be set to 68 (add purchase order); 841 (view report); or 899 (receive_po), which correlate with permission to add purchase orders, view reports, and receive purchase orders respectively. However, the results returned correlate with the “by department” version of these permissions, which means that results are filtered by permission to add purchase orders by department, permission to view reports by department, and receive purchase orders by department. This should only be used in conjunction with the PROCUREMENT_ACCESS and/or RECEIVE_BY_DEPARTMENT feature switches. If used in conjunction with location_perm_override=true and user, the value can be set to any permission, and the result will be departments filtered by the provided user and permission values. If used in conjunction with the RECEIVE_BY_DEPARTMENT feature flag, the permission can only be set to 68, 841, or 899 (see second sentence for what these permissions do). The result will be all departments filtered by the provided user value."
          },
          {
            "in": "query",
            "name": "requestable",
            "schema": {
              "type": "string"
            },
            "description": "Fetch all requestable departments by the currently authorized user. Accepts ORDER, EXPENSE, TRAVEL, and PAY_REQUEST."
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "user",
            "schema": {
              "type": "integer"
            },
            "description": "Filter by user. If this parameter is set, the user must be a superuser or have the add_po_by_department or receive_po_by_department permissions. In isolation, this parameter should only be used in conjunction with the PROCUREMENT_ACCESS and/or RECEIVE_BY_DEPARTMENT feature switches. If used in conjunction with location_perm_override=true and permission query parameter, the result returned will be departments filtered by the provided user and permission values. If used in conjunction with the RECEIVE_BY_DEPARTMENT feature flag, the result will be departments filtered by the user provided and the permission set to 68 (add purchase order); 841 (view report); or 899 (receive purchase order) (see permission query parameter explanation for more information on what these stand for)."
          }
        ],
        "tags": [
          "departments"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedDepartmentReadList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedDepartmentReadList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "departments_create",
        "description": " ",
        "summary": "Create New Department",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "departments"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentReadSerializerSingleCreate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentReadSerializerSingleCreate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/departments/{id}/": {
      "put": {
        "operationId": "departments_update",
        "description": " ",
        "summary": "Update Department",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this department.",
            "required": true
          }
        ],
        "tags": [
          "departments"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentUpsertRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentReadSerializerSingleUpdate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentReadSerializerSingleUpdate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/order-items/": {
      "get": {
        "operationId": "order_items_list",
        "description": "**Order Item Status Codes**\n\n| Order Item Type          | Code      | Description                       |\n|--------------------------|-----------|-----------------------------------|\n| PURCHASE_PENDING         | 0         | Approved but not purchased.       |\n| PURCHASE_INUSE           | 1         | Added to purchaser's PO list.     |\n| RECEIVE_PENDING          | 2         | Purchased but not yet received, i.e. receivedPassQty == 0. |\n| RECEIVED                 | 3         | Fully received, i.e. receivedPassQty == quantity. |\n| REJECTED_FOR_PURCHASE    | 4         | Rejected at procurement, i.e. denied. |\n| RECEIVE_PARTIAL          | 5         | Partially received, i.e. receivedPassQty != quantity and receivedPassQty > 0. |\n| FULFILLED                | 6         | Received but unused. |\n| APPROVAL_DENIED          | 7         | Denied in approval routing (by approver). |\n| REQUEST_DRAFT            | 8         | Preparing for draft instead of using sessions. |",
        "summary": "Get list of all order items",
        "parameters": [
          {
            "in": "query",
            "name": "account",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "account_code",
            "schema": {
              "type": "integer"
            },
            "description": "Account Code"
          },
          {
            "in": "query",
            "name": "active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "approved_datetime_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Approved Date"
          },
          {
            "in": "query",
            "name": "approved_datetime_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Approved Date"
          },
          {
            "in": "query",
            "name": "approved_price",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "approved_quantity",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "approver",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "approver_id",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "branch",
            "schema": {
              "type": "integer"
            },
            "description": "Location"
          },
          {
            "in": "query",
            "name": "catalog",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "catalog_item",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "currency",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "department",
            "schema": {
              "type": "integer"
            },
            "description": "Department"
          },
          {
            "in": "query",
            "name": "departments",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "exclude",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "exclude_punchout",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "fulfilment_status",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "is_purchased",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "is_recurring",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "last_changed_by",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "last_modified_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "in": "query",
            "name": "last_modified_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Last Modified Date"
          },
          {
            "in": "query",
            "name": "lineComment",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "location",
            "schema": {
              "type": "integer"
            },
            "description": "Location"
          },
          {
            "in": "query",
            "name": "locations",
            "schema": {
              "type": "string"
            },
            "description": "A comma-separated list of integers."
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "num",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "orderNum",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "orderNum__status",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "order_created_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Order Created Date"
          },
          {
            "in": "query",
            "name": "order_created_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Order Created Date"
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "po_created_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "po_created_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "po_vendor",
            "schema": {
              "type": "integer"
            },
            "description": "Purchased Vendor"
          },
          {
            "in": "query",
            "name": "pref_vendor",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "price",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "purchase_agreement",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "purchased_date_0",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "purchased_date_1",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Purchased Date"
          },
          {
            "in": "query",
            "name": "purchaser",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "quantity",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "receivedFailQty",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "receivedPassQty",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "requester",
            "schema": {
              "type": "integer"
            },
            "description": "Requester"
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sku",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "integer",
              "nullable": true,
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8
              ]
            }
          },
          {
            "in": "query",
            "name": "unit",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "order-items"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOrderItemList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOrderItemList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/permissions/": {
      "get": {
        "operationId": "permissions_list",
        "summary": "Get Available User Permissions",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "permissions"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedPermissionReadList"
                },
                "examples": {
                  "UserPermissions": {
                    "value": {
                      "data": [
                        {
                          "id": 507,
                          "codename": "add_bill"
                        },
                        {
                          "id": 889,
                          "codename": "approve_bill"
                        },
                        {
                          "id": 528,
                          "codename": "add_monthclose"
                        },
                        {
                          "id": 1,
                          "codename": "add_permission"
                        },
                        {
                          "id": 7,
                          "codename": "add_user"
                        },
                        {
                          "id": 582,
                          "codename": "add_paymentterm"
                        },
                        {
                          "id": 591,
                          "codename": "add_shippingmethod"
                        },
                        {
                          "id": 585,
                          "codename": "add_shippingterm"
                        },
                        {
                          "id": 329,
                          "codename": "add_integration"
                        },
                        {
                          "id": 645,
                          "codename": "add_creditcard"
                        }
                      ],
                      "metadata": {
                        "pagination": {
                          "count": 64,
                          "num_pages": 7,
                          "current_page": 1,
                          "page_size": 10,
                          "next": "https://antonio.dev.procurify.xyz/api/v3/permissions/?page=2",
                          "previous": null
                        }
                      }
                    },
                    "summary": "User Permissions"
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedPermissionReadList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/permissions/groups/": {
      "get": {
        "operationId": "permissions_groups_list",
        "summary": "Get Available System Roles",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "permission",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "user",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "userprofile",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "tags": [
          "permissions"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedPermissionGroupList"
                },
                "examples": {
                  "SystemRoles": {
                    "value": {
                      "data": [
                        {
                          "id": 5,
                          "name": "Approver",
                          "user_count": 0,
                          "permissions": [
                            {
                              "id": 900,
                              "codename": "view_reports"
                            },
                            {
                              "id": 982,
                              "codename": "view_reports_budgets"
                            },
                            {
                              "id": 977,
                              "codename": "view_reports_expenses_by_department"
                            },
                            {
                              "id": 976,
                              "codename": "view_reports_orders_by_department"
                            },
                            {
                              "id": 975,
                              "codename": "view_reports_orders_by_user"
                            },
                            {
                              "id": 974,
                              "codename": "view_reports_orders_by_vendor"
                            },
                            {
                              "id": 101,
                              "codename": "add_expensereport"
                            },
                            {
                              "id": 887,
                              "codename": "approve_expensereport"
                            },
                            {
                              "id": 71,
                              "codename": "add_order"
                            },
                            {
                              "id": 886,
                              "codename": "approve_order"
                            },
                            {
                              "id": 95,
                              "codename": "add_travel"
                            },
                            {
                              "id": 888,
                              "codename": "approve_travel"
                            }
                          ],
                          "type": 1
                        }
                      ],
                      "metadata": {
                        "pagination": {
                          "count": 8,
                          "num_pages": 8,
                          "current_page": 1,
                          "page_size": 1,
                          "next": "https://antonio.dev.procurify.xyz/api/v3/permissions/groups/?page=2&page_size=1&permission=886",
                          "previous": null
                        }
                      }
                    },
                    "summary": "System Roles"
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedPermissionGroupList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/purchase-orders/{procurify_PO}/close/": {
      "post": {
        "operationId": "purchase_orders_close_create",
        "summary": "Close a Purchase Order",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "procurify_PO",
            "schema": {
              "type": "integer",
              "title": "Procurify PO Number"
            },
            "description": "A unique integer value identifying this po.",
            "required": true
          }
        ],
        "tags": [
          "purchase-orders"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrderReadDocsSerializerSingle"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrderReadDocsSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/purchase-orders/{procurify_PO}/reopen/": {
      "post": {
        "operationId": "purchase_orders_reopen_create",
        "summary": "Reopen a Purchase Order",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "procurify_PO",
            "schema": {
              "type": "integer",
              "title": "Procurify PO Number"
            },
            "description": "A unique integer value identifying this po.",
            "required": true
          }
        ],
        "tags": [
          "purchase-orders"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "No response body"
          }
        }
      }
    },
    "/api/v3/purchase-orders/billing-history/": {
      "get": {
        "operationId": "purchase_orders_billing_history_retrieve",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "purchase-orders"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrderV3Read"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrderV3Read"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/requisitions/": {
      "post": {
        "operationId": "requisitions_create",
        "summary": "Creating a requisition",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "requisitions"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RequisitionCreateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/RequisitionCreateRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/RequisitionCreateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequisitionCreateRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/RequisitionCreateRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequisitionReadSerializerSingle"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/RequisitionReadSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/users/": {
      "get": {
        "operationId": "users_list",
        "summary": "List Users",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "pending_invite",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "permission",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "role",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "users"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedUserProfileUnoptimizedList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedUserProfileUnoptimizedList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "users_create",
        "summary": "Create New User",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "users"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InviteFunctionalUserRequest"
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InviteFunctionalUserRequest"
                }
              }
            },
            "": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InviteFunctionalUserRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InviteFunctionalUserRequest"
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InviteFunctionalUserRequest"
                }
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileUnoptimizedSerializerList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileUnoptimizedSerializerList"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/users/{id}/": {
      "put": {
        "operationId": "users_update",
        "summary": "Update User",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this user profile.",
            "required": true
          }
        ],
        "tags": [
          "users"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserProfileUpsertRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/UserProfileUpsertRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/UserProfileUpsertRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserProfileUpsertRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UserProfileUpsertRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileUnoptimizedSerializerSingle"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileUnoptimizedSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      },
      "delete": {
        "operationId": "users_destroy",
        "summary": "Deactivate User",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this user profile.",
            "required": true
          }
        ],
        "tags": [
          "users"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "204": {
            "description": "No response body"
          }
        }
      }
    },
    "/api/v3/users/me/": {
      "get": {
        "operationId": "users_me_list",
        "description": "Get the logged in user account information",
        "summary": "Get Logged-in User",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "users"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileMeSerializerSingle"
                },
                "examples": {
                  "Logged-inUser": {
                    "value": {
                      "data": {
                        "id": 2,
                        "domains": {
                          "active": false,
                          "procurify_domains": [
                            {
                              "subdomain": "example.com",
                              "name": "example.com"
                            }
                          ]
                        },
                        "headquarter_logo": "https://commondatastorage.googleapis.com/cdn.procurify.com/attachments/7e3c3a59-8e37-4575-b510-508aeea9ee43",
                        "systemaccess_cache": {
                          "structured": {
                            "1": {
                              "flattened": [
                                "nav_receive",
                                "nav_approval",
                                "nav_manage",
                                "nav_request",
                                "nav_purchase",
                                "nav_report",
                                "nav_setting"
                              ],
                              "roles": [
                                {
                                  "permissions": [
                                    {
                                      "id": 3,
                                      "description": "Navigation for Request",
                                      "name": "Request"
                                    },
                                    {
                                      "id": 4,
                                      "description": "Navigation for Approval",
                                      "name": "Approval"
                                    },
                                    {
                                      "id": 5,
                                      "description": "Navigation for Purchase",
                                      "name": "Purchase"
                                    },
                                    {
                                      "id": 6,
                                      "description": "Navigation for Receive",
                                      "name": "Receive"
                                    },
                                    {
                                      "id": 7,
                                      "description": "Navigation for Manage",
                                      "name": "Manage"
                                    },
                                    {
                                      "id": 8,
                                      "description": "Navigation for Settings",
                                      "name": "Settings"
                                    },
                                    {
                                      "id": 9,
                                      "description": "Navigation for Report",
                                      "name": "Report"
                                    }
                                  ],
                                  "id": 15,
                                  "name": "Location Manager"
                                }
                              ]
                            },
                            "2": {
                              "flattened": [
                                "nav_request",
                                "nav_approval",
                                "nav_report"
                              ],
                              "roles": [
                                {
                                  "permissions": [
                                    {
                                      "id": 3,
                                      "description": "Navigation for Request",
                                      "name": "Request"
                                    },
                                    {
                                      "id": 4,
                                      "description": "Navigation for Approval",
                                      "name": "Approval"
                                    },
                                    {
                                      "id": 9,
                                      "description": "Navigation for Report",
                                      "name": "Report"
                                    }
                                  ],
                                  "id": 25,
                                  "name": "Approver"
                                }
                              ]
                            },
                            "3": {
                              "flattened": [
                                "nav_request",
                                "nav_approval",
                                "nav_report"
                              ],
                              "roles": [
                                {
                                  "permissions": [
                                    {
                                      "id": 3,
                                      "description": "Navigation for Request",
                                      "name": "Request"
                                    },
                                    {
                                      "id": 4,
                                      "description": "Navigation for Approval",
                                      "name": "Approval"
                                    },
                                    {
                                      "id": 9,
                                      "description": "Navigation for Report",
                                      "name": "Report"
                                    }
                                  ],
                                  "id": 25,
                                  "name": "Approver"
                                }
                              ]
                            },
                            "system": {
                              "flattened": [
                                "superuser",
                                "accounts_payable"
                              ],
                              "roles": [
                                {
                                  "permissions": [
                                    {
                                      "id": 2,
                                      "description": "Full Access",
                                      "name": "Superuser"
                                    }
                                  ],
                                  "id": 2,
                                  "name": "Superuser"
                                },
                                {
                                  "permissions": [
                                    {
                                      "id": 12,
                                      "description": "Accounts Payable",
                                      "name": "Accounts Payable"
                                    }
                                  ],
                                  "id": 31,
                                  "name": "AP"
                                }
                              ]
                            }
                          },
                          "flattened": [
                            "superuser",
                            "nav_manage",
                            "nav_request",
                            "nav_purchase",
                            "accounts_payable",
                            "nav_receive",
                            "nav_setting",
                            "nav_approval",
                            "nav_report"
                          ]
                        },
                        "approval_delegatee": null,
                        "is_approval_delegatee": false,
                        "department": {
                          "branch": {
                            "name": "",
                            "url": "",
                            "logo": null,
                            "currency": {
                              "name": "",
                              "description": "",
                              "rate": null,
                              "base": false,
                              "active": false
                            },
                            "phoneOne": "",
                            "fax": "",
                            "email": "",
                            "primary_billing_address": {
                              "name": "",
                              "addressLineOne": "",
                              "city": "",
                              "postalCode": "",
                              "state_province": "",
                              "country": ""
                            },
                            "primary_shipping_address": {
                              "name": "",
                              "addressLineOne": "",
                              "city": "",
                              "postalCode": "",
                              "state_province": "",
                              "country": ""
                            },
                            "language": null,
                            "locationTimezone": null,
                            "active": false,
                            "external_id": ""
                          },
                          "external_id": "",
                          "name": "",
                          "active": false
                        },
                        "created_at": "2017-03-17T21:45:36.120222Z",
                        "updated_at": "2017-03-24T00:55:40.724146Z",
                        "firstName": "Frank",
                        "lastName": "Borman",
                        "email": "nick+redshift7@procurify.com",
                        "position": "",
                        "phone": "-",
                        "address": "",
                        "notifications": true,
                        "is_active": true,
                        "pending_invite": false,
                        "role": 7,
                        "mobile": false,
                        "profile_image": "nickredshift7procurifycom_aa1fbc9b_frank-borman.jpg",
                        "slack_user_id": "",
                        "is_sso_enabled": false,
                        "last_changed_by": null,
                        "user": 2
                      },
                      "metadata": {}
                    },
                    "summary": "Logged-in User"
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileMeSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/vendors/": {
      "get": {
        "operationId": "vendors_list",
        "description": "**Vendor Type Codes**\n\n| Vendor Type         | Type      | Description                       |\n|---------------------|-----------|-----------------------------------|\n| OTHER               | 1         | Previously 'OTHER' vendor (ID=1), used for storing non-vendor\n|                     |           | for storing non-vendor Vendor names in request. |\n| HIDDEN              | 2         | New type of vendors that is reserved for system purposes (eg. Amazon Business). |\n| PREFERRED (default) | 3         | The default vendors from previous list\n|                     |           | where active vendor dropdowns everywhere previously showed.\n|                     |           | Request now ONLY shows these vendors (+OTHER) |\n| REGULAR             | 4         | New type of vendors that are non-preferred,\n|                     |           | for any AP purposes and purchasers to update.\n|                     |           | (DOES NOT show up in Request, but shows up in Procure) |\n| EMPLOYEE            | 5         | New type of vendors that do not show up anywhere except in AP employees list. |\n| CC_PROVIDER         | 6         | Similar type of vendors to AP employees, but for AP credit card providers. |",
        "summary": "Get list of all active vendors",
        "parameters": [
          {
            "in": "query",
            "name": "exclude_other",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "external_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_by",
            "required": false,
            "in": "query",
            "description": "Which field to use when ordering the results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "A page number within the paginated result set.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "required": false,
            "in": "query",
            "description": "Number of results to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "A search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5,
                6,
                7
              ]
            },
            "description": "Type of the vendor. See above for possible options."
          },
          {
            "in": "path",
            "name": "vendor_group",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "credit_card_providers",
                "default",
                "other",
                "preferred",
                "purchasable",
                "requestable"
              ]
            },
            "description": "\n**\"all\"**: Get list of all vendors.\n\n**\"credit_card_providers\"**: Get list of credit card provider vendors. These vendors are displayed in Payee Management for Credit Card Providers.\n\n**\"default\"**: Get list of \"preferred\" and \"regular\" vendors. These vendors are displayed in Procure (procurement, vendors, etc) and AP i.e., default vendor list. OTHER is discontinued from procure.\n\n**\"other\"**: Get list of \"other\" vendors. Only returns the 'OTHER' vendor reserved for requesting non-vendor names.\n\n**\"preferred\"**: Get list of \"preferred\" vendors.\n\n**\"purchasable\"**: Get list of \"purchasable\" vendors.\n\n**\"requestable\"**: Get list of \"requestable\" vendors. These vendors are displayed in Request and designated by Purchaser.",
            "required": true
          }
        ],
        "tags": [
          "vendors"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOptimizedVendorList"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedOptimizedVendorList"
                }
              }
            },
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "vendors_create",
        "description": "Create a new vendor\n\nDue to having multiple vendors with the same name, especially\ncommon if user keeps deleting vendors with the same name, these\ndeleted vendors get thrown into the inactive list.\n\n**Vendor Types**\n\n| Vendor Type       | Type      |\n|-------------------|-----------|\n| OTHER             | 1         |\n| HIDDEN            | 2         |\n| PREFERRED (default) | 3       |\n| REGULAR           | 4         |\n| EMPLOYEE          | 5         |\n| CC_PROVIDER       | 6         |",
        "summary": "Create Vendor",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          }
        ],
        "tags": [
          "vendors"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorDetailSerializerSingleCreate"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/VendorDetailSerializerSingleCreate"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/api/v3/vendors/{id}/": {
      "get": {
        "operationId": "vendors_retrieve",
        "description": "Get detail of a vendor by id",
        "summary": "Get Vendor by ID",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this vendor.",
            "required": true
          }
        ],
        "tags": [
          "vendors"
        ],
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorDetailSerializerSingleRetrieve"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/VendorDetailSerializerSingleRetrieve"
                }
              }
            },
            "description": ""
          }
        }
      },
      "put": {
        "operationId": "vendors_update",
        "summary": "Update Vendor",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this vendor.",
            "required": true
          }
        ],
        "tags": [
          "vendors"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/OptimizedVendorRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorSerializerSingle"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/VendorSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      },
      "patch": {
        "operationId": "vendors_partial_update",
        "summary": "Partial Update Vendor",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            }
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "integer"
            },
            "description": "A unique integer value identifying this vendor.",
            "required": true
          }
        ],
        "tags": [
          "vendors"
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PatchedOptimizedVendorRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchedOptimizedVendorRequest"
              }
            },
            "": {
              "schema": {
                "$ref": "#/components/schemas/PatchedOptimizedVendorRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchedOptimizedVendorRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/PatchedOptimizedVendorRequest"
              }
            }
          }
        },
        "security": [
          {
            "RemoteAuthentication": []
          },
          {
            "BasicAuthentication": []
          },
          {
            "tokenAuth": []
          },
          {
            "cookieAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptimizedVendorSerializerSingle"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/OptimizedVendorSerializerSingle"
                }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/oauth/token": {
      "post": {
        "servers": [
          {
            "url": "https://login.procurify.com",
            "description": "Authenticate with oauth"
          }
        ],
        "operationId": "api_account_code_retrieve",
        "summary": "Authenticate with OAuth",
        "description": "Getting access to Procurify API involves the following three steps:\n\n  1. Request credentials for your Procurify account.\n  2. Request access token using your credentials.\n  3. Use access token to access Procurify API resources.\n\n#### Request credentials for your Procurify account.\n\nThe first step is to request credentials from Procurify. Your role must have access to manage integrations settings in order to request API credentials. You can request API credentials by going to go:\n\n  1. Settings in the left navigation bar.\n  2. Integrations in the Tools section.\n  3. View button beside API item\n\nThis page will allow you to enter an optional description of the application you are developing with the Procurify API and once you are ready, click on “Create Application”. On the next screen, you will be presented with a Client ID and a Client Secret. You will need to copy and save these credentials securely. Please note that the Client Secret is only presented once.\n\n#### Request access token using your credentials.\n\nOnce you have the client credentials, you will need to request an access token using these credentials that can be used as a bearer token when making a request to Procurify API. You will need the following information to request an access token:\n\n|Info|Value|\n--- | ---\n|Token URL:|https://login.procurify.com/oauth/token|\n|Client ID:|*From the previous step*|\n|Client Secret:|*From the previous step*|\n|Audience:|https://api.procurify.com/|\n|Grant Type:|client_credentials|\n\nOnce you have the access token, you will need to cache it until it expires (24 hrs). Please let Procurify support know if you would like help with this.\n\n\nAn example request and response using cURL (replace client id and client secret)\n\n    $ curl -H \"content-type: application/json\" -X POST \\\n        -d '{\"client_id\": \"~your_client_id~\", \\\n             \"client_secret\": \"~your_client_secret~\", \\\n             \"audience\": \"https://api.procurify.com/\", \\\n             \"grant_type\": \"client_credentials\"}' \\\n        https://login.procurify.com/oauth/token\n\n    {\"access_token\": \"~your-access-token~\",\n     \"scope\": \"urn:procurify-api:domain:~your_domain~ urn:procurify-api:email:~your_email~\",\n     \"expires_in\": 86400,\n     \"token_type\": \"Bearer\"}\n\n\n#### Use access token to access Procurify API resources.\n\nOnce you have the access token, you can make requests to Procurify API resources. You will need to set the following headers when making the request.\n\n|Key|Value|\n--- | ---\n|Authorization:|Bearer *access_token from previous step*|\n|X-Procurify-Client:|api|\n\n\nAn example request and response using cURL (replace access token and your procurify domain)\n\n    $ curl -H \"Authorization: Bearer ~access_token~\" \\\n        -H \"X-Procurify-Client: api\" \\\n        https://your-domain.procurify.com/api/v3/vendors/\n\n        {\"data\":[{\"id\":1,\"name\":\"OTHER\",\"active\":true,\"addressLineOne\":\"OTHER\"...}",
        "parameters": [],
        "tags": [
          "oauth"
        ],
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "client_id": {
                    "type": "string"
                  },
                  "client_secret": {
                    "type": "string"
                  },
                  "audience": {
                    "type": "string"
                  },
                  "grant_type": {
                    "type": "string"
                  }
                }
              },
              "example": {
                "client_id": "~your_client_id~",
                "client_secret": "~your_client_secret~",
                "audience": "https://api.procurify.com/",
                "grant_type": "client_credentials"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful authentication",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "access_token": {
                      "type": "string"
                    },
                    "scope": {
                      "type": "string"
                    },
                    "expires_in": {
                      "type": "number"
                    },
                    "token_type": {
                      "type": "string",
                      "enum": [
                        "Bearer"
                      ]
                    }
                  }
                },
                "example": {
                  "access_token": "~your-access-token~",
                  "scope": "urn:procurify-api:domain:~your_domain~ urn:procurify-api:email:~your_email~",
                  "expires_in": 86400,
                  "token_type": "Bearer"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "APBillPaymentDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "payment": {
            "$ref": "#/components/schemas/PaymentSimpleDocs"
          },
          "payment_method": {
            "$ref": "#/components/schemas/PaymentMethodDocs"
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "title": "Payment Amount"
          },
          "transaction": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "payment",
          "payment_method"
        ]
      },
      "APCreditCard": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "number": {
            "type": "string",
            "pattern": "^[0-9]{4}$",
            "maxLength": 19
          },
          "balance": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "nullable": true
          },
          "gl_code": {
            "type": "string",
            "maxLength": 100
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreditCardTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "category": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ZeroOneEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "external_id": {
            "type": "string",
            "description": "External id of the Credit Card",
            "maxLength": 100
          },
          "status": {
            "nullable": true,
            "description": "The status of the Credit Card",
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreditCardStatusEnum"
              },
              {
                "$ref": "#/components/schemas/BlankEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "require_activation": {
            "type": "boolean",
            "title": "Require new activation?",
            "description": "Does this card require new activation?"
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "vendor": {
            "type": "integer"
          },
          "payment_method": {
            "type": "integer",
            "nullable": true
          },
          "currency": {
            "type": "integer"
          },
          "creator": {
            "type": "integer",
            "nullable": true,
            "title": "Card Issuer"
          }
        },
        "required": [
          "currency",
          "uuid",
          "vendor"
        ]
      },
      "Account": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "account_code": {
            "$ref": "#/components/schemas/AccountCodeRead"
          },
          "department": {
            "$ref": "#/components/schemas/DepartmentSummary"
          },
          "warning_indicator": {
            "type": "boolean",
            "readOnly": true
          },
          "start_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "end_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "budget": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "budget_used_approved": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "budget_used_purchased": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "balance_approved": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "balance_purchased": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "account_code",
          "department"
        ]
      },
      "AccountCodeCreateRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "parent": {
            "type": "integer",
            "nullable": true
          },
          "account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "departments": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        },
        "required": [
          "code",
          "description"
        ]
      },
      "AccountCodeRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "applied_accounts_count": {
            "type": "integer",
            "readOnly": true
          },
          "code": {
            "type": "string",
            "maxLength": 50
          },
          "code_length": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "description": {
            "type": "string",
            "maxLength": 200
          },
          "account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "active": {
            "type": "boolean"
          },
          "parent": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "code",
          "description"
        ]
      },
      "AccountCodeReadSerializerSingleCreate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/AccountCodeRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "AccountCodeReadSerializerSingleUpdate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/AccountCodeRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "AccountCodeUpdateRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          }
        },
        "required": [
          "code",
          "description"
        ]
      },
      "AccountRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "account_code": {
            "$ref": "#/components/schemas/AccountCodeRead"
          },
          "department": {
            "$ref": "#/components/schemas/DepartmentSummary"
          },
          "warning_indicator": {
            "type": "boolean",
            "readOnly": true
          },
          "budget_used_approved": {
            "type": "number",
            "format": "float"
          },
          "budget_used_purchased": {
            "type": "number",
            "format": "float"
          },
          "start_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "end_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "budget": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "balance_approved": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "balance_purchased": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "account_code",
          "department"
        ]
      },
      "ActionEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20
        ],
        "type": "integer"
      },
      "Address": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "addressLineOne": {
            "type": "string",
            "title": "Address line 1",
            "maxLength": 300
          },
          "city": {
            "type": "string",
            "maxLength": 50
          },
          "postalCode": {
            "type": "string",
            "title": "Postal Code",
            "maxLength": 20
          },
          "state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "maxLength": 80
          }
        },
        "required": [
          "addressLineOne",
          "city",
          "country",
          "name",
          "postalCode"
        ]
      },
      "AddressAssociationEnum": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer"
      },
      "AddressDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "AddressRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 150
          },
          "addressLineOne": {
            "type": "string",
            "minLength": 1,
            "title": "Address line 1",
            "maxLength": 300
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "postalCode": {
            "type": "string",
            "minLength": 1,
            "title": "Postal Code",
            "maxLength": 20
          },
          "state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [
          "addressLineOne",
          "city",
          "country",
          "name",
          "postalCode"
        ]
      },
      "AddressSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "addressAssociation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AddressAssociationEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "addressLineOne": {
            "type": "string",
            "title": "Address line 1",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "title": "Address line 2",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "title": "Postal Code",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "maxLength": 80
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          }
        },
        "required": [
          "addressLineOne",
          "city",
          "country",
          "name",
          "postalCode"
        ]
      },
      "AllocationRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "title": "Allocated Amount"
          },
          "account": {
            "$ref": "#/components/schemas/SpendAccountRead"
          }
        },
        "required": [
          "account",
          "amount"
        ]
      },
      "ApiNestedEditDeletePurchaseOrderDetail": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/PermissionsEditDelete"
          },
          "data": {
            "$ref": "#/components/schemas/PurchaseOrderDetail"
          }
        },
        "required": [
          "data",
          "metadata"
        ]
      },
      "ApprovalDelegateeDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "department": {
            "type": "integer",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          }
        },
        "required": [
          "email"
        ]
      },
      "ApprovalDelegationRead": {
        "type": "object",
        "properties": {
          "approval_delegatee": {
            "$ref": "#/components/schemas/UserProfileRead"
          },
          "expected_return_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "delegator": {
            "$ref": "#/components/schemas/SimpleUserProfile"
          },
          "setter": {
            "$ref": "#/components/schemas/SimpleUserProfile"
          }
        },
        "required": [
          "approval_delegatee",
          "delegator",
          "setter"
        ]
      },
      "ApproverChoicesMetadataApproverReadDocs": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/ApproverChoicesMetadataDocs"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApproverReadDocs"
            }
          }
        },
        "required": [
          "data",
          "metadata"
        ]
      },
      "ApproverChoicesMetadataDocs": {
        "type": "object",
        "properties": {
          "permissions": {
            "$ref": "#/components/schemas/PermissionsApprove"
          },
          "summary": {
            "$ref": "#/components/schemas/PaymentSummaryDocs"
          }
        },
        "required": [
          "summary"
        ]
      },
      "ApproverRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "user": {
            "$ref": "#/components/schemas/SimpleUserSummary"
          },
          "amount_limit": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "item_variance_amount_limit": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$",
            "nullable": true
          },
          "item_variance_percentage_limit": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$",
            "nullable": true
          },
          "approval_level": {
            "type": "integer"
          }
        },
        "required": [
          "amount_limit",
          "approval_level",
          "user"
        ]
      },
      "ApproverReadDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "user": {
            "$ref": "#/components/schemas/SimpleUserSummary"
          },
          "amount_limit": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "item_variance_amount_limit": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$",
            "nullable": true
          },
          "item_variance_percentage_limit": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$",
            "nullable": true
          },
          "approval_level": {
            "type": "integer"
          },
          "bill_amount_limit": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          }
        },
        "required": [
          "amount_limit",
          "approval_level",
          "bill_amount_limit",
          "user"
        ]
      },
      "Attachment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "file": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "user": {
            "type": "integer"
          },
          "description": {
            "type": "string",
            "maxLength": 1000
          },
          "mimetype": {
            "type": "string",
            "maxLength": 100
          },
          "length": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "nullable": true
          },
          "sha1_hash": {
            "type": "string",
            "maxLength": 40
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "required": [
          "file",
          "user",
          "uuid"
        ]
      },
      "BillCostRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "cost_allocation": {
            "$ref": "#/components/schemas/CostAllocationRead"
          },
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "bill": {
            "type": "integer"
          },
          "cost": {
            "type": "integer",
            "nullable": true,
            "title": "Cost Class"
          },
          "currency": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "amount",
          "bill",
          "cost_allocation",
          "name"
        ]
      },
      "BillDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "vendor": {
            "$ref": "#/components/schemas/VendorDocs"
          },
          "tax_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "vendor_name": {
            "type": "string",
            "maxLength": 100
          },
          "due_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Bill Due Date"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillStatusEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillTypeEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "group": {
            "type": "integer"
          }
        },
        "required": [
          "group",
          "vendor"
        ]
      },
      "BillItemsMetadataDocs": {
        "type": "object",
        "properties": {
          "summary": {
            "$ref": "#/components/schemas/BillItemsSummaryDocs"
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationDocs"
          }
        },
        "required": [
          "pagination",
          "summary"
        ]
      },
      "BillItemsSummaryDocs": {
        "type": "object",
        "properties": {
          "total_items": {
            "type": "integer"
          },
          "total_cost": {
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "total_cost",
          "total_items"
        ]
      },
      "BillMetadataBillRead": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/SingleBillMetadataDocs"
          },
          "data": {
            "$ref": "#/components/schemas/BillRead"
          }
        },
        "required": [
          "data",
          "metadata"
        ]
      },
      "BillMetadataListSimpleBill": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/ListBillsMetadataDocs"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SimpleBill"
            }
          }
        },
        "required": [
          "data",
          "metadata"
        ]
      },
      "BillPaymentDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "bill": {
            "$ref": "#/components/schemas/BillDocs"
          },
          "user": {
            "$ref": "#/components/schemas/UserDocs"
          },
          "payment_method": {
            "$ref": "#/components/schemas/VendorPaymentMethodRead"
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "title": "Payment Amount"
          },
          "transaction": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "bill",
          "payment_method",
          "user"
        ]
      },
      "BillPurchaseOrderDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "number": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "total_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          }
        },
        "required": [
          "currency",
          "id",
          "number",
          "total_amount"
        ]
      },
      "BillRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "user": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "approval_chain": {
            "type": "integer",
            "readOnly": true,
            "nullable": true
          },
          "approver": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApproverRead"
              }
            ],
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemReadSerializer_v2"
            }
          },
          "costs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillCostRead"
            }
          },
          "invoice_attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            }
          },
          "bill_statuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillStatusRead"
            }
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Comment"
            },
            "readOnly": true
          },
          "version_choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VersionChoicesDocs"
            },
            "readOnly": true
          },
          "tax_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "inclusive_tax_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "exclusive_tax_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "subtotal_cost": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "total_cost": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "total_cost_with_tax": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "converted_total_cost": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "next_approver_choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApproverRead"
            },
            "nullable": true,
            "readOnly": true
          },
          "locked": {
            "type": "boolean",
            "readOnly": true
          },
          "bill_payment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/APBillPaymentDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "creditcard": {
            "type": "integer",
            "readOnly": true
          },
          "creditcard_name": {
            "type": "string",
            "readOnly": true
          },
          "last_export_user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleUserSummary"
              }
            ],
            "readOnly": true
          },
          "last_export_date": {
            "type": "string",
            "format": "date",
            "readOnly": true
          },
          "vendor_name": {
            "type": "string",
            "maxLength": 100
          },
          "vendor_contact": {
            "type": "string",
            "maxLength": 100
          },
          "vendor_address_one": {
            "type": "string",
            "title": "Vendor Address Line One",
            "maxLength": 300
          },
          "vendor_address_two": {
            "type": "string",
            "title": "Vendor Address Line Two",
            "maxLength": 300
          },
          "vendor_postal_code": {
            "type": "string",
            "maxLength": 10
          },
          "vendor_city": {
            "type": "string",
            "maxLength": 50
          },
          "vendor_state_province": {
            "type": "string",
            "title": "Vendor State/Province",
            "maxLength": 40
          },
          "vendor_country": {
            "type": "string",
            "maxLength": 80
          },
          "last_modified_datetime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "title": "Last Modified"
          },
          "submitted_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoice_number": {
            "type": "string",
            "maxLength": 50
          },
          "invoice_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Bill Invoice Date"
          },
          "due_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Bill Due Date"
          },
          "payment_terms": {
            "type": "string",
            "maxLength": 100
          },
          "version": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillStatusEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillTypeEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "active": {
            "type": "boolean"
          },
          "note": {
            "type": "string"
          },
          "gl_post_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "group": {
            "type": "integer",
            "nullable": true
          },
          "payment_method": {
            "type": "integer",
            "nullable": true,
            "title": "Bill Payment Method"
          },
          "payment_method_name": {
            "type": "string",
            "readOnly": true
          },
          "added_purchase_orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillPurchaseOrderDocs"
            },
            "readOnly": true
          },
          "shipping_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "invoice_uuid": {
            "type": "string",
            "readOnly": true
          }
        },
        "required": [
          "bill_statuses",
          "costs",
          "currency",
          "invoice_attachments",
          "items",
          "user",
          "uuid",
          "vendor"
        ]
      },
      "BillStatusEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          6,
          7,
          8,
          4,
          5
        ],
        "type": "integer"
      },
      "BillStatusRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "user": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillStatusEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "bill": {
            "type": "integer"
          }
        },
        "required": [
          "bill",
          "date",
          "status",
          "user"
        ]
      },
      "BillSummaryDocs": {
        "type": "object",
        "properties": {
          "has_multiple_currency": {
            "type": "boolean"
          },
          "total_cost": {
            "type": "number",
            "format": "float"
          },
          "total_paid": {
            "type": "number",
            "format": "float"
          },
          "total_outstanding": {
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "has_multiple_currency",
          "total_cost",
          "total_outstanding",
          "total_paid"
        ]
      },
      "BillTypeEnum": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer"
      },
      "BlankEnum": {
        "enum": [
          ""
        ]
      },
      "Branch": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "url": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "maxLength": 200
          },
          "logo": {
            "type": "string"
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LanguageEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "multipleLocations": {
            "type": "boolean"
          },
          "locationTimezone": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocationTimezoneEnum"
              },
              {
                "$ref": "#/components/schemas/BlankEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "userLimit": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64"
          },
          "budgetOvertureToggle": {
            "type": "boolean"
          },
          "purchase_filtering": {
            "type": "boolean"
          },
          "catalog_permission": {
            "type": "boolean"
          },
          "separate_expense_approval": {
            "type": "boolean"
          },
          "standalone_travel_approval": {
            "type": "boolean"
          },
          "phoneOne": {
            "type": "string",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "maxLength": 20
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true,
            "maxLength": 254
          },
          "fiscalYearEndDay": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64",
            "nullable": true
          },
          "fiscalYearEndMonth": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64",
            "nullable": true
          },
          "beginDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "ported": {
            "type": "boolean"
          },
          "port_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "activated": {
            "type": "boolean"
          },
          "setup_stage": {
            "$ref": "#/components/schemas/SetupStageEnum"
          },
          "localCurrency": {
            "type": "integer"
          },
          "contactPerson": {
            "type": "integer",
            "nullable": true
          },
          "buyerAddress": {
            "type": "integer",
            "nullable": true
          },
          "shippingAddress": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "localCurrency",
          "name",
          "phoneOne"
        ]
      },
      "BranchSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          }
        },
        "required": [
          "name"
        ]
      },
      "BreakdownDocs": {
        "type": "object",
        "properties": {
          "score": {
            "type": "number",
            "format": "float"
          },
          "weight": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,1}(?:\\.\\d{0,1})?$"
          }
        },
        "required": [
          "score",
          "weight"
        ]
      },
      "CatalogItemBundleRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "maxLength": 250
          },
          "image": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CatalogItemReadSerializerWithQuantity"
            },
            "readOnly": true
          },
          "items_count": {
            "type": "integer",
            "readOnly": true
          }
        },
        "required": [
          "name"
        ]
      },
      "CatalogItemRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "image": {
            "type": "string"
          },
          "unitType": {
            "type": "string",
            "maxLength": 30
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "account_code": {
            "$ref": "#/components/schemas/AccountCodeRead"
          },
          "internalSKU": {
            "type": "string",
            "maxLength": 50
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "product_url": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencySummary"
          },
          "price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "rfo_lock": {
            "type": "boolean"
          },
          "departments": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "readOnly": true
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueRead"
            },
            "readOnly": true
          },
          "requested_count": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "last_requested_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "selected_account": {
            "type": "object",
            "additionalProperties": {},
            "readOnly": true
          }
        },
        "required": [
          "account_code",
          "currency",
          "name",
          "pref_vendor"
        ]
      },
      "CatalogItemReadSerializerSingleCreate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/CatalogItemRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "CatalogItemReadSerializerSingleUpdate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/CatalogItemRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "CatalogItemReadSerializerWithQuantity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "image": {
            "type": "string"
          },
          "unitType": {
            "type": "string",
            "maxLength": 30
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "account_code": {
            "$ref": "#/components/schemas/AccountCodeRead"
          },
          "internalSKU": {
            "type": "string",
            "maxLength": 50
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "product_url": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencySummary"
          },
          "price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "rfo_lock": {
            "type": "boolean"
          },
          "departments": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "readOnly": true
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueRead"
            },
            "readOnly": true
          },
          "requested_count": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "last_requested_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "selected_account": {
            "type": "object",
            "additionalProperties": {},
            "readOnly": true
          },
          "quantity": {
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "account_code",
          "currency",
          "name",
          "pref_vendor",
          "quantity"
        ]
      },
      "CatalogItemUpsertRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "image": {
            "type": "string"
          },
          "unitType": {
            "type": "string",
            "maxLength": 30
          },
          "pref_vendor": {
            "type": "integer",
            "nullable": true
          },
          "account_code": {
            "type": "integer",
            "nullable": true
          },
          "internalSKU": {
            "type": "string",
            "maxLength": 50
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "product_url": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "integer"
          },
          "price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "rfo_lock": {
            "type": "boolean"
          },
          "departments": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "currency",
          "custom_fields",
          "name"
        ]
      },
      "ChartOfAccountsAccount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "account_code": {
            "$ref": "#/components/schemas/AccountCodeRead"
          },
          "department": {
            "$ref": "#/components/schemas/DepartmentRead"
          },
          "start_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "end_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "budget": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "budget_used_approved": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "budget_used_purchased": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "balance_approved": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "balance_purchased": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "account_code",
          "department"
        ]
      },
      "Comment": {
        "type": "object",
        "properties": {
          "userprofile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserSummary"
              }
            ],
            "readOnly": true
          },
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "comment": {
            "type": "string",
            "readOnly": true
          },
          "submit_date": {
            "type": "string",
            "format": "date-time",
            "title": "Date/time submitted"
          }
        }
      },
      "CompanyPaymentMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "type": "integer"
          },
          "gl_code": {
            "type": "string",
            "maxLength": 100
          }
        },
        "required": [
          "data"
        ]
      },
      "CompanyPaymentMethodRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "gl_code": {
            "type": "string"
          }
        },
        "required": [
          "currency",
          "data"
        ]
      },
      "CompanyPaymentMethodRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "type": "integer"
          },
          "gl_code": {
            "type": "string",
            "maxLength": 100
          }
        },
        "required": [
          "data"
        ]
      },
      "CostAllocationRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "budget": {
            "$ref": "#/components/schemas/AccountRead"
          },
          "object_id": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64",
            "nullable": true
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "title": "Billed Amount"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "created_on": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "required": [
          "amount",
          "budget",
          "currency"
        ]
      },
      "CreditCard": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "number": {
            "type": "string",
            "pattern": "^[0-9]{4}$",
            "maxLength": 19
          },
          "balance": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "nullable": true
          },
          "gl_code": {
            "type": "string",
            "maxLength": 100
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreditCardTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "category": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ZeroOneEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "external_id": {
            "type": "string",
            "description": "External id of the Credit Card",
            "maxLength": 100
          },
          "status": {
            "nullable": true,
            "description": "The status of the Credit Card",
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreditCardStatusEnum"
              },
              {
                "$ref": "#/components/schemas/BlankEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "require_activation": {
            "type": "boolean",
            "title": "Require new activation?",
            "description": "Does this card require new activation?"
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "vendor": {
            "type": "integer"
          },
          "payment_method": {
            "type": "integer",
            "nullable": true
          },
          "currency": {
            "type": "integer"
          },
          "creator": {
            "type": "integer",
            "nullable": true,
            "title": "Card Issuer"
          }
        },
        "required": [
          "currency",
          "uuid",
          "vendor"
        ]
      },
      "CreditCardItemDocs": {
        "type": "object",
        "properties": {
          "unit_cost": {
            "type": "number",
            "format": "float"
          },
          "description": {
            "type": "string",
            "maxLength": 1000
          },
          "sku": {
            "type": "string",
            "maxLength": 100
          },
          "quantity": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "total_cost": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "received_on": {
            "type": "string",
            "format": "date-time"
          },
          "packing_slips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            }
          },
          "cost_allocations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CostAllocationRead"
            }
          },
          "is_edited": {
            "type": "boolean"
          },
          "same_unit_cost": {
            "type": "boolean"
          },
          "unit_cost_diff_log": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnitCostDiffLogDocs"
              }
            ],
            "nullable": true
          },
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "creditcard": {
            "$ref": "#/components/schemas/APCreditCard"
          },
          "po": {
            "$ref": "#/components/schemas/PurchaseOrderRead"
          },
          "expense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseDocs"
              }
            ],
            "readOnly": true
          },
          "creditcard_is_editable": {
            "type": "boolean",
            "readOnly": true
          },
          "matched_statement_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatementItem"
            },
            "readOnly": true
          }
        },
        "required": [
          "cost_allocations",
          "creditcard",
          "currency",
          "description",
          "po",
          "quantity"
        ]
      },
      "CreditCardRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "number": {
            "type": "string",
            "pattern": "^[0-9]{4}$",
            "maxLength": 19
          },
          "vendor": {
            "$ref": "#/components/schemas/SimpleVendor"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreditCardTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "balance": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "nullable": true
          },
          "assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SimpleUserSummary"
            }
          },
          "last_reconciliation_date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "last_reconciliation_balance": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "session": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionCreate"
              }
            ],
            "readOnly": true
          },
          "gl_code": {
            "type": "string",
            "maxLength": 100
          },
          "last_statement_date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "required": [
          "assignees",
          "currency",
          "vendor"
        ]
      },
      "CreditCardRequest": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "is_active": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "number": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[0-9]{4}$",
            "maxLength": 19
          },
          "balance": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "nullable": true
          },
          "gl_code": {
            "type": "string",
            "maxLength": 100
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreditCardTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "category": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ZeroOneEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "external_id": {
            "type": "string",
            "description": "External id of the Credit Card",
            "maxLength": 100
          },
          "status": {
            "nullable": true,
            "description": "The status of the Credit Card",
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreditCardStatusEnum"
              },
              {
                "$ref": "#/components/schemas/BlankEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "require_activation": {
            "type": "boolean",
            "title": "Require new activation?",
            "description": "Does this card require new activation?"
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "vendor": {
            "type": "integer"
          },
          "payment_method": {
            "type": "integer",
            "nullable": true
          },
          "currency": {
            "type": "integer"
          },
          "creator": {
            "type": "integer",
            "nullable": true,
            "title": "Card Issuer"
          }
        },
        "required": [
          "currency",
          "uuid",
          "vendor"
        ]
      },
      "CreditCardStatusEnum": {
        "enum": [
          "pending",
          "active",
          "inactive",
          "canceled",
          "lost",
          "stolen"
        ],
        "type": "string"
      },
      "CreditCardTypeEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer"
      },
      "Currency": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 10
          },
          "description": {
            "type": "string",
            "maxLength": 100
          },
          "rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$"
          },
          "base": {
            "type": "boolean"
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "rate"
        ]
      },
      "CurrencyRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10
          },
          "description": {
            "type": "string",
            "maxLength": 100
          },
          "rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$"
          },
          "base": {
            "type": "boolean"
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "rate"
        ]
      },
      "CurrencySummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 10
          },
          "rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$"
          },
          "base": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "rate"
        ]
      },
      "CustomFieldRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 200
          },
          "content_type": {
            "type": "integer"
          },
          "default_value": {
            "type": "string",
            "maxLength": 5000
          },
          "is_required": {
            "type": "boolean"
          },
          "field_choices": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "readOnly": true
          },
          "field_type": {
            "$ref": "#/components/schemas/FieldTypeEnum"
          },
          "field_label": {
            "type": "string",
            "readOnly": true
          },
          "is_active": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "required": [
          "content_type",
          "name"
        ]
      },
      "CustomFieldReadSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/CustomFieldRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "CustomFieldUpdateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "default_value": {
            "type": "string",
            "maxLength": 5000
          },
          "is_required": {
            "type": "boolean"
          },
          "field_type": {
            "type": "string",
            "minLength": 1
          },
          "field_choices": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "default": []
          }
        },
        "required": [
          "field_type",
          "name"
        ]
      },
      "CustomFieldValueRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "value": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "boolean"
              }
            ],
            "readOnly": true
          },
          "field": {
            "$ref": "#/components/schemas/CustomFieldRead"
          }
        },
        "required": [
          "field"
        ]
      },
      "DepartmentIdValidationRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id"
        ]
      },
      "DepartmentLocationRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "branch": {
            "$ref": "#/components/schemas/LocationView"
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "punchout_email": {
            "type": "string",
            "nullable": true
          },
          "is_active_for_account_code": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "required": [
          "branch",
          "name"
        ]
      },
      "DepartmentRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "branch": {
            "$ref": "#/components/schemas/LocationSimple"
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "punchout_email": {
            "type": "string",
            "nullable": true
          },
          "is_active_for_account_code": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "required": [
          "branch",
          "name"
        ]
      },
      "DepartmentReadSerializerSingleCreate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/DepartmentRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "DepartmentReadSerializerSingleUpdate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/DepartmentRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "DepartmentSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "branch": {
            "$ref": "#/components/schemas/BranchSummary"
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "punchout_email": {
            "type": "string",
            "format": "email",
            "nullable": true,
            "description": "PunchOut Email",
            "maxLength": 254
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "branch",
          "name"
        ]
      },
      "DepartmentUpsertRequest": {
        "type": "object",
        "properties": {
          "branch": {
            "type": "integer"
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "punchout_email": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          }
        },
        "required": [
          "branch",
          "name"
        ]
      },
      "DomainSwitching": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "procurify_domains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProcurifyDomain"
            }
          }
        },
        "required": [
          "active",
          "procurify_domains"
        ]
      },
      "ExpenseDocs": {
        "type": "object",
        "properties": {
          "merchant": {
            "type": "string"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "expenseReport": {
            "$ref": "#/components/schemas/ExpenseReportWithUserDocs"
          }
        },
        "required": [
          "expenseReport",
          "merchant",
          "notes"
        ]
      },
      "ExpenseRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "localCurrency": {
            "$ref": "#/components/schemas/CurrencySummary"
          },
          "expense_type_fields": {
            "type": "object",
            "additionalProperties": {}
          },
          "expenseReport": {
            "$ref": "#/components/schemas/SimpleExpenseReport"
          },
          "requester": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleUserSummary"
              }
            ],
            "readOnly": true
          },
          "approver": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleUserSummary"
              }
            ],
            "readOnly": true
          },
          "approved_date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "merchant": {
            "type": "string",
            "maxLength": 100
          },
          "transDate": {
            "type": "string",
            "format": "date-time"
          },
          "reimburse": {
            "type": "boolean"
          },
          "expense_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "paymentType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,12}(?:\\.\\d{0,2})?$",
            "nullable": true
          },
          "currency_rate_final": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$"
          },
          "exchange_rate_override": {
            "type": "boolean"
          },
          "tax_name": {
            "type": "string",
            "maxLength": 30
          },
          "tax_percentage": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,8}(?:\\.\\d{0,8})?$"
          },
          "tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,12}(?:\\.\\d{0,2})?$",
            "nullable": true
          },
          "tax_is_inclusive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true,
            "maxLength": 500
          },
          "attachment": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "creditcard": {
            "type": "integer",
            "nullable": true
          },
          "tax": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "account",
          "currency_rate_final",
          "expenseReport",
          "expense_type_fields",
          "localCurrency",
          "merchant",
          "tax_percentage",
          "transDate"
        ]
      },
      "ExpenseReportDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "uuid": {
            "type": "string"
          }
        }
      },
      "ExpenseReportUserSummaryDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "position": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "approval_delegatee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApprovalDelegateeDocs"
              }
            ],
            "nullable": true
          },
          "expected_return_date": {
            "type": "string",
            "format": "date",
            "readOnly": true
          }
        },
        "required": [
          "approval_delegatee",
          "email"
        ]
      },
      "ExpenseReportWithUserDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "uuid": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/ExpenseReportUserSummaryDocs"
          }
        },
        "required": [
          "id",
          "user",
          "uuid"
        ]
      },
      "ExpenseTypeEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer"
      },
      "FieldTypeEnum": {
        "enum": [
          "t",
          "a",
          "i",
          "f",
          "b",
          "m",
          "d",
          "h"
        ],
        "type": "string"
      },
      "FlagRead": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "readOnly": true
          },
          "symbol": {
            "type": "string",
            "readOnly": true
          },
          "object_id": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64"
          },
          "content_type": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "object_id"
        ]
      },
      "FulfilmentStatusEnum": {
        "enum": [
          "empty",
          "partial",
          "full"
        ],
        "type": "string"
      },
      "InviteFunctionalUserRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1
          },
          "send_invitation_email": {
            "type": "boolean",
            "default": false
          },
          "password": {
            "type": "string",
            "default": ""
          },
          "first_name": {
            "type": "string",
            "default": ""
          },
          "last_name": {
            "type": "string",
            "default": ""
          },
          "phone": {
            "type": "string",
            "default": ""
          },
          "position": {
            "type": "string",
            "default": ""
          },
          "role_id": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          },
          "all_locations": {
            "type": "boolean",
            "default": false
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocationIdValidationSerializersRequest"
            },
            "default": []
          }
        },
        "required": [
          "email"
        ]
      },
      "ItemMetadataItemRead": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/BillItemsMetadataDocs"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemReadSerializer_v2"
            }
          }
        },
        "required": [
          "data",
          "metadata"
        ]
      },
      "ItemReadSerializer_v2": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "orderitem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderItemRead"
              }
            ],
            "readOnly": true
          },
          "expense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseRead"
              }
            ],
            "nullable": true
          },
          "bill": {
            "type": "integer",
            "nullable": true
          },
          "vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "sku": {
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "maxLength": 1000
          },
          "po": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PODocs"
              }
            ],
            "readOnly": true
          },
          "unit": {
            "type": "string",
            "maxLength": 30
          },
          "quantity": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "title": "Received Quantity"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "total_cost": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "received_on": {
            "type": "string",
            "format": "date-time"
          },
          "packing_slips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "readOnly": true
          },
          "cost_allocations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CostAllocationRead"
            }
          },
          "archived": {
            "type": "boolean"
          },
          "expense_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseReportDocs"
              }
            ],
            "readOnly": true
          },
          "same_unit_cost": {
            "type": "boolean",
            "readOnly": true
          },
          "creditcard_item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreditCardItemDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "is_edited": {
            "type": "boolean",
            "readOnly": true
          },
          "unit_cost_diff_log": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnitCostDiffLogDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "tax_name": {
            "type": "string",
            "maxLength": 30
          },
          "tax_percentage": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,8}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "tax_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "tax_is_inclusive": {
            "type": "boolean"
          },
          "tax": {
            "type": "integer",
            "nullable": true
          },
          "total_cost_with_tax": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "unit_cost": {
            "type": "number",
            "format": "float",
            "readOnly": true
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueRead"
            },
            "readOnly": true
          },
          "item_type": {
            "type": "integer",
            "readOnly": true
          },
          "received_unbilled_quantity": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "bill_by_cost": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "required": [
          "cost_allocations",
          "currency",
          "description",
          "expense",
          "quantity",
          "vendor"
        ]
      },
      "LanguageEnum": {
        "enum": [
          1
        ],
        "type": "integer"
      },
      "ListBillsMetadataDocs": {
        "type": "object",
        "properties": {
          "permissions": {
            "$ref": "#/components/schemas/PermissionsEditDeleteApprove"
          },
          "summary": {
            "$ref": "#/components/schemas/BillSummaryDocs"
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationDocs"
          }
        },
        "required": [
          "pagination",
          "permissions",
          "summary"
        ]
      },
      "LocationCreateUpsertRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 150
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "logo": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "minLength": 1
          },
          "phoneOne": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "maxLength": 20
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true,
            "maxLength": 254
          },
          "primary_billing_address": {
            "$ref": "#/components/schemas/AddressRequest"
          },
          "primary_shipping_address": {
            "$ref": "#/components/schemas/AddressRequest"
          },
          "shipping_addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddressRequest"
            }
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LanguageEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "locationTimezone": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocationTimezoneEnum"
              },
              {
                "$ref": "#/components/schemas/BlankEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "active": {
            "type": "boolean"
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          }
        },
        "required": [
          "currency",
          "name",
          "phoneOne",
          "primary_billing_address",
          "primary_shipping_address",
          "shipping_addresses"
        ]
      },
      "LocationIdValidationSerializersRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "all_departments": {
            "type": "boolean",
            "default": false
          },
          "departments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DepartmentIdValidationRequest"
            },
            "default": []
          }
        },
        "required": [
          "id"
        ]
      },
      "LocationSimple": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "headquarter": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "required": [
          "name"
        ]
      },
      "LocationTimezoneEnum": {
        "enum": [
          "Africa/Abidjan",
          "Africa/Accra",
          "Africa/Addis_Ababa",
          "Africa/Algiers",
          "Africa/Asmara",
          "Africa/Bamako",
          "Africa/Bangui",
          "Africa/Banjul",
          "Africa/Bissau",
          "Africa/Blantyre",
          "Africa/Brazzaville",
          "Africa/Bujumbura",
          "Africa/Cairo",
          "Africa/Casablanca",
          "Africa/Ceuta",
          "Africa/Conakry",
          "Africa/Dakar",
          "Africa/Dar_es_Salaam",
          "Africa/Djibouti",
          "Africa/Douala",
          "Africa/El_Aaiun",
          "Africa/Freetown",
          "Africa/Gaborone",
          "Africa/Harare",
          "Africa/Johannesburg",
          "Africa/Juba",
          "Africa/Kampala",
          "Africa/Khartoum",
          "Africa/Kigali",
          "Africa/Kinshasa",
          "Africa/Lagos",
          "Africa/Libreville",
          "Africa/Lome",
          "Africa/Luanda",
          "Africa/Lubumbashi",
          "Africa/Lusaka",
          "Africa/Malabo",
          "Africa/Maputo",
          "Africa/Maseru",
          "Africa/Mbabane",
          "Africa/Mogadishu",
          "Africa/Monrovia",
          "Africa/Nairobi",
          "Africa/Ndjamena",
          "Africa/Niamey",
          "Africa/Nouakchott",
          "Africa/Ouagadougou",
          "Africa/Porto-Novo",
          "Africa/Sao_Tome",
          "Africa/Tripoli",
          "Africa/Tunis",
          "Africa/Windhoek",
          "America/Adak",
          "America/Anchorage",
          "America/Anguilla",
          "America/Antigua",
          "America/Araguaina",
          "America/Argentina/Buenos_Aires",
          "America/Argentina/Catamarca",
          "America/Argentina/Cordoba",
          "America/Argentina/Jujuy",
          "America/Argentina/La_Rioja",
          "America/Argentina/Mendoza",
          "America/Argentina/Rio_Gallegos",
          "America/Argentina/Salta",
          "America/Argentina/San_Juan",
          "America/Argentina/San_Luis",
          "America/Argentina/Tucuman",
          "America/Argentina/Ushuaia",
          "America/Aruba",
          "America/Asuncion",
          "America/Atikokan",
          "America/Bahia",
          "America/Bahia_Banderas",
          "America/Barbados",
          "America/Belem",
          "America/Belize",
          "America/Blanc-Sablon",
          "America/Boa_Vista",
          "America/Bogota",
          "America/Boise",
          "America/Cambridge_Bay",
          "America/Campo_Grande",
          "America/Cancun",
          "America/Caracas",
          "America/Cayenne",
          "America/Cayman",
          "America/Chicago",
          "America/Chihuahua",
          "America/Costa_Rica",
          "America/Creston",
          "America/Cuiaba",
          "America/Curacao",
          "America/Danmarkshavn",
          "America/Dawson",
          "America/Dawson_Creek",
          "America/Denver",
          "America/Detroit",
          "America/Dominica",
          "America/Edmonton",
          "America/Eirunepe",
          "America/El_Salvador",
          "America/Fort_Nelson",
          "America/Fortaleza",
          "America/Glace_Bay",
          "America/Godthab",
          "America/Goose_Bay",
          "America/Grand_Turk",
          "America/Grenada",
          "America/Guadeloupe",
          "America/Guatemala",
          "America/Guayaquil",
          "America/Guyana",
          "America/Halifax",
          "America/Havana",
          "America/Hermosillo",
          "America/Indiana/Indianapolis",
          "America/Indiana/Knox",
          "America/Indiana/Marengo",
          "America/Indiana/Petersburg",
          "America/Indiana/Tell_City",
          "America/Indiana/Vevay",
          "America/Indiana/Vincennes",
          "America/Indiana/Winamac",
          "America/Inuvik",
          "America/Iqaluit",
          "America/Jamaica",
          "America/Juneau",
          "America/Kentucky/Louisville",
          "America/Kentucky/Monticello",
          "America/Kralendijk",
          "America/La_Paz",
          "America/Lima",
          "America/Los_Angeles",
          "America/Lower_Princes",
          "America/Maceio",
          "America/Managua",
          "America/Manaus",
          "America/Marigot",
          "America/Martinique",
          "America/Matamoros",
          "America/Mazatlan",
          "America/Menominee",
          "America/Merida",
          "America/Metlakatla",
          "America/Mexico_City",
          "America/Miquelon",
          "America/Moncton",
          "America/Monterrey",
          "America/Montevideo",
          "America/Montserrat",
          "America/Nassau",
          "America/New_York",
          "America/Nipigon",
          "America/Nome",
          "America/Noronha",
          "America/North_Dakota/Beulah",
          "America/North_Dakota/Center",
          "America/North_Dakota/New_Salem",
          "America/Ojinaga",
          "America/Panama",
          "America/Pangnirtung",
          "America/Paramaribo",
          "America/Phoenix",
          "America/Port-au-Prince",
          "America/Port_of_Spain",
          "America/Porto_Velho",
          "America/Puerto_Rico",
          "America/Punta_Arenas",
          "America/Rainy_River",
          "America/Rankin_Inlet",
          "America/Recife",
          "America/Regina",
          "America/Resolute",
          "America/Rio_Branco",
          "America/Santarem",
          "America/Santiago",
          "America/Santo_Domingo",
          "America/Sao_Paulo",
          "America/Scoresbysund",
          "America/Sitka",
          "America/St_Barthelemy",
          "America/St_Johns",
          "America/St_Kitts",
          "America/St_Lucia",
          "America/St_Thomas",
          "America/St_Vincent",
          "America/Swift_Current",
          "America/Tegucigalpa",
          "America/Thule",
          "America/Thunder_Bay",
          "America/Tijuana",
          "America/Toronto",
          "America/Tortola",
          "America/Vancouver",
          "America/Whitehorse",
          "America/Winnipeg",
          "America/Yakutat",
          "America/Yellowknife",
          "Antarctica/Casey",
          "Antarctica/Davis",
          "Antarctica/DumontDUrville",
          "Antarctica/Macquarie",
          "Antarctica/Mawson",
          "Antarctica/McMurdo",
          "Antarctica/Palmer",
          "Antarctica/Rothera",
          "Antarctica/Syowa",
          "Antarctica/Troll",
          "Antarctica/Vostok",
          "Arctic/Longyearbyen",
          "Asia/Aden",
          "Asia/Almaty",
          "Asia/Amman",
          "Asia/Anadyr",
          "Asia/Aqtau",
          "Asia/Aqtobe",
          "Asia/Ashgabat",
          "Asia/Atyrau",
          "Asia/Baghdad",
          "Asia/Bahrain",
          "Asia/Baku",
          "Asia/Bangkok",
          "Asia/Barnaul",
          "Asia/Beirut",
          "Asia/Bishkek",
          "Asia/Brunei",
          "Asia/Chita",
          "Asia/Choibalsan",
          "Asia/Colombo",
          "Asia/Damascus",
          "Asia/Dhaka",
          "Asia/Dili",
          "Asia/Dubai",
          "Asia/Dushanbe",
          "Asia/Famagusta",
          "Asia/Gaza",
          "Asia/Hebron",
          "Asia/Ho_Chi_Minh",
          "Asia/Hong_Kong",
          "Asia/Hovd",
          "Asia/Irkutsk",
          "Asia/Jakarta",
          "Asia/Jayapura",
          "Asia/Jerusalem",
          "Asia/Kabul",
          "Asia/Kamchatka",
          "Asia/Karachi",
          "Asia/Kathmandu",
          "Asia/Khandyga",
          "Asia/Kolkata",
          "Asia/Krasnoyarsk",
          "Asia/Kuala_Lumpur",
          "Asia/Kuching",
          "Asia/Kuwait",
          "Asia/Macau",
          "Asia/Magadan",
          "Asia/Makassar",
          "Asia/Manila",
          "Asia/Muscat",
          "Asia/Nicosia",
          "Asia/Novokuznetsk",
          "Asia/Novosibirsk",
          "Asia/Omsk",
          "Asia/Oral",
          "Asia/Phnom_Penh",
          "Asia/Pontianak",
          "Asia/Pyongyang",
          "Asia/Qatar",
          "Asia/Qyzylorda",
          "Asia/Riyadh",
          "Asia/Sakhalin",
          "Asia/Samarkand",
          "Asia/Seoul",
          "Asia/Shanghai",
          "Asia/Singapore",
          "Asia/Srednekolymsk",
          "Asia/Taipei",
          "Asia/Tashkent",
          "Asia/Tbilisi",
          "Asia/Tehran",
          "Asia/Thimphu",
          "Asia/Tokyo",
          "Asia/Tomsk",
          "Asia/Ulaanbaatar",
          "Asia/Urumqi",
          "Asia/Ust-Nera",
          "Asia/Vientiane",
          "Asia/Vladivostok",
          "Asia/Yakutsk",
          "Asia/Yangon",
          "Asia/Yekaterinburg",
          "Asia/Yerevan",
          "Atlantic/Azores",
          "Atlantic/Bermuda",
          "Atlantic/Canary",
          "Atlantic/Cape_Verde",
          "Atlantic/Faroe",
          "Atlantic/Madeira",
          "Atlantic/Reykjavik",
          "Atlantic/South_Georgia",
          "Atlantic/St_Helena",
          "Atlantic/Stanley",
          "Australia/Adelaide",
          "Australia/Brisbane",
          "Australia/Broken_Hill",
          "Australia/Currie",
          "Australia/Darwin",
          "Australia/Eucla",
          "Australia/Hobart",
          "Australia/Lindeman",
          "Australia/Lord_Howe",
          "Australia/Melbourne",
          "Australia/Perth",
          "Australia/Sydney",
          "Canada/Atlantic",
          "Canada/Central",
          "Canada/Eastern",
          "Canada/Mountain",
          "Canada/Newfoundland",
          "Canada/Pacific",
          "Europe/Amsterdam",
          "Europe/Andorra",
          "Europe/Astrakhan",
          "Europe/Athens",
          "Europe/Belgrade",
          "Europe/Berlin",
          "Europe/Bratislava",
          "Europe/Brussels",
          "Europe/Bucharest",
          "Europe/Budapest",
          "Europe/Busingen",
          "Europe/Chisinau",
          "Europe/Copenhagen",
          "Europe/Dublin",
          "Europe/Gibraltar",
          "Europe/Guernsey",
          "Europe/Helsinki",
          "Europe/Isle_of_Man",
          "Europe/Istanbul",
          "Europe/Jersey",
          "Europe/Kaliningrad",
          "Europe/Kiev",
          "Europe/Kirov",
          "Europe/Lisbon",
          "Europe/Ljubljana",
          "Europe/London",
          "Europe/Luxembourg",
          "Europe/Madrid",
          "Europe/Malta",
          "Europe/Mariehamn",
          "Europe/Minsk",
          "Europe/Monaco",
          "Europe/Moscow",
          "Europe/Oslo",
          "Europe/Paris",
          "Europe/Podgorica",
          "Europe/Prague",
          "Europe/Riga",
          "Europe/Rome",
          "Europe/Samara",
          "Europe/San_Marino",
          "Europe/Sarajevo",
          "Europe/Saratov",
          "Europe/Simferopol",
          "Europe/Skopje",
          "Europe/Sofia",
          "Europe/Stockholm",
          "Europe/Tallinn",
          "Europe/Tirane",
          "Europe/Ulyanovsk",
          "Europe/Uzhgorod",
          "Europe/Vaduz",
          "Europe/Vatican",
          "Europe/Vienna",
          "Europe/Vilnius",
          "Europe/Volgograd",
          "Europe/Warsaw",
          "Europe/Zagreb",
          "Europe/Zaporozhye",
          "Europe/Zurich",
          "GMT",
          "Indian/Antananarivo",
          "Indian/Chagos",
          "Indian/Christmas",
          "Indian/Cocos",
          "Indian/Comoro",
          "Indian/Kerguelen",
          "Indian/Mahe",
          "Indian/Maldives",
          "Indian/Mauritius",
          "Indian/Mayotte",
          "Indian/Reunion",
          "Pacific/Apia",
          "Pacific/Auckland",
          "Pacific/Bougainville",
          "Pacific/Chatham",
          "Pacific/Chuuk",
          "Pacific/Easter",
          "Pacific/Efate",
          "Pacific/Enderbury",
          "Pacific/Fakaofo",
          "Pacific/Fiji",
          "Pacific/Funafuti",
          "Pacific/Galapagos",
          "Pacific/Gambier",
          "Pacific/Guadalcanal",
          "Pacific/Guam",
          "Pacific/Honolulu",
          "Pacific/Kiritimati",
          "Pacific/Kosrae",
          "Pacific/Kwajalein",
          "Pacific/Majuro",
          "Pacific/Marquesas",
          "Pacific/Midway",
          "Pacific/Nauru",
          "Pacific/Niue",
          "Pacific/Norfolk",
          "Pacific/Noumea",
          "Pacific/Pago_Pago",
          "Pacific/Palau",
          "Pacific/Pitcairn",
          "Pacific/Pohnpei",
          "Pacific/Port_Moresby",
          "Pacific/Rarotonga",
          "Pacific/Saipan",
          "Pacific/Tahiti",
          "Pacific/Tarawa",
          "Pacific/Tongatapu",
          "Pacific/Wake",
          "Pacific/Wallis",
          "US/Alaska",
          "US/Arizona",
          "US/Central",
          "US/Eastern",
          "US/Hawaii",
          "US/Mountain",
          "US/Pacific",
          "UTC"
        ],
        "type": "string"
      },
      "LocationView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "url": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "maxLength": 200
          },
          "logo": {
            "type": "string"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "phoneOne": {
            "type": "string",
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "maxLength": 20
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true,
            "maxLength": 254
          },
          "primary_billing_address": {
            "$ref": "#/components/schemas/Address"
          },
          "primary_shipping_address": {
            "$ref": "#/components/schemas/Address"
          },
          "shipping_addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            },
            "readOnly": true
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LanguageEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "locationTimezone": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocationTimezoneEnum"
              },
              {
                "$ref": "#/components/schemas/BlankEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "headquarter": {
            "type": "boolean",
            "readOnly": true
          },
          "department_count": {
            "type": "integer",
            "readOnly": true
          },
          "active": {
            "type": "boolean"
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          }
        },
        "required": [
          "currency",
          "name",
          "phoneOne",
          "primary_billing_address",
          "primary_shipping_address"
        ]
      },
      "LocationViewSerializerList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocationView"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "LocationViewSerializerSingleCreate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/LocationView"
          }
        },
        "required": [
          "data"
        ]
      },
      "LocationViewSerializerSingleRetrieve": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/LocationView"
          }
        },
        "required": [
          "data"
        ]
      },
      "MasterLogger": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "user": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "next_approver": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "nextApprover": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "approval_delegation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApprovalDelegationRead"
              }
            ],
            "nullable": true
          },
          "dateTime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "action": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ActionEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "line_qty_pass": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$",
            "nullable": true
          },
          "line_qty_fail": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "nullable": true
          },
          "lineItem": {
            "type": "integer",
            "nullable": true
          },
          "PO": {
            "type": "integer",
            "title": "Procurify PO Number",
            "nullable": true
          },
          "inventoryItem": {
            "type": "integer",
            "nullable": true
          },
          "stocking_parent": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "approval_delegation",
          "nextApprover",
          "next_approver",
          "user"
        ]
      },
      "Nested": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "code": {
            "type": "string",
            "maxLength": 50
          },
          "code_length": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "description": {
            "type": "string",
            "maxLength": 200
          },
          "account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "active": {
            "type": "boolean"
          },
          "parent": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "code",
          "description"
        ]
      },
      "NullEnum": {
        "enum": [
          null
        ]
      },
      "OptimizedVendor": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the vendor",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line 1",
            "description": "First line of address",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "nullable": true,
            "title": "Address line 2",
            "description": "Second line of address",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "description": "Postal or Zip code of the vendor",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City of the vendor",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "description": "State or Province of the vendor",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "Country of the vendor",
            "maxLength": 80
          },
          "phoneOne": {
            "type": "string",
            "nullable": true,
            "description": "Primary phone no. of the vendor",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "description": "Secondary phone no. of the vendor",
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "description": "Fax no. of the vendor",
            "maxLength": 20
          },
          "email": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "comments": {
            "type": "string",
            "nullable": true,
            "description": "Notes about the vendor"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "Contact person of the vendor",
            "maxLength": 50
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "Website of the vendor",
            "maxLength": 200
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id of the vendor",
            "maxLength": 100
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "currency": {
            "type": "integer",
            "nullable": true
          },
          "payment_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentTerm"
              }
            ],
            "nullable": true
          },
          "shipping_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingTerm"
              }
            ],
            "nullable": true
          },
          "payment_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethod"
              }
            ],
            "nullable": true
          },
          "shipping_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingMethod"
              }
            ],
            "nullable": true
          },
          "payment_methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethodRead"
            },
            "readOnly": true
          },
          "tax": {
            "type": "integer",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/VendorTypeEnum"
          },
          "default_payment_method": {
            "type": "integer",
            "nullable": true
          },
          "creditcards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditCard"
            },
            "readOnly": true
          },
          "is_1099_eligible": {
            "type": "boolean",
            "nullable": true,
            "title": "1099 Eligible?"
          },
          "overall_score": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,2}(?:\\.\\d{0,3})?$",
            "nullable": true
          }
        },
        "required": [
          "email",
          "name",
          "overall_score",
          "type"
        ]
      },
      "OptimizedVendorRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Name of the vendor",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line 1",
            "description": "First line of address",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "nullable": true,
            "title": "Address line 2",
            "description": "Second line of address",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "description": "Postal or Zip code of the vendor",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City of the vendor",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "description": "State or Province of the vendor",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "Country of the vendor",
            "maxLength": 80
          },
          "phoneOne": {
            "type": "string",
            "nullable": true,
            "description": "Primary phone no. of the vendor",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "description": "Secondary phone no. of the vendor",
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "description": "Fax no. of the vendor",
            "maxLength": 20
          },
          "email": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email",
              "minLength": 1
            }
          },
          "comments": {
            "type": "string",
            "nullable": true,
            "description": "Notes about the vendor"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "Contact person of the vendor",
            "maxLength": 50
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "Website of the vendor",
            "maxLength": 200
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id of the vendor",
            "maxLength": 100
          },
          "currency": {
            "type": "integer",
            "nullable": true
          },
          "payment_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentTermRequest"
              }
            ],
            "nullable": true
          },
          "shipping_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingTermRequest"
              }
            ],
            "nullable": true
          },
          "payment_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodRequest"
              }
            ],
            "nullable": true
          },
          "shipping_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingMethodRequest"
              }
            ],
            "nullable": true
          },
          "tax": {
            "type": "integer",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/VendorTypeEnum"
          },
          "default_payment_method": {
            "type": "integer",
            "nullable": true
          },
          "is_1099_eligible": {
            "type": "boolean",
            "nullable": true,
            "title": "1099 Eligible?"
          },
          "overall_score": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,2}(?:\\.\\d{0,3})?$",
            "nullable": true
          }
        },
        "required": [
          "email",
          "name",
          "overall_score",
          "type"
        ]
      },
      "OptimizedVendorSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/OptimizedVendor"
          }
        },
        "required": [
          "data"
        ]
      },
      "OrderItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "approved_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "accountCode": {
            "type": "string",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "sku": {
            "type": "string",
            "maxLength": 100
          },
          "vendor": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "quantity": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$"
          },
          "tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "total_cost": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,16}(?:\\.\\d{0,2})?$"
          },
          "unit": {
            "type": "string",
            "maxLength": 30
          },
          "lineComment": {
            "type": "string",
            "nullable": true
          },
          "attachments": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "hot": {
            "type": "boolean"
          },
          "dateInvoiced": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "num": {
            "type": "string",
            "maxLength": 50
          },
          "status": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderItemStatusEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "external_id": {
            "type": "string",
            "description": "External id of the order item",
            "maxLength": 100
          },
          "PO_line_num": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "po_version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "po_note": {
            "type": "string",
            "title": "Comment"
          },
          "receivedPassQty": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$",
            "title": "Received Pass Quantity"
          },
          "receivedFailQty": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$",
            "title": "Received Fail Quantity"
          },
          "approved_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "approved_quantity": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$",
            "nullable": true
          },
          "approved_price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "approved_tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "approved_shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "orderNum": {
            "type": "integer",
            "nullable": true
          },
          "account": {
            "type": "integer"
          },
          "pref_vendor": {
            "type": "integer"
          },
          "currency": {
            "type": "integer"
          },
          "purchaser": {
            "type": "integer",
            "nullable": true
          },
          "purchase_order": {
            "type": "integer",
            "title": "Procurify PO Number",
            "nullable": true
          },
          "catalog_item": {
            "type": "integer",
            "nullable": true
          },
          "inventoryItem": {
            "type": "integer",
            "nullable": true
          },
          "item_attachments": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "PO": {
            "type": "array",
            "items": {
              "type": "integer",
              "title": "PO"
            }
          }
        },
        "required": [
          "account",
          "approved_datetime",
          "currency",
          "name",
          "num",
          "pref_vendor",
          "price",
          "quantity",
          "unit"
        ]
      },
      "OrderItemAttachment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "attachment": {
            "type": "string"
          },
          "upload_datetime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "type": {
            "$ref": "#/components/schemas/OrderItemAttachmentTypeEnum"
          },
          "user": {
            "type": "integer"
          },
          "item": {
            "type": "integer"
          }
        },
        "required": [
          "attachment",
          "item",
          "name",
          "user"
        ]
      },
      "OrderItemAttachmentTypeEnum": {
        "enum": [
          "other",
          "invoice",
          "packingslip"
        ],
        "type": "string"
      },
      "OrderItemPurchaseEditRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "sku": {
            "type": "string",
            "maxLength": 100
          },
          "unit": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30
          },
          "quantity": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$"
          },
          "price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "po_note": {
            "type": "string",
            "title": "Comment"
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          }
        },
        "required": [
          "custom_fields",
          "id",
          "name",
          "price",
          "quantity",
          "unit"
        ]
      },
      "OrderItemRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "approved_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "order_uuid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "vendor": {
            "type": "string",
            "readOnly": true
          },
          "date_required": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "order_description": {
            "type": "string",
            "readOnly": true
          },
          "submitted_date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "requester": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleUserSummary"
              }
            ],
            "readOnly": true
          },
          "order_status": {
            "type": "integer",
            "readOnly": true
          },
          "purchaser": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "account": {
            "$ref": "#/components/schemas/AccountRead"
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencySummary"
          },
          "purchased_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "readOnly": true,
            "default": "0.000000"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Comment"
            },
            "readOnly": true
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MasterLogger"
            },
            "readOnly": true
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueRead"
            },
            "readOnly": true
          },
          "line_comment": {
            "type": "string",
            "readOnly": true
          },
          "has_sibling_items": {
            "type": "boolean",
            "readOnly": true
          },
          "quantity": {
            "type": "number",
            "format": "float"
          },
          "receivedPassQty": {
            "type": "number",
            "format": "float"
          },
          "receivedFailQty": {
            "type": "number",
            "format": "float"
          },
          "approved_quantity": {
            "type": "number",
            "format": "float"
          },
          "catalog_item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CatalogItemRead"
              }
            ],
            "nullable": true
          },
          "item_attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            }
          },
          "purchase_order_uuid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "purchase_order_number": {
            "type": "string",
            "readOnly": true
          },
          "punchout_system": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "spend_allocation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationRead"
            },
            "readOnly": true
          },
          "confirmation_status": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "confirmation_status_description": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "recurrence": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecurringOrderItem"
              }
            ],
            "nullable": true
          },
          "punchout_supplier_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "punchout_supplier_icon": {
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "punchout_vendor_reference": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "accountCode": {
            "type": "string",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "sku": {
            "type": "string",
            "maxLength": 100
          },
          "tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "total_cost": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,16}(?:\\.\\d{0,2})?$"
          },
          "unit": {
            "type": "string",
            "maxLength": 30
          },
          "lineComment": {
            "type": "string",
            "nullable": true
          },
          "attachments": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "hot": {
            "type": "boolean"
          },
          "dateInvoiced": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "num": {
            "type": "string",
            "maxLength": 50
          },
          "status": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderItemStatusEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "external_id": {
            "type": "string",
            "description": "External id of the order item",
            "maxLength": 100
          },
          "PO_line_num": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "po_version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "po_note": {
            "type": "string",
            "title": "Comment"
          },
          "approved_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "approved_price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "approved_tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "approved_shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "orderNum": {
            "type": "integer",
            "nullable": true
          },
          "purchase_order": {
            "type": "integer",
            "title": "Procurify PO Number",
            "nullable": true
          },
          "inventoryItem": {
            "type": "integer",
            "nullable": true
          },
          "PO": {
            "type": "array",
            "items": {
              "type": "integer",
              "title": "PO"
            }
          }
        },
        "required": [
          "account",
          "approved_datetime",
          "approved_quantity",
          "catalog_item",
          "currency",
          "item_attachments",
          "name",
          "num",
          "pref_vendor",
          "price",
          "purchaser",
          "quantity",
          "receivedFailQty",
          "receivedPassQty",
          "recurrence",
          "unit"
        ]
      },
      "OrderItemStatusEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8
        ],
        "type": "integer"
      },
      "OrderRead": {
        "type": "object",
        "properties": {
          "num": {
            "type": "integer",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "branch": {
            "$ref": "#/components/schemas/Branch"
          },
          "user": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "department": {
            "$ref": "#/components/schemas/DepartmentSummary"
          },
          "currency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencySummary"
              }
            ],
            "readOnly": true
          },
          "total_cost_in_base_currency": {
            "type": "number",
            "format": "float",
            "readOnly": true
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MasterLogger"
            }
          },
          "item_count": {
            "type": "integer",
            "readOnly": true
          },
          "ip_address": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "dateRequired": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "lineCount": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "nullable": true
          },
          "purchasedCount": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "totalPrice": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,14}(?:\\.\\d{0,2})?$",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderStatusEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "next_approver": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "approval_delegatee": {
            "type": "integer",
            "nullable": true
          },
          "punchout_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PunchOutReadDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "punchout_shipping_address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AddressDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "punchout_items_rejected": {
            "type": "boolean",
            "readOnly": true
          },
          "punchout_supplier_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "punchout_supplier_icon": {
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "punchout_vendor_reference": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "branch",
          "dateRequired",
          "department",
          "logs",
          "next_approver",
          "user",
          "uuid"
        ]
      },
      "OrderStatusEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer"
      },
      "PODocs": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "uuid": {
            "type": "string"
          }
        }
      },
      "POWithListPurchaseOrderDocs": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/PurchaseOrderListMeta"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseOrderDocs"
            }
          }
        },
        "required": [
          "data",
          "metadata"
        ]
      },
      "PaginatedAccountCodeReadList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountCodeRead"
            }
          }
        }
      },
      "PaginatedCatalogItemBundleReadList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CatalogItemBundleRead"
            }
          }
        }
      },
      "PaginatedCatalogItemReadList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CatalogItemRead"
            }
          }
        }
      },
      "PaginatedChartOfAccountsAccountList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChartOfAccountsAccount"
            }
          }
        }
      },
      "PaginatedCompanyPaymentMethodReadList": {
        "type": "object",
        "properties": {
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "example": 10
              },
              "next": {
                "type": "string",
                "nullable": true,
                "format": "uri",
                "example": null
              },
              "previous": {
                "type": "string",
                "nullable": true,
                "format": "uri",
                "example": null
              },
              "page_size": {
                "type": "integer",
                "example": 10
              },
              "num_pages": {
                "type": "integer",
                "example": 1
              },
              "current_page": {
                "type": "integer",
                "example": 1
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompanyPaymentMethodRead"
            }
          }
        }
      },
      "PaginatedCurrencyList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Currency"
            }
          }
        }
      },
      "PaginatedCustomFieldReadList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldRead"
            }
          }
        }
      },
      "PaginatedDepartmentReadList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DepartmentRead"
            }
          }
        }
      },
      "PaginatedLocationViewSerializerListList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocationViewSerializerList"
            }
          }
        }
      },
      "PaginatedOptimizedVendorList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizedVendor"
            }
          }
        }
      },
      "PaginatedOrderItemList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItem"
            }
          }
        }
      },
      "PaginatedOrderReadList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderRead"
            }
          }
        }
      },
      "PaginatedPermissionGroupList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionGroup"
            }
          }
        }
      },
      "PaginatedPermissionReadList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionRead"
            }
          }
        }
      },
      "PaginatedUserProfileUnoptimizedList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "example": 10
                  },
                  "next": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "previous": {
                    "type": "string",
                    "nullable": true,
                    "format": "uri",
                    "example": null
                  },
                  "page_size": {
                    "type": "integer",
                    "example": 10
                  },
                  "num_pages": {
                    "type": "integer",
                    "example": 1
                  },
                  "current_page": {
                    "type": "integer",
                    "example": 1
                  }
                }
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserProfileUnoptimized"
            }
          }
        }
      },
      "PaginatedVendorPaymentMethodReadList": {
        "type": "object",
        "properties": {
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "example": 10
              },
              "next": {
                "type": "string",
                "nullable": true,
                "format": "uri",
                "example": null
              },
              "previous": {
                "type": "string",
                "nullable": true,
                "format": "uri",
                "example": null
              },
              "page_size": {
                "type": "integer",
                "example": 10
              },
              "num_pages": {
                "type": "integer",
                "example": 1
              },
              "current_page": {
                "type": "integer",
                "example": 1
              }
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VendorPaymentMethodRead"
            }
          }
        }
      },
      "PaginationDocs": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "next": {
            "type": "string",
            "nullable": true
          },
          "previous": {
            "type": "string",
            "nullable": true
          },
          "page_size": {
            "type": "integer"
          },
          "num_pages": {
            "type": "integer"
          },
          "current_page": {
            "type": "integer"
          }
        },
        "required": [
          "count",
          "current_page",
          "next",
          "num_pages",
          "page_size",
          "previous"
        ]
      },
      "PatchedOptimizedVendorRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Name of the vendor",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line 1",
            "description": "First line of address",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "nullable": true,
            "title": "Address line 2",
            "description": "Second line of address",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "description": "Postal or Zip code of the vendor",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City of the vendor",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "description": "State or Province of the vendor",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "Country of the vendor",
            "maxLength": 80
          },
          "phoneOne": {
            "type": "string",
            "nullable": true,
            "description": "Primary phone no. of the vendor",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "description": "Secondary phone no. of the vendor",
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "description": "Fax no. of the vendor",
            "maxLength": 20
          },
          "email": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email",
              "minLength": 1
            }
          },
          "comments": {
            "type": "string",
            "nullable": true,
            "description": "Notes about the vendor"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "Contact person of the vendor",
            "maxLength": 50
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "Website of the vendor",
            "maxLength": 200
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id of the vendor",
            "maxLength": 100
          },
          "currency": {
            "type": "integer",
            "nullable": true
          },
          "payment_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentTermRequest"
              }
            ],
            "nullable": true
          },
          "shipping_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingTermRequest"
              }
            ],
            "nullable": true
          },
          "payment_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodRequest"
              }
            ],
            "nullable": true
          },
          "shipping_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingMethodRequest"
              }
            ],
            "nullable": true
          },
          "tax": {
            "type": "integer",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/VendorTypeEnum"
          },
          "default_payment_method": {
            "type": "integer",
            "nullable": true
          },
          "is_1099_eligible": {
            "type": "boolean",
            "nullable": true,
            "title": "1099 Eligible?"
          },
          "overall_score": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,2}(?:\\.\\d{0,3})?$",
            "nullable": true
          }
        }
      },
      "PaymentListRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "bill_payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillPaymentDocs"
            },
            "nullable": true,
            "readOnly": true
          },
          "payment_method_type": {
            "type": "integer",
            "readOnly": true
          },
          "payment_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CompanyPaymentMethodRead"
              }
            ],
            "nullable": true
          },
          "payment_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "total_amount_with_tax": {
            "type": "string",
            "readOnly": true
          },
          "tax_amount": {
            "type": "string",
            "readOnly": true
          },
          "inclusive_tax_amount": {
            "type": "string",
            "readOnly": true
          },
          "exclusive_tax_amount": {
            "type": "string",
            "readOnly": true
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderItemStatusEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "ach_number": {
            "type": "integer",
            "readOnly": true
          },
          "next_approver_choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApproverRead"
            },
            "readOnly": true
          }
        },
        "required": [
          "currency",
          "payment_method"
        ]
      },
      "PaymentMetadataDocs": {
        "type": "object",
        "properties": {
          "permissions": {
            "$ref": "#/components/schemas/PermissionsEditDeleteApprove"
          },
          "summary": {
            "$ref": "#/components/schemas/PaymentSummaryDocs"
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationDocs"
          }
        },
        "required": [
          "pagination",
          "permissions",
          "summary"
        ]
      },
      "PaymentMetadataPaymentListRead": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/PaymentMetadataDocs"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentListRead"
            }
          }
        },
        "required": [
          "data",
          "metadata"
        ]
      },
      "PaymentMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "PaymentMethodDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "vendor": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "string"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          }
        },
        "required": [
          "currency",
          "vendor"
        ]
      },
      "PaymentMethodRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          }
        },
        "required": [
          "currency",
          "data"
        ]
      },
      "PaymentMethodReadRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyRequest"
          }
        },
        "required": [
          "currency",
          "data"
        ]
      },
      "PaymentMethodRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "PaymentMethodTypeEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer"
      },
      "PaymentSimpleDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "user": {
            "type": "integer",
            "title": "Payment User"
          },
          "approver": {
            "type": "integer",
            "nullable": true,
            "title": "Current Approver"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderItemStatusEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "currency": {
            "type": "integer"
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "payment_method": {
            "type": "integer",
            "nullable": true
          },
          "payment_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "memo": {
            "type": "string",
            "maxLength": 255
          },
          "reference_number": {
            "type": "string",
            "maxLength": 255
          },
          "is_processed": {
            "type": "boolean"
          }
        },
        "required": [
          "currency",
          "user"
        ]
      },
      "PaymentSummaryDocs": {
        "type": "object",
        "properties": {
          "total_cost": {
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "total_cost"
        ]
      },
      "PaymentTerm": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "PaymentTermRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "PendingApprovalsCountDocs": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer"
          },
          "expense": {
            "type": "integer"
          },
          "travel": {
            "type": "integer"
          },
          "bill": {
            "type": "integer"
          },
          "payment": {
            "type": "integer"
          }
        },
        "required": [
          "bill",
          "expense",
          "order",
          "payment",
          "travel"
        ]
      },
      "PermissionGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "user_count": {
            "type": "integer",
            "readOnly": true
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionRead"
            },
            "readOnly": true
          },
          "type": {
            "type": "integer"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "PermissionRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "codename": {
            "type": "string",
            "maxLength": 100
          }
        },
        "required": [
          "codename"
        ]
      },
      "PermissionsApprove": {
        "type": "object",
        "properties": {
          "can_approve": {
            "type": "boolean"
          }
        }
      },
      "PermissionsEditDelete": {
        "type": "object",
        "properties": {
          "can_edit": {
            "type": "boolean"
          },
          "can_delete": {
            "type": "boolean"
          }
        },
        "required": [
          "can_delete",
          "can_edit"
        ]
      },
      "PermissionsEditDeleteApprove": {
        "type": "object",
        "properties": {
          "can_edit": {
            "type": "boolean"
          },
          "can_delete": {
            "type": "boolean"
          },
          "can_approve": {
            "type": "boolean"
          }
        },
        "required": [
          "can_approve",
          "can_delete",
          "can_edit"
        ]
      },
      "PriceModifierDocs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "float"
          },
          "type": {
            "$ref": "#/components/schemas/PriceModifierDocsTypeEnum"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "PriceModifierDocsTypeEnum": {
        "enum": [
          "amount",
          "percentage"
        ],
        "type": "string"
      },
      "ProcurifyDomain": {
        "type": "object",
        "properties": {
          "subdomain": {
            "type": "string",
            "maxLength": 200
          },
          "name": {
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "name",
          "subdomain"
        ]
      },
      "PunchOutReadDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "PurchaseOrderCountsBreakdown": {
        "type": "object",
        "properties": {
          "all": {
            "type": "integer"
          },
          "open": {
            "type": "integer"
          },
          "partial": {
            "type": "integer"
          },
          "closed": {
            "type": "integer"
          },
          "cancelled": {
            "type": "integer"
          },
          "page": {
            "type": "integer"
          }
        },
        "required": [
          "all",
          "cancelled",
          "closed",
          "open",
          "page",
          "partial"
        ]
      },
      "PurchaseOrderCountsMeta": {
        "type": "object",
        "properties": {
          "purchased": {
            "$ref": "#/components/schemas/PurchaseOrderCountsBreakdown"
          },
          "receivable": {
            "$ref": "#/components/schemas/PurchaseOrderCountsBreakdown"
          }
        }
      },
      "PurchaseOrderDetail": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "purchaser": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "procurify_PO": {
            "type": "integer",
            "readOnly": true,
            "title": "Procurify PO Number"
          },
          "PO_Num": {
            "type": "string",
            "nullable": true,
            "title": "PO Number",
            "maxLength": 30
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "title": "PO Date"
          },
          "buyer_name": {
            "type": "string",
            "maxLength": 100
          },
          "buyer_contact": {
            "type": "string",
            "maxLength": 100
          },
          "buyer_addressLineOne": {
            "type": "string",
            "title": "Address line",
            "maxLength": 300
          },
          "buyer_postalCode": {
            "type": "string",
            "title": "Postal Code",
            "maxLength": 20
          },
          "buyer_city": {
            "type": "string",
            "maxLength": 50
          },
          "buyer_state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "buyer_country": {
            "type": "string",
            "title": "Country",
            "maxLength": 80
          },
          "buyer_address": {
            "$ref": "#/components/schemas/AddressSummary"
          },
          "receiver_name": {
            "type": "string",
            "maxLength": 100
          },
          "receiver_contact": {
            "type": "string",
            "maxLength": 100
          },
          "receiver_addressLineOne": {
            "type": "string",
            "title": "Address line",
            "maxLength": 300
          },
          "receiver_postalCode": {
            "type": "string",
            "title": "Postal Code",
            "maxLength": 20
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 50
          },
          "receiver_state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "receiver_country": {
            "type": "string",
            "title": "Country",
            "maxLength": 80
          },
          "receiver_address": {
            "$ref": "#/components/schemas/AddressSummary"
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "vendor_name": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "vendor_contact": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "vendor_addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line",
            "maxLength": 300
          },
          "vendor_postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "maxLength": 20
          },
          "vendor_city": {
            "type": "string",
            "nullable": true,
            "maxLength": 50
          },
          "vendor_state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "maxLength": 40
          },
          "vendor_country": {
            "type": "string",
            "nullable": true,
            "title": "Country",
            "maxLength": 80
          },
          "payment_terms": {
            "type": "string",
            "maxLength": 100
          },
          "shipping_terms": {
            "type": "string",
            "maxLength": 100
          },
          "shipping_method": {
            "$ref": "#/components/schemas/ShippingMethod"
          },
          "promise_date": {
            "type": "string",
            "format": "date-time"
          },
          "subtotal": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$"
          },
          "freight": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "tax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriceModifierDocs"
              }
            ],
            "readOnly": true
          },
          "discount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriceModifierDocs"
              }
            ],
            "readOnly": true
          },
          "other": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "total": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$",
            "title": "Total Cost"
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "title": "Notes"
          },
          "purchased_currency": {
            "$ref": "#/components/schemas/CurrencySummary"
          },
          "purchased_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "state": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PurchaseOrderStateEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "fulfilment_status": {
            "$ref": "#/components/schemas/FulfilmentStatusEnum"
          },
          "disclaimer_description": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "disclaimer_text": {
            "type": "string",
            "nullable": true
          },
          "recorded_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "closed_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "staged_for_export": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "item_count": {
            "type": "integer",
            "readOnly": true
          },
          "most_recent_version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true
          },
          "punchout_system": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "purchase_agreement": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "purchase_agreement_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "readOnly": true,
            "nullable": true
          },
          "punchout_vendor_reference": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "punchout_supplier_icon": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "punchout_supplier_name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "order_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseOrderLineItemRead"
            }
          },
          "creditcard_is_editable": {
            "type": "boolean"
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueRead"
            },
            "readOnly": true
          },
          "creditcard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreditCardRead"
              }
            ],
            "nullable": true
          },
          "payment_term": {
            "$ref": "#/components/schemas/PaymentTerm"
          },
          "shipping_term": {
            "$ref": "#/components/schemas/ShippingTerm"
          }
        },
        "required": [
          "buyer_address",
          "buyer_addressLineOne",
          "buyer_city",
          "buyer_contact",
          "buyer_country",
          "buyer_name",
          "buyer_postalCode",
          "creditcard",
          "creditcard_is_editable",
          "order_items",
          "payment_term",
          "payment_terms",
          "pref_vendor",
          "promise_date",
          "purchased_currency",
          "purchaser",
          "receiver_address",
          "receiver_addressLineOne",
          "receiver_city",
          "receiver_contact",
          "receiver_country",
          "receiver_name",
          "receiver_postalCode",
          "shipping_method",
          "shipping_term",
          "shipping_terms",
          "subtotal",
          "total",
          "uuid"
        ]
      },
      "PurchaseOrderDetailSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/PurchaseOrderDetail"
          }
        },
        "required": [
          "data"
        ]
      },
      "PurchaseOrderDocs": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "purchaser": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "procurify_PO": {
            "type": "integer",
            "readOnly": true,
            "title": "Procurify PO Number"
          },
          "PO_Num": {
            "type": "string",
            "nullable": true,
            "title": "PO Number",
            "maxLength": 30
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "title": "PO Date"
          },
          "buyer_name": {
            "type": "string",
            "maxLength": 100
          },
          "buyer_contact": {
            "type": "string",
            "maxLength": 100
          },
          "buyer_addressLineOne": {
            "type": "string",
            "title": "Address line",
            "maxLength": 300
          },
          "buyer_postalCode": {
            "type": "string",
            "title": "Postal Code",
            "maxLength": 20
          },
          "buyer_city": {
            "type": "string",
            "maxLength": 50
          },
          "buyer_state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "buyer_country": {
            "type": "string",
            "title": "Country",
            "maxLength": 80
          },
          "buyer_address": {
            "$ref": "#/components/schemas/AddressSummary"
          },
          "receiver_name": {
            "type": "string",
            "maxLength": 100
          },
          "receiver_contact": {
            "type": "string",
            "maxLength": 100
          },
          "receiver_addressLineOne": {
            "type": "string",
            "title": "Address line",
            "maxLength": 300
          },
          "receiver_postalCode": {
            "type": "string",
            "title": "Postal Code",
            "maxLength": 20
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 50
          },
          "receiver_state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "receiver_country": {
            "type": "string",
            "title": "Country",
            "maxLength": 80
          },
          "receiver_address": {
            "$ref": "#/components/schemas/AddressSummary"
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "vendor_name": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "vendor_contact": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "vendor_addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line",
            "maxLength": 300
          },
          "vendor_postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "maxLength": 20
          },
          "vendor_city": {
            "type": "string",
            "nullable": true,
            "maxLength": 50
          },
          "vendor_state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "maxLength": 40
          },
          "vendor_country": {
            "type": "string",
            "nullable": true,
            "title": "Country",
            "maxLength": 80
          },
          "payment_terms": {
            "type": "string",
            "maxLength": 100
          },
          "shipping_terms": {
            "type": "string",
            "maxLength": 100
          },
          "shipping_method": {
            "type": "string",
            "title": "Ship Via",
            "maxLength": 100
          },
          "promise_date": {
            "type": "string",
            "format": "date-time"
          },
          "subtotal": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$"
          },
          "freight": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "tax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriceModifierDocs"
              }
            ],
            "readOnly": true
          },
          "discount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriceModifierDocs"
              }
            ],
            "readOnly": true
          },
          "other": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "total": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$",
            "title": "Total Cost"
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "title": "Notes"
          },
          "purchased_currency": {
            "$ref": "#/components/schemas/CurrencySummary"
          },
          "purchased_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "state": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PurchaseOrderStateEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "fulfilment_status": {
            "$ref": "#/components/schemas/FulfilmentStatusEnum"
          },
          "disclaimer_description": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "disclaimer_text": {
            "type": "string",
            "nullable": true
          },
          "recorded_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "closed_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "staged_for_export": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "item_count": {
            "type": "integer",
            "readOnly": true
          },
          "most_recent_version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true
          },
          "punchout_system": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "purchase_agreement": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "purchase_agreement_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "readOnly": true,
            "nullable": true
          },
          "punchout_vendor_reference": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "punchout_supplier_icon": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "punchout_supplier_name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "buyer_address",
          "buyer_addressLineOne",
          "buyer_city",
          "buyer_contact",
          "buyer_country",
          "buyer_name",
          "buyer_postalCode",
          "payment_terms",
          "pref_vendor",
          "promise_date",
          "purchased_currency",
          "purchaser",
          "receiver_address",
          "receiver_addressLineOne",
          "receiver_city",
          "receiver_contact",
          "receiver_country",
          "receiver_name",
          "receiver_postalCode",
          "shipping_method",
          "shipping_terms",
          "subtotal",
          "total",
          "uuid"
        ]
      },
      "PurchaseOrderLineItemRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "approved_datetime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "order_uuid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/VendorRead"
          },
          "vendor": {
            "type": "string",
            "readOnly": true
          },
          "date_required": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "order_description": {
            "type": "string",
            "readOnly": true
          },
          "submitted_date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "requester": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleUserSummary"
              }
            ],
            "readOnly": true
          },
          "order_status": {
            "type": "integer",
            "readOnly": true
          },
          "purchaser": {
            "$ref": "#/components/schemas/UserSummary"
          },
          "account": {
            "$ref": "#/components/schemas/AccountRead"
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencySummary"
          },
          "purchased_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "readOnly": true,
            "default": "0.000000"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Comment"
            },
            "readOnly": true
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MasterLogger"
            },
            "readOnly": true
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueRead"
            },
            "readOnly": true
          },
          "line_comment": {
            "type": "string",
            "readOnly": true
          },
          "has_sibling_items": {
            "type": "boolean",
            "readOnly": true
          },
          "quantity": {
            "type": "number",
            "format": "float"
          },
          "receivedPassQty": {
            "type": "number",
            "format": "float"
          },
          "receivedFailQty": {
            "type": "number",
            "format": "float"
          },
          "approved_quantity": {
            "type": "number",
            "format": "float"
          },
          "catalog_item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CatalogItemRead"
              }
            ],
            "nullable": true
          },
          "item_attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            }
          },
          "purchase_order_uuid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "purchase_order_number": {
            "type": "string",
            "readOnly": true
          },
          "punchout_system": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "spend_allocation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationRead"
            },
            "readOnly": true
          },
          "confirmation_status": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "confirmation_status_description": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "recurrence": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecurringOrderItem"
              }
            ],
            "nullable": true
          },
          "punchout_supplier_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "punchout_supplier_icon": {
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "punchout_vendor_reference": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItemAttachment"
            },
            "nullable": true
          },
          "receive_log_count": {
            "type": "integer",
            "readOnly": true
          },
          "approval_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MasterLogger"
            },
            "readOnly": true
          },
          "flags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlagRead"
            },
            "readOnly": true
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "accountCode": {
            "type": "string",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "sku": {
            "type": "string",
            "maxLength": 100
          },
          "tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "total_cost": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,16}(?:\\.\\d{0,2})?$"
          },
          "unit": {
            "type": "string",
            "maxLength": 30
          },
          "lineComment": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "hot": {
            "type": "boolean"
          },
          "dateInvoiced": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "num": {
            "type": "string",
            "maxLength": 50
          },
          "status": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderItemStatusEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "external_id": {
            "type": "string",
            "description": "External id of the order item",
            "maxLength": 100
          },
          "PO_line_num": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "po_version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "po_note": {
            "type": "string",
            "title": "Comment"
          },
          "approved_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "approved_price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "approved_tax_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "approved_shipping_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$",
            "nullable": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "orderNum": {
            "type": "integer",
            "nullable": true
          },
          "purchase_order": {
            "type": "integer",
            "title": "Procurify PO Number",
            "nullable": true
          },
          "inventoryItem": {
            "type": "integer",
            "nullable": true
          },
          "PO": {
            "type": "array",
            "items": {
              "type": "integer",
              "title": "PO"
            }
          }
        },
        "required": [
          "account",
          "approved_datetime",
          "approved_quantity",
          "attachments",
          "catalog_item",
          "currency",
          "item_attachments",
          "name",
          "num",
          "pref_vendor",
          "price",
          "purchaser",
          "quantity",
          "receivedFailQty",
          "receivedPassQty",
          "recurrence",
          "unit"
        ]
      },
      "PurchaseOrderListMeta": {
        "type": "object",
        "properties": {
          "counts": {
            "$ref": "#/components/schemas/PurchaseOrderCountsMeta"
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationDocs"
          }
        },
        "required": [
          "counts",
          "pagination"
        ]
      },
      "PurchaseOrderRead": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "purchaser": {
            "$ref": "#/components/schemas/SimpleUserSummary"
          },
          "vendor_name": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          }
        },
        "required": [
          "purchaser",
          "uuid"
        ]
      },
      "PurchaseOrderReadDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "PO_Num": {
            "type": "string",
            "nullable": true,
            "title": "PO Number",
            "maxLength": 30
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "title": "PO Date"
          },
          "discount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriceModifierDocs"
              }
            ],
            "readOnly": true
          },
          "freight": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "fulfilment_status": {
            "$ref": "#/components/schemas/FulfilmentStatusEnum"
          },
          "item_count": {
            "type": "integer",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "number": {
            "type": "string"
          },
          "other": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/SimpleVendor"
          },
          "procurify_PO": {
            "type": "integer",
            "readOnly": true,
            "title": "Procurify PO Number"
          },
          "promise_date": {
            "type": "string",
            "format": "date-time"
          },
          "punchout_system": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "purchase_agreement": {
            "type": "integer",
            "nullable": true
          },
          "purchase_agreement_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "readOnly": true,
            "nullable": true
          },
          "purchased_currency": {
            "$ref": "#/components/schemas/SimpleCurrency"
          },
          "purchased_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "purchaser": {
            "$ref": "#/components/schemas/SimpleUser"
          },
          "state": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PurchaseOrderStateEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "subtotal": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$"
          },
          "total": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$",
            "title": "Total Cost"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "punchout_items_rejected": {
            "type": "boolean",
            "readOnly": true
          },
          "total_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "currency": {
            "type": "string"
          },
          "email_status": {
            "type": "string",
            "nullable": true,
            "maxLength": 50
          },
          "email_status_updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "punchout_supplier_name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "punchout_supplier_icon": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "punchout_vendor_reference": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "currency",
          "id",
          "number",
          "pref_vendor",
          "promise_date",
          "purchased_currency",
          "purchaser",
          "subtotal",
          "total",
          "total_amount",
          "uuid"
        ]
      },
      "PurchaseOrderReadDocsSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/PurchaseOrderReadDocs"
          }
        },
        "required": [
          "data"
        ]
      },
      "PurchaseOrderStateEnum": {
        "enum": [
          0,
          1,
          3,
          4,
          5
        ],
        "type": "integer"
      },
      "PurchaseOrderUpdateRequest": {
        "type": "object",
        "properties": {
          "order_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItemPurchaseEditRequest"
            }
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            },
            "writeOnly": true,
            "default": []
          },
          "PO_Num": {
            "type": "string",
            "nullable": true,
            "title": "PO Number",
            "maxLength": 30
          },
          "buyer_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "buyer_contact": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "buyer_addressLineOne": {
            "type": "string",
            "minLength": 1,
            "title": "Address line",
            "maxLength": 300
          },
          "buyer_postalCode": {
            "type": "string",
            "minLength": 1,
            "title": "Postal Code",
            "maxLength": 20
          },
          "buyer_city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "buyer_state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "buyer_country": {
            "type": "string",
            "minLength": 1,
            "title": "Country",
            "maxLength": 80
          },
          "buyer_address": {
            "type": "integer"
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "title": "Notes"
          },
          "receiver_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "receiver_contact": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "receiver_addressLineOne": {
            "type": "string",
            "minLength": 1,
            "title": "Address line",
            "maxLength": 300
          },
          "receiver_postalCode": {
            "type": "string",
            "minLength": 1,
            "title": "Postal Code",
            "maxLength": 20
          },
          "receiver_city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "receiver_state_province": {
            "type": "string",
            "title": "State/Province",
            "maxLength": 40
          },
          "receiver_country": {
            "type": "string",
            "minLength": 1,
            "title": "Country",
            "maxLength": 80
          },
          "receiver_address": {
            "type": "integer"
          },
          "promise_date": {
            "type": "string",
            "format": "date-time"
          },
          "freight": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "discount": {
            "type": "object",
            "additionalProperties": {}
          },
          "tax": {
            "type": "object",
            "additionalProperties": {}
          },
          "other": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "disclaimer_description": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "disclaimer_text": {
            "type": "string",
            "nullable": true
          },
          "payment_term_ref": {
            "type": "integer",
            "nullable": true
          },
          "shipping_term_ref": {
            "type": "integer",
            "nullable": true
          },
          "payment_method_ref": {
            "type": "integer",
            "nullable": true
          },
          "shipping_method_ref": {
            "type": "integer",
            "nullable": true
          },
          "creditcard": {
            "type": "integer",
            "nullable": true
          },
          "version": {
            "type": "integer"
          }
        },
        "required": [
          "buyer_address",
          "buyer_addressLineOne",
          "buyer_city",
          "buyer_contact",
          "buyer_country",
          "buyer_name",
          "buyer_postalCode",
          "discount",
          "order_items",
          "promise_date",
          "receiver_address",
          "receiver_addressLineOne",
          "receiver_city",
          "receiver_contact",
          "receiver_country",
          "receiver_name",
          "receiver_postalCode",
          "tax",
          "version"
        ]
      },
      "PurchaseOrderV3Read": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "PO_Num": {
            "type": "string",
            "nullable": true,
            "title": "PO Number",
            "maxLength": 30
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "title": "PO Date"
          },
          "discount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriceModifierDocs"
              }
            ],
            "readOnly": true
          },
          "freight": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "fulfilment_status": {
            "$ref": "#/components/schemas/FulfilmentStatusEnum"
          },
          "item_count": {
            "type": "integer",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "number": {
            "type": "string"
          },
          "other": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "pref_vendor": {
            "$ref": "#/components/schemas/SimpleVendor"
          },
          "procurify_PO": {
            "type": "integer",
            "readOnly": true,
            "title": "Procurify PO Number"
          },
          "promise_date": {
            "type": "string",
            "format": "date-time"
          },
          "punchout_system": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "purchase_agreement": {
            "type": "integer",
            "nullable": true
          },
          "purchase_agreement_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "readOnly": true,
            "nullable": true
          },
          "purchased_currency": {
            "$ref": "#/components/schemas/SimpleCurrency"
          },
          "purchased_currency_rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$",
            "nullable": true
          },
          "purchaser": {
            "$ref": "#/components/schemas/SimpleUser"
          },
          "state": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PurchaseOrderStateEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "subtotal": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$"
          },
          "total": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,17}(?:\\.\\d{0,2})?$",
            "title": "Total Cost"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "punchout_items_rejected": {
            "type": "boolean",
            "readOnly": true
          },
          "total_amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,2})?$"
          },
          "currency": {
            "type": "string"
          },
          "email_status": {
            "type": "string",
            "nullable": true,
            "maxLength": 50
          },
          "email_status_updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "punchout_supplier_name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "punchout_supplier_icon": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "punchout_vendor_reference": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "currency",
          "id",
          "number",
          "pref_vendor",
          "promise_date",
          "purchased_currency",
          "purchaser",
          "subtotal",
          "total",
          "total_amount",
          "uuid"
        ]
      },
      "RecurringOrderItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "start_date": {
            "type": "string",
            "format": "date"
          },
          "frequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZeroOneEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "duration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZeroOneEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "duration_quantity": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 1,
            "format": "int64"
          },
          "recurring_price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "periods_count": {
            "type": "integer",
            "readOnly": true
          }
        },
        "required": [
          "duration",
          "duration_quantity",
          "frequency",
          "recurring_price"
        ]
      },
      "RequisitionCreateRequest": {
        "type": "object",
        "properties": {
          "required_date": {
            "type": "string",
            "format": "date"
          },
          "location_name": {
            "type": "string",
            "minLength": 1
          },
          "department_name": {
            "type": "string",
            "minLength": 1
          },
          "line_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequisitionLineCreateRequest"
            }
          }
        },
        "required": [
          "department_name",
          "line_items",
          "location_name",
          "required_date"
        ]
      },
      "RequisitionCustomFieldRequest": {
        "type": "object",
        "properties": {
          "custom_field_name": {
            "type": "string",
            "minLength": 1
          },
          "custom_field_value": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "custom_field_name",
          "custom_field_value"
        ]
      },
      "RequisitionLineCreateRequest": {
        "type": "object",
        "properties": {
          "item_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "vendor_name": {
            "type": "string",
            "minLength": 1
          },
          "account_code": {
            "type": "string",
            "minLength": 1
          },
          "unit_price": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,13}(?:\\.\\d{0,8})?$"
          },
          "quantity": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,10}(?:\\.\\d{0,5})?$"
          },
          "unit": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30
          },
          "currency_code": {
            "type": "string",
            "minLength": 1
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequisitionCustomFieldRequest"
            }
          }
        },
        "required": [
          "account_code",
          "currency_code",
          "custom_fields",
          "item_name",
          "quantity",
          "unit",
          "unit_price",
          "vendor_name"
        ]
      },
      "RequisitionRead": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        }
      },
      "RequisitionReadSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/RequisitionRead"
          }
        },
        "required": [
          "data"
        ]
      },
      "RoleEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "type": "integer"
      },
      "SessionCreate": {
        "type": "object",
        "properties": {
          "creditcard": {
            "type": "integer",
            "title": "Credit Card"
          },
          "balance": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,2})?$"
          },
          "statement_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "creditcard"
        ]
      },
      "SetupStageEnum": {
        "enum": [
          "COMP",
          "DEPT",
          "USER",
          "COA",
          "BDGT",
          "APPR",
          "FIN"
        ],
        "type": "string"
      },
      "ShippingMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "ShippingMethodRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "ShippingTerm": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "ShippingTermRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "SimpleAPVendor": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the vendor",
            "maxLength": 150
          }
        },
        "required": [
          "name"
        ]
      },
      "SimpleBill": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillStatusEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "version": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64"
          },
          "locked": {
            "type": "boolean",
            "readOnly": true
          },
          "currency": {
            "$ref": "#/components/schemas/SimpleCurrency"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "readOnly": true
          },
          "vendor": {
            "$ref": "#/components/schemas/SimpleAPVendor"
          },
          "due_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Bill Due Date"
          },
          "total_cost_with_tax": {
            "type": "number",
            "format": "float",
            "readOnly": true
          },
          "invoice_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Bill Invoice Date"
          },
          "next_approver_choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApproverRead"
            },
            "nullable": true,
            "readOnly": true
          },
          "last_export_user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleUserProfile"
              }
            ],
            "readOnly": true
          },
          "last_modified_datetime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "title": "Last Modified"
          },
          "last_export_date": {
            "type": "string",
            "format": "date",
            "readOnly": true
          },
          "submitted_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "gl_post_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoice_number": {
            "type": "string",
            "maxLength": 50
          },
          "group": {
            "type": "integer",
            "readOnly": true,
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillTypeEnum"
              }
            ],
            "minimum": 0,
            "maximum": 4294967295
          },
          "user": {
            "$ref": "#/components/schemas/SimpleUser"
          },
          "approver": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleUserProfileDocs"
              }
            ],
            "readOnly": true
          },
          "past_due": {
            "type": "boolean",
            "readOnly": true
          },
          "payment_uuid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "invoice_uuid": {
            "type": "string",
            "readOnly": true
          }
        },
        "required": [
          "currency",
          "user",
          "uuid",
          "vendor"
        ]
      },
      "SimpleCurrency": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 10
          },
          "rate": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,6})?$"
          }
        },
        "required": [
          "name",
          "rate"
        ]
      },
      "SimpleDepartment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "location": {
            "$ref": "#/components/schemas/SimpleLocation"
          }
        },
        "required": [
          "location",
          "name"
        ]
      },
      "SimpleExpenseReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "uuid"
        ]
      },
      "SimpleLocation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "headquarter": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "required": [
          "name"
        ]
      },
      "SimpleRoleRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "type": {
            "type": "integer"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "SimpleUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "department_name": {
            "type": "string",
            "readOnly": true
          },
          "branch_name": {
            "type": "string",
            "readOnly": true
          }
        },
        "required": [
          "email"
        ]
      },
      "SimpleUserProfile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          }
        },
        "required": [
          "email"
        ]
      },
      "SimpleUserProfileDocs": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          }
        },
        "required": [
          "email"
        ]
      },
      "SimpleUserSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "position": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "approval_delegatee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApprovalDelegateeDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "expected_return_date": {
            "type": "string",
            "format": "date",
            "readOnly": true
          }
        },
        "required": [
          "email"
        ]
      },
      "SimpleVendor": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the vendor",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line 1",
            "description": "First line of address",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "nullable": true,
            "title": "Address line 2",
            "description": "Second line of address",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "description": "Postal or Zip code of the vendor",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City of the vendor",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "description": "State or Province of the vendor",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "Country of the vendor",
            "maxLength": 80
          },
          "overall_score": {
            "type": "string",
            "readOnly": true
          }
        },
        "required": [
          "name"
        ]
      },
      "SingleBillMetadataDocs": {
        "type": "object",
        "properties": {
          "permissions": {
            "$ref": "#/components/schemas/PermissionsEditDeleteApprove"
          },
          "summary": {
            "$ref": "#/components/schemas/BillSummaryDocs"
          }
        },
        "required": [
          "permissions",
          "summary"
        ]
      },
      "SpendAccountRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "account_code": {
            "$ref": "#/components/schemas/UnoptimizedAccountCodeserializer"
          },
          "department": {
            "$ref": "#/components/schemas/UnoptimizedDepartmentRead"
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "account_code",
          "department"
        ]
      },
      "StatementItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "creditcard": {
            "type": "integer",
            "title": "Credit Card"
          },
          "statement": {
            "type": "integer",
            "nullable": true
          },
          "match": {
            "type": "integer",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "description": {
            "type": "string",
            "maxLength": 255
          },
          "amount": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,9}(?:\\.\\d{0,2})?$"
          },
          "duplicate_of": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "amount",
          "creditcard"
        ]
      },
      "TimezoneEnum": {
        "enum": [
          -11,
          -10,
          -9,
          -8,
          -7,
          -6,
          -5,
          -4,
          -3.5,
          -3,
          -2,
          -1,
          0,
          1,
          2,
          3,
          3.5,
          4,
          4.5,
          5,
          5.5,
          5.75,
          6,
          7,
          8,
          9,
          9.5,
          10,
          11,
          12
        ],
        "type": "number"
      },
      "UnitCostDiffLogDocs": {
        "type": "object",
        "properties": {
          "changed_by": {
            "type": "string"
          },
          "changed_date": {
            "type": "string"
          },
          "original_unit_cost": {
            "type": "number",
            "format": "float"
          },
          "original_currency_label": {
            "type": "string"
          }
        }
      },
      "UnoptimizedAccountCodeserializer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "code": {
            "type": "string",
            "maxLength": 50
          },
          "code_length": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "description": {
            "type": "string",
            "maxLength": 200
          },
          "account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpenseTypeEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "active": {
            "type": "boolean"
          },
          "parent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Nested"
              }
            ],
            "readOnly": true
          }
        },
        "required": [
          "code",
          "description"
        ]
      },
      "UnoptimizedBranchRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "url": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "maxLength": 200
          },
          "logo": {
            "type": "string"
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LanguageEnum"
              }
            ],
            "minimum": -2147483648,
            "maximum": 2147483647
          },
          "multipleLocations": {
            "type": "boolean"
          },
          "locationTimezone": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocationTimezoneEnum"
              },
              {
                "$ref": "#/components/schemas/BlankEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "userLimit": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64"
          },
          "budgetOvertureToggle": {
            "type": "boolean"
          },
          "purchase_filtering": {
            "type": "boolean"
          },
          "catalog_permission": {
            "type": "boolean"
          },
          "separate_expense_approval": {
            "type": "boolean"
          },
          "standalone_travel_approval": {
            "type": "boolean"
          },
          "phoneOne": {
            "type": "string",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "maxLength": 20
          },
          "email": {
            "type": "string",
            "format": "email",
            "nullable": true,
            "maxLength": 254
          },
          "fiscalYearEndDay": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64",
            "nullable": true
          },
          "fiscalYearEndMonth": {
            "type": "integer",
            "maximum": 4294967295,
            "minimum": 0,
            "format": "int64",
            "nullable": true
          },
          "timezone": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimezoneEnum"
              }
            ],
            "maximum": 10000,
            "exclusiveMaximum": true,
            "minimum": -10000,
            "exclusiveMinimum": true
          },
          "beginDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "ported": {
            "type": "boolean"
          },
          "port_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "fields_cache": {
            "type": "string",
            "nullable": true
          },
          "activated": {
            "type": "boolean"
          },
          "setup_stage": {
            "$ref": "#/components/schemas/SetupStageEnum"
          },
          "localCurrency": {
            "type": "integer"
          },
          "contactPerson": {
            "type": "integer",
            "nullable": true
          },
          "buyerAddress": {
            "type": "integer",
            "nullable": true
          },
          "shippingAddress": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "localCurrency",
          "name",
          "phoneOne"
        ]
      },
      "UnoptimizedDepartmentRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "branch": {
            "$ref": "#/components/schemas/UnoptimizedBranchRead"
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "punchout_email": {
            "type": "string",
            "format": "email",
            "nullable": true,
            "description": "PunchOut Email",
            "maxLength": 254
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "branch",
          "name"
        ]
      },
      "UserDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "position": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "approval_delegatee": {
            "type": "integer",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "email"
        ]
      },
      "UserProfileMe": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "domains": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainSwitching"
              }
            ],
            "readOnly": true
          },
          "headquarter_logo": {
            "type": "string",
            "readOnly": true
          },
          "systemaccess_cache": {
            "type": "object",
            "additionalProperties": {}
          },
          "approval_delegatee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApprovalDelegateeDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "is_approval_delegatee": {
            "type": "boolean",
            "readOnly": true
          },
          "department": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DepartmentLocationRead"
              }
            ],
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "position": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "maxLength": 30
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "notifications": {
            "type": "boolean"
          },
          "is_active": {
            "type": "boolean"
          },
          "pending_invite": {
            "type": "boolean"
          },
          "role": {
            "nullable": true,
            "minimum": -2147483648,
            "maximum": 2147483647,
            "oneOf": [
              {
                "$ref": "#/components/schemas/RoleEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          },
          "mobile": {
            "type": "boolean"
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "slack_user_id": {
            "type": "string",
            "maxLength": 50
          },
          "is_sso_enabled": {
            "type": "boolean"
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "user": {
            "type": "integer"
          }
        },
        "required": [
          "email",
          "systemaccess_cache",
          "user"
        ]
      },
      "UserProfileMeSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/UserProfileMe"
          }
        },
        "required": [
          "data"
        ]
      },
      "UserProfileRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "department": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleDepartment"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "department",
          "email"
        ]
      },
      "UserProfileUnoptimized": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "user": {
            "type": "integer"
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "department": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleDepartment"
              }
            ],
            "nullable": true
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleLocation"
              }
            ],
            "readOnly": true
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "is_active": {
            "type": "boolean"
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "maxLength": 30
          },
          "position": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SimpleRoleRead"
              }
            ],
            "readOnly": true
          },
          "approval_delegatee": {
            "$ref": "#/components/schemas/SimpleUserProfile"
          },
          "pending_approvals_count": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PendingApprovalsCountDocs"
              }
            ],
            "readOnly": true
          },
          "expected_return_date": {
            "type": "string",
            "format": "date",
            "readOnly": true
          }
        },
        "required": [
          "approval_delegatee",
          "department",
          "email",
          "user"
        ]
      },
      "UserProfileUnoptimizedSerializerList": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserProfileUnoptimized"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "UserProfileUnoptimizedSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/UserProfileUnoptimized"
          }
        },
        "required": [
          "data"
        ]
      },
      "UserProfileUpsertRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "user": {
            "type": "integer"
          },
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "maxLength": 254
          },
          "firstName": {
            "type": "string",
            "minLength": 1
          },
          "lastName": {
            "type": "string",
            "minLength": 1
          },
          "location": {
            "type": "integer",
            "nullable": true
          },
          "department": {
            "type": "integer",
            "nullable": true
          },
          "position": {
            "type": "string",
            "default": ""
          },
          "phone": {
            "type": "string",
            "default": ""
          },
          "password": {
            "type": "string",
            "nullable": true,
            "minLength": 6
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "is_sso_enabled": {
            "type": "boolean",
            "default": false
          },
          "mark_for_skip": {
            "type": "boolean",
            "default": false
          },
          "mark_for_delete": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "department",
          "email",
          "firstName",
          "lastName",
          "location"
        ]
      },
      "UserSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "department": {
            "$ref": "#/components/schemas/DepartmentSummary"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "maxLength": 100
          },
          "lastName": {
            "type": "string",
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "position": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "maxLength": 30
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "notifications": {
            "type": "boolean"
          },
          "is_active": {
            "type": "boolean"
          },
          "mobile": {
            "type": "boolean"
          },
          "profile_image": {
            "type": "string",
            "nullable": true
          },
          "slack_user_id": {
            "type": "string",
            "maxLength": 50
          },
          "is_sso_enabled": {
            "type": "boolean"
          },
          "last_changed_by": {
            "type": "integer",
            "nullable": true,
            "title": "Last changed by user"
          },
          "user": {
            "type": "integer"
          },
          "approval_delegatee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApprovalDelegateeDocs"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "expected_return_date": {
            "type": "string",
            "format": "date",
            "readOnly": true
          }
        },
        "required": [
          "department",
          "email",
          "user"
        ]
      },
      "Vendor": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the vendor",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line 1",
            "description": "First line of address",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "nullable": true,
            "title": "Address line 2",
            "description": "Second line of address",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "description": "Postal or Zip code of the vendor",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City of the vendor",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "description": "State or Province of the vendor",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "Country of the vendor",
            "maxLength": 80
          },
          "phoneOne": {
            "type": "string",
            "nullable": true,
            "description": "Primary phone no. of the vendor",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "description": "Secondary phone no. of the vendor",
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "description": "Fax no. of the vendor",
            "maxLength": 20
          },
          "email": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "comments": {
            "type": "string",
            "nullable": true,
            "description": "Notes about the vendor"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "Contact person of the vendor",
            "maxLength": 50
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "Website of the vendor",
            "maxLength": 200
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id of the vendor",
            "maxLength": 100
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "currency": {
            "type": "integer",
            "nullable": true
          },
          "payment_term_ref": {
            "type": "integer",
            "nullable": true
          },
          "shipping_term_ref": {
            "type": "integer",
            "nullable": true
          },
          "payment_method_ref": {
            "type": "integer",
            "nullable": true
          },
          "shipping_method_ref": {
            "type": "integer",
            "nullable": true
          },
          "payment_methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethodRead"
            },
            "readOnly": true
          },
          "tax": {
            "type": "integer",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/VendorTypeEnum"
          },
          "default_payment_method": {
            "type": "integer",
            "nullable": true
          },
          "creditcards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditCard"
            },
            "readOnly": true
          },
          "is_1099_eligible": {
            "type": "boolean",
            "nullable": true,
            "title": "1099 Eligible?"
          },
          "overall_score": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "email",
          "name",
          "type"
        ]
      },
      "VendorBreakdownDocs": {
        "type": "object",
        "properties": {
          "speed": {
            "$ref": "#/components/schemas/BreakdownDocs"
          },
          "accuracy": {
            "$ref": "#/components/schemas/BreakdownDocs"
          },
          "quality": {
            "$ref": "#/components/schemas/BreakdownDocs"
          },
          "cost": {
            "$ref": "#/components/schemas/BreakdownDocs"
          }
        },
        "required": [
          "accuracy",
          "cost",
          "quality",
          "speed"
        ]
      },
      "VendorDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the vendor",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line 1",
            "description": "First line of address",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "nullable": true,
            "title": "Address line 2",
            "description": "Second line of address",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "description": "Postal or Zip code of the vendor",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City of the vendor",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "description": "State or Province of the vendor",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "Country of the vendor",
            "maxLength": 80
          },
          "phoneOne": {
            "type": "string",
            "nullable": true,
            "description": "Primary phone no. of the vendor",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "description": "Secondary phone no. of the vendor",
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "description": "Fax no. of the vendor",
            "maxLength": 20
          },
          "email": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "readOnly": true
          },
          "comments": {
            "type": "string",
            "nullable": true,
            "description": "Notes about the vendor"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "Contact person of the vendor",
            "maxLength": 50
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "Website of the vendor",
            "maxLength": 200
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id of the vendor",
            "maxLength": 100
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "currency": {
            "type": "integer",
            "nullable": true
          },
          "payment_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentTerm"
              }
            ],
            "nullable": true
          },
          "shipping_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingTerm"
              }
            ],
            "nullable": true
          },
          "payment_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethod"
              }
            ],
            "nullable": true
          },
          "shipping_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingMethod"
              }
            ],
            "nullable": true
          },
          "payment_methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethodRead"
            },
            "readOnly": true
          },
          "tax": {
            "type": "integer",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/VendorTypeEnum"
          },
          "default_payment_method": {
            "type": "integer",
            "nullable": true
          },
          "creditcards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditCard"
            },
            "readOnly": true
          },
          "is_1099_eligible": {
            "type": "boolean",
            "nullable": true,
            "title": "1099 Eligible?"
          },
          "overall_score": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "readOnly": true
          },
          "performance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VendorPerformance"
              }
            ],
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "VendorDetailSerializerSingleCreate": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/VendorDetail"
          }
        },
        "required": [
          "data"
        ]
      },
      "VendorDetailSerializerSingleRetrieve": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/VendorDetail"
          }
        },
        "required": [
          "data"
        ]
      },
      "VendorDocs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the vendor",
            "maxLength": 150
          }
        },
        "required": [
          "name"
        ]
      },
      "VendorPaymentMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "vendor": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "type": "integer"
          }
        },
        "required": [
          "data",
          "vendor"
        ]
      },
      "VendorPaymentMethodRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "vendor": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          }
        },
        "required": [
          "currency",
          "data",
          "vendor"
        ]
      },
      "VendorPaymentMethodRequest": {
        "type": "object",
        "properties": {
          "vendor": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodTypeEnum"
              }
            ],
            "title": "Payment Method",
            "minimum": 0,
            "maximum": 4294967295
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "currency": {
            "type": "integer"
          }
        },
        "required": [
          "data",
          "vendor"
        ]
      },
      "VendorPerformance": {
        "type": "object",
        "properties": {
          "overall_score": {
            "type": "number",
            "format": "float",
            "readOnly": true
          },
          "average_delivery_time": {
            "type": "string",
            "format": "decimal",
            "pattern": "^\\d{0,3}(?:\\.\\d{0,3})?$",
            "nullable": true,
            "readOnly": true
          },
          "breakdown": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VendorBreakdownDocs"
              }
            ],
            "readOnly": true
          }
        }
      },
      "VendorRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the vendor",
            "maxLength": 150
          },
          "active": {
            "type": "boolean"
          },
          "addressLineOne": {
            "type": "string",
            "nullable": true,
            "title": "Address line 1",
            "description": "First line of address",
            "maxLength": 300
          },
          "addressLineTwo": {
            "type": "string",
            "nullable": true,
            "title": "Address line 2",
            "description": "Second line of address",
            "maxLength": 300
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "title": "Postal Code",
            "description": "Postal or Zip code of the vendor",
            "maxLength": 20
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City of the vendor",
            "maxLength": 50
          },
          "state_province": {
            "type": "string",
            "nullable": true,
            "title": "State/Province",
            "description": "State or Province of the vendor",
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "Country of the vendor",
            "maxLength": 80
          },
          "phoneOne": {
            "type": "string",
            "nullable": true,
            "description": "Primary phone no. of the vendor",
            "maxLength": 20
          },
          "phoneTwo": {
            "type": "string",
            "nullable": true,
            "description": "Secondary phone no. of the vendor",
            "maxLength": 20
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "description": "Fax no. of the vendor",
            "maxLength": 20
          },
          "email": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "comments": {
            "type": "string",
            "nullable": true,
            "description": "Notes about the vendor"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "Contact person of the vendor",
            "maxLength": 50
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "Website of the vendor",
            "maxLength": 200
          },
          "external_id": {
            "type": "string",
            "nullable": true,
            "description": "External id of the vendor",
            "maxLength": 100
          },
          "dateModified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "currency": {
            "type": "integer",
            "nullable": true
          },
          "payment_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentTerm"
              }
            ],
            "nullable": true
          },
          "shipping_term_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingTerm"
              }
            ],
            "nullable": true
          },
          "payment_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentMethod"
              }
            ],
            "nullable": true
          },
          "shipping_method_ref": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingMethod"
              }
            ],
            "nullable": true
          },
          "payment_methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethodRead"
            },
            "readOnly": true
          },
          "tax": {
            "type": "integer",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/VendorTypeEnum"
          },
          "default_payment_method": {
            "type": "integer",
            "nullable": true
          },
          "creditcards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditCard"
            },
            "readOnly": true
          },
          "is_1099_eligible": {
            "type": "boolean",
            "nullable": true,
            "title": "1099 Eligible?"
          },
          "overall_score": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "email",
          "name",
          "type"
        ]
      },
      "VendorSerializerSingle": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "default": {}
          },
          "data": {
            "$ref": "#/components/schemas/Vendor"
          }
        },
        "required": [
          "data"
        ]
      },
      "VendorTypeEnum": {
        "enum": [
          2,
          7,
          3,
          4,
          6
        ],
        "type": "integer"
      },
      "VersionChoicesDocs": {
        "type": "object",
        "properties": {
          "pk": {
            "type": "integer"
          },
          "version": {
            "type": "integer"
          }
        }
      },
      "ZeroOneEnum": {
        "enum": [
          0,
          1
        ],
        "type": "integer"
      }
    },
    "securitySchemes": {
      "BasicAuthentication": {
        "type": "http",
        "scheme": "basic"
      },
      "RemoteAuthentication": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.procurify.com/oauth/authorize",
            "tokenUrl": "https://login.procurify.com/oauth/token",
            "scopes": {}
          }
        }
      },
      "cookieAuth": {
        "type": "apiKey",
        "in": "cookie",
        "name": "sessionid"
      },
      "oauth2": {
        "type": "oauth2",
        "flows": {}
      },
      "tokenAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "Token-based authentication with required prefix \"Token\""
      }
    }
  },
  "servers": [
    {
      "url": "https://{user_domain}.procurify.com",
      "description": "Your Procurify domain",
      "variables": {
        "user_domain": {
          "default": "your-domain",
          "description": "Your procurify domain"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "oauth"
    },
    {
      "name": "permissions"
    },
    {
      "name": "users"
    },
    {
      "name": "locations"
    },
    {
      "name": "departments"
    },
    {
      "name": "account-codes"
    },
    {
      "name": "accounts"
    },
    {
      "name": "vendors"
    },
    {
      "name": "currencies"
    },
    {
      "name": "catalog"
    },
    {
      "name": "requisitions"
    },
    {
      "name": "purchase-orders"
    },
    {
      "name": "order-items"
    },
    {
      "name": "ap"
    },
    {
      "name": "custom-fields"
    }
  ]
}