{"info":{"_postman_id":"93ac07ba-4c94-4214-b5ea-5f2b477b1468","name":"Odyssey API Examples","description":"This Postman collection showcases the various OODAPI endpoints, and example usages of them.\n\n# **Important Notice**\n\n**Any updates or actions performed by these requests do impact the server on which they run.** If you update, add, or delete information -- it will be updated, added, or deleted on the targeted server on a successful request.\n\nPlease make sure your `CompanyID` is set to a test company for testing, otherwise some actions on REST endpoints will default an empty `CompanyID` to the one you have current access to, and may alter live production data!\n\n## Getting Started\n\n**Variables**\n\nYou will see variables set with placeholder text within double curly braces, in both the URL and the body section of GET and POST requests respectively. This is the formatting for string interpolation, which will replace the double curly braces as well as the placeholder text for the variable with the current value established in the `Variables` tab of the `OODAPI Examples` collection.\n\nThis Postman collection makes use of two variables -- `APIKey` and `ServerPath`. You only need to update these two variables in order to change **all** requests in this collection. This makes it much easier to modify the `APIKey` and server you're testing on.\n\n**Recommended Setup**\n\nThe OODAPI generally requires the `API Key` to be provided in the form of an `HTTP Header` with `X-API-Key` or in the `body` of the `HTTP Request`, typically in `JSON` format. (`XML` is also supported, though discouraged.)\n\n_**You must have the following:**_\n\n1. A valid API Key. You can get this from the `Users` master screen within the `Odyssey Web Interface`.\n    \n2. Update the `APIKey` variable in this Postman collection with the API Key you get from Odyssey.\n    \n3. Update the `ServerPath` variable in this Postman collection with the location of your `OODAPI`.\n    \n\nFor **B&L Cloud customers**, your `OODAPI` URL exists at `https://api.blinfo.com/`  \nFor **On Premise customers**, your `OODAPI` URL exists at the location of your Odyssey install, with `OODAPI` appended. For example, if you go to `https://mydomain.com/odyssey/odyssey.aspx` to get to the Web UI, your `OODAPI` would exist at `https://mydomain.com/odyssey/OODAPI`\n\n## Support\n\nPlease contact B&L Information Systems for additional support.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json"},"item":[{"name":"/AP","item":[{"name":"APInvoiceTransaction","id":"a10032a6-af51-426b-abb0-9ae3e7449af9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-api-key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Account\": \"\",\r\n  \"APInvChgAcct\": \"\",\r\n  \"AutoCreate\": \"\",\r\n  \"AutoPost\": \"\",\r\n  \"Batch\": \"\",\r\n  \"ChargeCode\": \"\",\r\n  \"Comments\": \"\",\r\n  \"CostType\": \"\",\r\n  \"CurrCode\": \"\",\r\n  \"Description\": \"\",\r\n  \"DiscountDate\": \"\",\r\n  \"DiscountDollarsDtl\": \"\",\r\n  \"DiscountPercentDtl\": \"\",\r\n  \"DueDate\": \"\",\r\n  \"Equipment\": \"\",\r\n  \"ExchgRate\": \"\",\r\n  \"GLDate\": \"\",\r\n  \"GrossDollarsDtl\": \"\",\r\n  \"Hold\": \"\",\r\n  \"ICBeenScanned\": \"\",\r\n  \"InternalInterfaceID\": \"\",\r\n  \"InvEntryDate\": \"\",\r\n  \"InvoiceDate\": \"\",\r\n  \"Item\": \"\",\r\n  \"JobNumber\": \"\",\r\n  \"ManualBankCode\": \"\",\r\n  \"ManualCheck\": \"\",\r\n  \"ManualCheckAmount\": \"\",\r\n  \"ManualCheckDate\": \"\",\r\n  \"ManualCheckNumber\": \"\",\r\n  \"MaterialID\": \"\",\r\n  \"OrderItem\": \"\",\r\n  \"OrderNumber\": \"\",\r\n  \"OrderType\": \"\",\r\n  \"PaymentGroup\": \"\",\r\n  \"POItem\": \"\",\r\n  \"PONumber\": \"\",\r\n  \"PayMethod\": \"\",\r\n  \"Qty\": \"\",\r\n  \"Receiver\": \"\",\r\n  \"RefDesc\": \"\",\r\n  \"SepCheck\": \"\",\r\n  \"StopCode\": \"\",\r\n  \"SupplierID\": \"\",\r\n  \"SupplierInvNum\": \"\",\r\n  \"TermCode\": \"\",\r\n  \"Tool\": \"\",\r\n  \"ToolCostType\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{ServerPath}}/AP/APInvoiceTransaction","description":"# APInvoiceTransaction\n\n---\n\nAllows for importing into the A/P Transactions (APTransactions) table to easily create invoices from a source outside of Odyssey\n\n# Parameters\n\n---\n\n**Account** - Type String:\n\nAccount Number to be charged for this item.\n\n**APInvChgAcct** - Type Boolean:\n\nThis flag indicates that this is the inventory/expense account\n\n**AutoCreate** - Type Boolean:\n\nThis flag determines whether the invoice is auto created or not\n\n**AutoPost** - Type Boolean:\n\nAutomatically post transaction when imported.\n\n**Batch** - Type Integer:\n\nThe number associated with this batch of A/P invoices.\n\n**ChargeCode** - Type String:\n\nThe miscellaneouse charge code associated with this charge.\n\n**Comments** - Type String:\n\nComments entered here will become a comment on the invoice item once it is created.\n\n**CostType** - Type String:\n\nUser defined cost type for accumulating equipment costs.\n\n**CurrCode** - Type String:\n\nUnique identifier for the currency.\n\n**Description** - Type String:\n\nBrief description of this invoice item.\n\n**DiscountDate** - Type String:\n\nThe date payment is due if the discount is to be taken.\n\n**DiscountDollarsDtl** - Type Decimal:\n\nDiscount dollars for this invoice item.\n\n**DiscountPercentDtl** - Type Decimal:\n\nDiscount percent associated with this invoice item.\n\n**DueDate** - Type String:\n\nThe date payment is desired for this invoice.\n\n**Equipment** - Type String:\n\nEquipment associated with this invoice.\n\n**ExchgRate** - Type Decimal:\n\nCurrent exchange rate from this currency to native currency.\n\n**GLDate** - Type String:\n\nThe date the invoice will be posted to the General Ledger.\n\n**GrossDollarsDtl** - Type Decimal:\n\nGross dollars for this invoice item.\n\n**Hold** - Type Boolean:\n\nDefines whether the invoice is on hold and cannot be posted to open payables.\n\n**ICBeenScanned** - Type Boolean:\n\nIndicates whether or not the invoice has been scanned into IntelliChief.\n\n**InternalInterfaceID** - Type String:\n\nThis field is used internally with intellichief as a unique identifier.\n\n**InvEntryDate** - Type String:\n\nThe date the invoice was entered.\n\n**InvoiceDate** - Type String:\n\nThe date on the invoice.\n\n**Item** - Type Integer:\n\nThe Invoice item.\n\n**JobNumber** - Type String:\n\nJob cost number this item is being charged against.\n\n**ManualBankCode** - Type String:\n\nBank code associated with this manual payment.\n\n**ManualCheck** - Type Boolean:\n\nDefines if the invoice was paid with a manual payment.\n\n**ManualCheckAmount** - Type Decimal:\n\nManual payment amount for this invoice.\n\n**ManualCheckDate** - Type String:\n\nThe date of the manual payment for this invoice.\n\n**ManualCheckNumber** - Type Int64:\n\nManual check/reference number paying this invoice.\n\n**MaterialID** - Type String:\n\nMaterial number associated with this invoice item.\n\n**OrderItem** - Type Integer:\n\nOrder item number this invoice is being invoiced against.\n\n**OrderNumber** - Type Integer:\n\nOrder number this invoice is being invoiced against.\n\n**OrderType** - Type String:\n\nIdentifies the type of order (customer order(C), shop order(S), work order(W), tool order(T) etc.).\n\n**PaymentGroup** - Type String:\n\nUser defined grouping for payment of invoices.\n\n**POItem** - Type Integer:\n\nPurchase order item associated with this item.\n\n**PONumber** - Type Integer:\n\nPurchase order associated with this item.\n\n**PayMethod** - Type String:\n\nDesignates the manual payment method (M=Manual Check, E=Electronic Payment, C=Credit Card)\n\n**Qty** - Type Integer:\n\nQuantity being invoiced with this item.\n\n**Receiver** - Type Integer:\n\nReceiver number for this material.\n\n**RefDesc** - Type String:\n\nReference or description for the manual payment.\n\n**SepCheck** - Type Boolean:\n\nRevision level for this item.\n\n**StopCode** - Type String:\n\nStop payment on this invoice.\n\n**SupplierID** - Type String:\n\nSupplier associated with this invoice.\n\n**SupplierInvNum** - Type String:\n\nSupplier's invoice number associated with this invoice.\n\n**TermCode** - Type String:\n\nPayment terms for this invoice.\n\n**Tool** - Type String:\n\nTool number this item is being invoiced against.\n\n**ToolCostType** - Type String:\n\nUser defined cost type for accumulating tooling costs."},"response":[],"_postman_id":"a10032a6-af51-426b-abb0-9ae3e7449af9"}],"id":"3ac7af81-aebc-40d4-a511-51ef5887941b","_postman_id":"3ac7af81-aebc-40d4-a511-51ef5887941b"},{"name":"/Clocking","item":[{"name":"/In","id":"e4ed5fef-b78b-47b4-8efd-17430ef5a4fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"Badge\": \"{{Badge}}\",\r\n  \"Date\": \"\",\r\n  \"Time\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Clocking/In","description":"# Clock In\n---\n\nClock an employee in. If the employee is already clocked in, the system will generate an error.\n\n\n# Parameters\n---\n\n**Badge** - Type *String* **:**\nRequired badge number of the employee that is clocking in.\n\n**Date** - Type *String* **:**\nOptional date that the employee is clocking in. This must be in MMDDYYYY format. If not specified, the current system date will be used.\n\n**Time** - Type *String* **:**\nOptional time that the employee is clocking in. This must be in military time with a HHMMSS format. If not specified, the current system time will be used."},"response":[],"_postman_id":"e4ed5fef-b78b-47b4-8efd-17430ef5a4fc"},{"name":"/Info","id":"78458703-2171-4540-a936-b93f284fbd79","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{ServerPath}}/Clocking/Info","description":"# Quick Clock Information\n---\n\nReturns configuration information for the quick clock screen\n\n# Parameters\n---\n\nThis endpoint has no required parameters."},"response":[],"_postman_id":"78458703-2171-4540-a936-b93f284fbd79"},{"name":"/Out","id":"8a03cc55-c220-470f-b0b6-3ed3c73e175a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"Badge\": \"{{Badge}}\",\r\n  \"Date\": \"\",\r\n  \"Time\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Clocking/Out","description":"# Clock Out\n---\n\nClock an employee out. If the employee is already clocked out, the system will generate an error.\n\n\n# Parameters\n---\n\n**Badge** - Type *String* **:**\nRequired badge number of the employee that is clocking out.\n\n**Date** - Type *String* **:**\nOptional date that the employee is clocking out. This must be in MMDDYYYY format. If not specified, the current system date will be used.\n\n**Time** - Type *String* **:**\nOptional time that the employee is clocking out. This must be in military time with a HHMMSS format. If not specified, the current system time will be used."},"response":[],"_postman_id":"8a03cc55-c220-470f-b0b6-3ed3c73e175a"},{"name":"/QuickClock","id":"c290ac63-b233-4e10-99ed-0e497cd59a89","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"Badge\": \"{{Badge}}\",\r\n  \"Date\": \"\",\r\n  \"Time\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Clocking/QuickClock","description":"# Quick Clock\n---\n\nPerform a quick clock punch. If the employee is not clocked in, they will be clocked in. If the employee is already clocked in, they will be clocked out.\n\n# Parameters\n---\n\n**Badge** - Type *string* **:**\nRequired badge number of the employee that is clocking.\n\n**Date** - Type *String* **:**\nOptional date that the employee is clocking. This must be in MMDDYYYY format. If not specified, the current system date will be used.\n\n**Time** - Type *String* **:**\nOptional time that the employee is clocking. This must be in military time with a HHMMSS format. If not specified, the current system time will be used."},"response":[],"_postman_id":"c290ac63-b233-4e10-99ed-0e497cd59a89"}],"id":"78dc581f-103b-4264-a7bb-c212b5c72e7b","_postman_id":"78dc581f-103b-4264-a7bb-c212b5c72e7b"},{"name":"/Customer","item":[{"name":"{GET}","id":"97bf08c7-19c9-48bf-939e-b929d8b1d4ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Customer?CompanyID={{CompanyID}}&SearchText=","host":["{{ServerPath}}"],"path":["Customer"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":""}]},"description":"# Customer Search\n\n---\n\nReturns up to 1,000 matching, Active Customers from the MainDB.Customer table.\n\nIf a search text value is provided, records will be returned where the ID, or COName match the given value (using a wild-card matches search).\n\n# Parameters\n\n---\n\n**SearchText** - Type _string_ **:**  \nThis value, if supplied, will be used to filter your results. This value will be searched using a MATCHES operator on the ID OR COName fields in the Customer table.\n\n**CompanyID** - Type _string_ **:**  \nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"97bf08c7-19c9-48bf-939e-b929d8b1d4ab"},{"name":"/{UniqueID}","id":"0eda24fb-6ad1-47bf-8cb9-1b02d70c95cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Customer/{{CustomerUniqueID}}?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Customer","{{CustomerUniqueID}}"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Fetch a Specific Customer\n---\n\nFetch a specific customer from the Odyssey database from the MainDB.Customer table.\n\n# Route Parameters\n\n*These parameters are automatically passed to the API call because they're included as part of the URL to access the API endpoint*\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the customer you are searching for. This customer can exist in any company you have access to.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"0eda24fb-6ad1-47bf-8cb9-1b02d70c95cd"},{"name":"/{UniqueID}/PlantFields","id":"0eb6d3a7-525f-4ee7-b496-df8cdec44fcd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Customer/{{CustomerUniqueID}}/PlantFields?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Customer","{{CustomerUniqueID}}","PlantFields"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get Customer Plant Fields\n---\n\nReturns a list of plant-level fields that a controlling company can change for a specific Customer and their current values.\n\n# Route Parameters\n\n*These parameters are automatically passed to the API call because they're included as part of the URL to access the API endpoint*\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the customer you are fetching fields for. This customer should exist within the HQ company.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID. If you're using a company-specific APIKey, this value is not required. The CompanyID associated with your APIKey will be used to fetch the plant-level fields. If you're using a non-company-specific APIKey, then this value is required."},"response":[],"_postman_id":"0eb6d3a7-525f-4ee7-b496-df8cdec44fcd"},{"name":"/{UniqueID}/PlantFields","id":"d5c8c5f4-c274-450f-8780-f6917ba1d38b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"PlantList\": [\r\n        \"P1\",\r\n        \"P2\"\r\n    ],\r\n    \"Fields\": [\r\n        {\r\n            \"Field\": {\r\n                \"FieldName\": \"WeightType\",\r\n                \"FieldLabel\": \"Weight Type\",\r\n                \"DataType\": \"List\",\r\n                \"Format\": \"x(1)\",\r\n                \"FieldValue\": \"N\",\r\n                \"Options\": [\r\n                    {\r\n                        \"Text\": \"Gross\",\r\n                        \"Value\": \"G\"\r\n                    },\r\n                    {\r\n                        \"Text\": \"Net\",\r\n                        \"Value\": \"N\"\r\n                    },\r\n                    {\r\n                        \"Text\": \"Ship\",\r\n                        \"Value\": \"S\"\r\n                    },\r\n                    {\r\n                        \"Text\": \"Weight of Record\",\r\n                        \"Value\": \"R\"\r\n                    }\r\n                ],\r\n                \"PlantValues\": {\r\n                    \"P1\": \"S\",\r\n                    \"P2\": \"G\"\r\n                },\r\n                \"originalFieldValue\": \"S\",\r\n                \"forceChange\": false,\r\n                \"valueMismatched\": true,\r\n                \"OptionsRaw\": \"Gross|G,Net|N,Ship|S,Weight of Record|R\"\r\n            },\r\n            \"FieldValue\": \"N\"\r\n        }\r\n    ]\r\n}"},"url":{"raw":"{{ServerPath}}/Customer/{{CustomerUniqueID}}/PlantFields?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Customer","{{CustomerUniqueID}}","PlantFields"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Save Customer Plant Fields\n---\n\nAllows for updating plant-level fields from a Headquaters company for a selected Customer.\n\n# Route Parameters\n\n*These parameters are automatically passed to the API call because they're included as part of the URL to access the API endpoint*\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the customer you are fetching fields for. This customer should exist within the HQ company.\n\n# URL Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID. If you're using a company-specific APIKey, this value is not required. The CompanyID associated with your APIKey will be used to fetch the plant-level fields. If you're using a non-company-specific APIKey, then this value is required.\n\n# Request Parameters\n---\n\n**PlantList** - Type *string array* **:**\nThis is a list of the CompanyID's of the plants to be updated.\n\n**Fields** - Type **PlantFieldUpdateModel array* **:**\nThis is an array of all the fields that are being returned containing information the front-end will use to build the screen\n\n# PlantFieldUpdateModel\n\n**FieldValue** - Type *string* **:**\nThe new value of the field you wish to apply to all the plants in the PlantList\n\n**Field** - Type *PlantFieldModel* **:**\nThe entire field object that you are updating.\n\n# PlantFieldModel\n\n**FieldName** - Type *string* **:**\nThe name of the field\n\n**FieldLabel** - Type *string* **:**\nThe label of the field\n\n**DataType** - Type *string* **:**\nThe data type of the field. Integer, String, Boolean, etc\n\n**Format** - Type *string* **:**\nThe display format of the field. The possible values are: - Boolean Values - yes/no - This format represents a value that is either true or false. These values are typically represented as checkboxes. - Character Values - X(number) - This format means that you can input a character string of \"number\" length. For example, X(10) means that you can enter a string of up to 10 characters, and only the first 10 characters of the value will be displayed. - Integer Or Decimal Values - >>>,>>>, -99,999, >>>>, etc - This format represents how long the field is and where any commas may be present. It also indicates if if the field supports negative (-) numbers or not. - Date Values - MM/DD/YY, DD/MM/YYYY, MM/DD/YYYY HH:MM:SS, etc - This format indicates how the date and associated time, if any, will be displayed.\n\n**FieldValue** - Type *string* **:**\nThe current value of this field\n\n**Options** - Type *string* **:**\nThe list of possible options for this field, if this field's DataType is 'List'.\n\n**PlantValues** - Type *Dictionary<string, string>* **:**\nA list of all plants in this organization, and the value for this field in that plant, if it exists."},"response":[],"_postman_id":"d5c8c5f4-c274-450f-8780-f6917ba1d38b"}],"id":"31f5044d-eaeb-4613-987d-6e554ddd0c37","_postman_id":"31f5044d-eaeb-4613-987d-6e554ddd0c37"},{"name":"/CRM","item":[{"name":"/Customer","item":[{"name":"{GET}","id":"bfbeef76-9df8-4e0f-9cd4-1a4cf5044349","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/CRM/Customer?CompanyID={{CompanyID}}&SearchText=","host":["{{ServerPath}}"],"path":["CRM","Customer"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":""}]},"description":"# Get CRM Customers\n---\n\nReturns up to 1,000 matching, Active Customers from the MainDB.CustProspect table. If a search text value is provided, records will be returned where the COName, ID, or SearchWords match the given value (using a wild-card matches search).\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**SearchText** - Type *string* **:**\nThis optional text will be searched for in the \"COName\", \"ID\", and \"SearchWords\" fields"},"response":[],"_postman_id":"bfbeef76-9df8-4e0f-9cd4-1a4cf5044349"}],"id":"ec11358f-7f81-4832-ae82-5bb85bf7445d","_postman_id":"ec11358f-7f81-4832-ae82-5bb85bf7445d"},{"name":"/Prospect","item":[{"name":"{GET}","id":"1a84b79c-906c-4949-9815-07c76ae8aa0c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/CRM/Prospect?CompanyID={{CompanyID}}&SearchText=","host":["{{ServerPath}}"],"path":["CRM","Prospect"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":""}]},"description":"# Get CRM Prospects\n---\n\nReturns up to 1,000 matching, Active Prospects from the MainDB.CustProspect table. If a search text value is provided, records will be returned where the COName, ID, or SearchWords match the given value (using a wild-card matches search).\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**SearchText** - Type *string* **:**\nThis optional text will be searched for in the \"COName\", \"ID\", and \"SearchWords\" fields"},"response":[],"_postman_id":"1a84b79c-906c-4949-9815-07c76ae8aa0c"}],"id":"917a5468-228f-44b5-b473-4b7df384aaef","_postman_id":"917a5468-228f-44b5-b473-4b7df384aaef"},{"name":"/Info","item":[{"name":"{GET}","id":"58a5b671-5e27-46f9-9cd5-2edd7ee14ae3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/CRM/Info?CompanyID={{CompanyID}}&Email=","host":["{{ServerPath}}"],"path":["CRM","Info"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"Email","value":""}]},"description":"# Get CRM Information for Note Creation + File Upload\n---\n\nGets information that can be used to control note creation with the CRM. It can return information about a customer or prospect by email address, but will always return the types of files that are allowed to be uploaded, and whether files are allowed to be uploaded at all\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**Email** - Type *string* **:**\nThis optional email address of a customer or prospect that will be looked for in the MainDB.CustProspect table"},"response":[],"_postman_id":"58a5b671-5e27-46f9-9cd5-2edd7ee14ae3"}],"id":"d5e330fe-7e97-4a34-8a3e-c51b4610d150","_postman_id":"d5e330fe-7e97-4a34-8a3e-c51b4610d150"},{"name":"/Note","item":[{"name":"{POST} (with files)","id":"2d5feee9-3ee7-4c89-939e-e14483419c5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"formdata","formdata":[{"key":"CompanyID","type":"text","value":"{{CompanyID}}"},{"key":"ID","type":"text","value":"AGB"},{"key":"Table","value":"Customer","type":"text"},{"key":"Description","type":"text","value":"CRM note from the API description"},{"key":"Note","type":"text","value":"CRM note from the API note content!"},{"key":"Date","type":"text","value":"2020-02-14"},{"key":"Time","value":"13:50:30","type":"text"},{"key":"tk.png","type":"file","src":"/C:/Users/austi/Desktop/junk/tk.png"}]},"url":"{{ServerPath}}/CRM/Note","description":"# Create CRM Note with Files\n---\n\nThis endpoint allows you to create a CRM note for a Customer or Prospect. If you wish to add files to your note, you must add these files and the required parameters in the content of a multipart/form-data request. This example shows how to do that in Postman. If you wish to see an example *not* uploading files, please see the other example (without files).\n\n# Parameters\n---\n\nThis request must be sent with \"multipart/form-data\" encoding to allow files to be attached to your note. If not uploading files, then you can send a normal JSON request to the API to create your note. If you are uploading files, then add them as files to your request, and the API will automatically collect all files sent and attach them as a Link to the new note. In either case, the following properties can or must be used when sending emails.  \n  \\\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the MainDB.CustProspect record you're attaching a note to\n\n**Description** - Type *string* **:**\nThe Description (title) of the note you're creating\n\n**Note** - Type *string* **:**\nThe content of the note you're creating\n\n**Date** - Type *string* **:**\nThe date that this note should be created for. This must be in the ISO date format of YYYY-MM-DD\n\n**Time** - Type *string* **:**\nThe time that this note should be created for. This must be in 24H format of HH:MM:SS  \nExample: for 11:50PM and 12 seconds - you'd send '23:50:12'  \nFor 11:50AM and 30 seoncds - you'd send '11:50:30'\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**APIKey** - Type *string* **:**\nThe optional APIKey used to authenticate this request. If not specified here, it must be specified in the X-API-Key HTTP header"},"response":[],"_postman_id":"2d5feee9-3ee7-4c89-939e-e14483419c5f"},{"name":"{POST} (without files)","id":"18eb3c00-fc58-41a9-919f-b637c0ee0654","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"CompanyID\": \"{{CompanyID}}\",\r\n    \"ID\": \"ABC\",\r\n    \"Table\": \"Customer\",\r\n    \"Description\": \"CRM note from the API description\",\r\n    \"Note\": \"CRM note from the API note content!\",\r\n    \"Date\": \"2020-02-14\",\r\n    \"Time\": \"13:50:30\"\r\n}"},"url":"{{ServerPath}}/CRM/Note","description":"# Create CRM Note without Files\n---\n\nThis endpoint allows you to create a CRM note for a Customer or Prospect. If you wish to add files to your note, you must add these files and the required parameters in the content of a multipart/form-data request. Please see the other example (with files) for an example in Postman of how this can be done.\n\n# Parameters\n---\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the MainDB.CustProspect record you're attaching a note to\n\n**Description** - Type *string* **:**\nThe Description (title) of the note you're creating\n\n**Note** - Type *string* **:**\nThe content of the note you're creating\n\n**Date** - Type *string* **:**\nThe date that this note should be created for. This must be in the ISO date format of YYYY-MM-DD\n\n**Time** - Type *string* **:**\nThe time that this note should be created for. This must be in 24H format of HH:MM:SS  \nExample: for 11:50PM and 12 seconds - you'd send '23:50:12'  \nFor 11:50AM and 30 seoncds - you'd send '11:50:30'\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**APIKey** - Type *string* **:**\nThe optional APIKey used to authenticate this request. If not specified here, it must be specified in the X-API-Key HTTP header"},"response":[],"_postman_id":"18eb3c00-fc58-41a9-919f-b637c0ee0654"}],"id":"f3ddd9c5-b442-422b-bd9a-34bed765e0ee","_postman_id":"f3ddd9c5-b442-422b-bd9a-34bed765e0ee"}],"id":"e112e7f7-c3ca-419f-8ff8-ed4369149b44","_postman_id":"e112e7f7-c3ca-419f-8ff8-ed4369149b44"},{"name":"/EDI","item":[{"name":"/Radley","id":"cdb24d3a-88f6-4a78-95da-e3ae91dff6ff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"formdata","formdata":[{"key":"EDI.xml","type":"file","value":null}]},"url":{"raw":"{{ServerPath}}/EDI/Radley?CompanyID","host":["{{ServerPath}}"],"path":["EDI","Radley"],"query":[{"key":"CompanyID","value":null,"description":"CompanyID to import the records into.","type":"text"}]},"description":"# Radley EDI\n\n---\n\nUsed to import EDI transactions directly into Odyssey by accepting a single xml file containing the transactions to be imported. You must attach the file as the content of a multipart/form-data request."},"response":[],"_postman_id":"cdb24d3a-88f6-4a78-95da-e3ae91dff6ff"}],"id":"031c9f2f-4882-4ac4-813f-aa64ee6a26c7","description":"The `EDI` endopints are used to communicate e-commerce requesets and transactions to Odyssey EDI tables.","event":[{"listen":"prerequest","script":{"id":"1a62a2db-8501-45d4-b385-47a5d04dc2d9","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a210e241-be0e-4fcb-9c69-25afc5f0e0b5","type":"text/javascript","exec":[""]}}],"_postman_id":"031c9f2f-4882-4ac4-813f-aa64ee6a26c7"},{"name":"/Email","item":[{"name":"/Signature","item":[{"name":"{GET}","id":"89333e3f-1864-4dce-913a-7697be091deb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Email/Signature?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Email","Signature"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get Your Email Signature\n---\n\nThis endpoint will return your email signature.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request"},"response":[],"_postman_id":"89333e3f-1864-4dce-913a-7697be091deb"},{"name":"{PUT}","id":"ffbba7cd-6eeb-4b46-aa18-0f2b8fcd5116","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"CompanyID\": \"{{CompanyID}}\",\r\n    \"Signature\": \"<p>Austin Brown<br />B&amp;L Information Systems<br /><a href=\\\"http://www.blinfo.com\\\">www.blinfo.com</a></p>\"    \r\n}"},"url":{"raw":"{{ServerPath}}/Email/Signature?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Email","Signature"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get Your Email Signature\n---\n\nThis endpoint will update your email signature. Leave your signature blank to \"erase\" it\n\n# Parameters\n---\n\nThe body of your request should contain a JSON object with the following properties.\n\n### Required\n\n**Signature** - Type *string* **:**\nYour email signature. Leave this blank to \"erase\" your signature\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**APIKey** - Type *string* **:**\nThe optional APIKey used to authenticate this request. If not specified here, it must be specified in the X-API-Key HTTP header"},"response":[],"_postman_id":"ffbba7cd-6eeb-4b46-aa18-0f2b8fcd5116"}],"id":"3d9a9e1f-5f21-4b79-8c40-59c9f6cd037c","_postman_id":"3d9a9e1f-5f21-4b79-8c40-59c9f6cd037c"},{"name":"/Contacts","item":[{"name":"{GET}","id":"d14d965e-0c0e-4b30-89ad-09c97e64c696","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Email/Contacts?CompanyID={{CompanyID}}&SearchText=Austin","host":["{{ServerPath}}"],"path":["Email","Contacts"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":"Austin"}]},"description":"# Get List of Email Contacts\n---\n\nThis endpoint will return a list of email contacts based on the optional SearchText. It will only ever return up to 1,000 records that matched the given search critiera. Please specify \"SearchText\" if you wish to narrow your results, or find specific records if more than 1,000 are being returned.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**SearchText** - Type *string* **:**\nThis text will be searched for in the \"Email Address\" or \"Contact Name\" fields"},"response":[],"_postman_id":"d14d965e-0c0e-4b30-89ad-09c97e64c696"}],"id":"4f780c90-6be4-40e2-94a8-9395bdc3d754","_postman_id":"4f780c90-6be4-40e2-94a8-9395bdc3d754"},{"name":"{POST} (with files)","id":"3e1e7830-33ae-4f12-a4a7-7e09597bded5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"formdata","formdata":[{"key":"CompanyID","value":"{{CompanyID}}","type":"text"},{"key":"To","value":"abrown@blinfo.com","type":"text"},{"key":"CC","value":"","type":"text"},{"key":"Subject","value":"My Email Subject","type":"text"},{"key":"Body","value":"the body of my email Thanks!","type":"text"},{"key":"tk.png","type":"file","src":"/C:/Users/austi/Desktop/junk/tk.png"},{"key":"OdysseyFiles","value":"[CUSTOMERFILES]\\ODSY\\3.jpg","type":"text"},{"key":"OdysseyFiles","value":"[LINKS]\\File.jpg","type":"text"}]},"url":"{{ServerPath}}/Email","description":"# Send Email\n---\n\nThis procedure allows you to send an email through Odyssey with or without attachments\n\n# Parameters\n---\n\nThis request must be sent with \"multipart/form-data\" encoding to allow attachments to be uploaded. If not using attachments, you can send a normal, JSON request to the API to send an email.\n\nIf you are uploading attachments, you can simply add them as files to your request, and the API will automatically collect all files sent and attach them to the outgoing email.\n\nIn either case, the following properties can or must be used when sending emails.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**APIKey** - Type *string* **:**\nThe optional APIKey used to authenticate this request. If not specified here, it must be specified in the X-API-Key HTTP header\n\n**To** - Type *string* **:**\nThe list of email addresses to send this email to. Email Addresses should be comma separated in this list.\n\n**CC** - Type *string* **:**\nThe list of email addresses to CC this email to. Email Addresses should be comma separated in this list.\n\n**Subject** - Type *string* **:**\nThe subject of this email\n\n**Body** - Type *string* **:**\nThe content of this email\n\n**OdysseyFiles** - Type *string* **:**\nA list of fully qualified paths to files that exist in Odyssey's file system. If files are provided here, they will be copied out of the filesystem and sent as attachments in this email"},"response":[],"_postman_id":"3e1e7830-33ae-4f12-a4a7-7e09597bded5"},{"name":"{POST} (without files)","id":"db40c148-a747-403f-9d00-e834a665ad26","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"CompanyID\": \"{{CompanyID}}\",\r\n    \"To\": \"person@example.com\",\r\n    \"CC\": \"anotherperson@example.com\",\r\n    \"Subject\": \"My Email Subject\",\r\n    \"Body\": \"the body of my email Thanks!\",\r\n    \"SelectedUniqueIDs\": [ ],\r\n    \"APIName\": \"\",\r\n    \"OdysseyFiles\": [\r\n        \"[LINKS]\\\\3481.jpg\", \r\n        \"[CUSTOMERFILES]\\\\ODSY\\\\03406.jpg\"\r\n    ]\r\n}"},"url":"{{ServerPath}}/Email","description":"# Send Email\n---\n\nThis procedure allows you to send an email through Odyssey with or without attachments\n\n# Parameters\n---\n\nThis request must be sent with \"multipart/form-data\" encoding to allow attachments to be uploaded. If not using attachments, you can send a normal, JSON request to the API to send an email.\n\nIf you are uploading attachments, you can simply add them as files to your request, and the API will automatically collect all files sent and attach them to the outgoing email.\n\nIn either case, the following properties can or must be used when sending emails.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**APIKey** - Type *string* **:**\nThe optional APIKey used to authenticate this request. If not specified here, it must be specified in the X-API-Key HTTP header\n\n**To** - Type *string* **:**\nThe list of email addresses to send this email to. Email Addresses should be comma separated in this list.\n\n**CC** - Type *string* **:**\nThe list of email addresses to CC this email to. Email Addresses should be comma separated in this list.\n\n**Subject** - Type *string* **:**\nThe subject of this email\n\n**Body** - Type *string* **:**\nThe content of this email\n\n**OdysseyFiles** - Type *string* **:**\nA list of fully qualified paths to files that exist in Odyssey's file system. If files are provided here, they will be copied out of the filesystem and sent as attachments in this email"},"response":[],"_postman_id":"db40c148-a747-403f-9d00-e834a665ad26"}],"id":"7a60d719-0c7a-4b7e-846b-b99c8c088218","_postman_id":"7a60d719-0c7a-4b7e-846b-b99c8c088218"},{"name":"/Equipment","item":[{"name":"/RepairParts","id":"771b5b9a-9151-453b-b54e-bec8ee21cc91","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Equipment/RepairParts?CompanyID={{CompanyID}}&SearchText=FORKLIFT1","host":["{{ServerPath}}"],"path":["Equipment","RepairParts"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":"FORKLIFT1"}]},"description":"# Find Repair Parts\n---\n\nFinds up to 1,0000 Repair Parts that match the specified search text\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID to authenticate your request to the API\n\n**SearchText** - Type *string* **:**\nThe optional search term to find repair parts whose equipment matches the given value. If a value is provided, we will use a \"MATCHES\" search on the MainDB.EQParts.Equipment field to find all repair parts whose Equipment value MATCHES the specified search text. If a value is not provided, all records up to the maxmimum will be returned."},"response":[],"_postman_id":"771b5b9a-9151-453b-b54e-bec8ee21cc91"},{"name":"/{Equipment}/RepairParts","id":"805514e3-c216-43da-82d3-d5949612cbd2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Equipment/FORKLIFT1/RepairParts?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Equipment","FORKLIFT1","RepairParts"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Find Equipment-Specific Repair Parts\n---\n\nFinds up to the first 1,000 Repair Parts for the given piece of Equipment specified in the URL path.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID to authenticate your request to the API"},"response":[],"_postman_id":"805514e3-c216-43da-82d3-d5949612cbd2"},{"name":"{GET}","id":"a2e43e19-22ce-4e41-bc30-1bd63d744701","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Equipment/?CompanyID={{CompanyID}}&SearchText=FORK","host":["{{ServerPath}}"],"path":["Equipment",""],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":"FORK"}]},"description":"# Find Equipment\n---\n\nFinds up to 1,0000 pieces of Equipment that match the specified search text\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID to authenticate your request to the API\n\n**SearchText** - Type *string* **:**\nThe optional search term search for specific pieces of equipment. If a value is provided, we will use a \"MATCHES\" search on the MainDB.Equipment.Equipment and MainDB.Equipment.Description fields to find all pieces of equipment where the Equipment *OR* Description MATCHES the specified search text. \n\nIf a value is not provided, all records up to the maxmimum will be returned."},"response":[],"_postman_id":"a2e43e19-22ce-4e41-bc30-1bd63d744701"},{"name":"/{Equipment}","id":"3656b5e4-6e1c-452c-98fc-30e29e539962","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Equipment/FORKLIFT1?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Equipment","FORKLIFT1"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Find a Specific Piece of Equipment\n---\n\nFind an active piece of Equipment by the name specified in the URL path\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID to authenticate your request to the API"},"response":[],"_postman_id":"3656b5e4-6e1c-452c-98fc-30e29e539962"}],"id":"3feca522-3194-4142-881b-36abbdda0a24","_postman_id":"3feca522-3194-4142-881b-36abbdda0a24"},{"name":"/FetchData","item":[{"name":"/ABL","id":"55ff6a7a-7830-4c38-a13c-fdee82eb77fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"TableName\": \"Employees\",\n  \"ABLQuery\": \"Active = true\",\n  \"Sort\": \"ClockNumber\",\n  \"FieldList\": \"ClockNumber,Badge,Name\",\n  \"CompanyID\": \"{{CompanyID}}\"\n}"},"url":"{{ServerPath}}/FetchData/ABL","description":"# Fetch Data via ABL syntax\n\n---\n\nThis method allows you to specify a native Progress ABL query to fetch data. The ABL query must be a fully formed and syntactically valid ABL where clause. If the where clause contains `CompanyID`, then the query can span one or more companies. If `CompanyID` is not specified, then the query will only look in the company that you are logged into.\n\n# Parameters\n\n---\n\n**Dates within the where clause must be in MM/DD/YY format**\n\n**TableName** - Type _String_ **:**  \nThe name of the Odyssey table from which you wish to return data.\n\n**ABLQuery** - Type _String_ **:**  \nA fully formed and syntactically correct ABL where clause. This should not include the sort criteria as that is specified separately.\n\n**Sort** - Type _String_ **:**  \nA list of fields that define the order that the record will be returned. This must conform to the ABL sort criteria.\n\n**FieldList** - Type _String_ **:**  \nA comma-separated list of fields for which you are to receive data. If left blank, all fields in the table will be included in the return data set. If you specify only those fields that you want to see, the query will run faster and more efficiently.\n\n**CompanyID** - Type _String_ **:**  \nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"55ff6a7a-7830-4c38-a13c-fdee82eb77fb"},{"name":"/DataView","id":"afb6484a-7698-4ea0-a17c-66f35251aba1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"DataView\": \"OODAPITest\",\n  \"ParameterList\": [\n    {\n      \"FieldName\": \"maindb.products.product\",\n      \"Operator\": \">=\",\n      \"ParameterValue\" : \"b\"\n    }\n\t]\n}"},"url":"{{ServerPath}}/FetchData/DataView","description":"# Fetch DataView Data\n\n---\n\nThis method will run the specified data view and return the resulting data. All records, regardless of the batch size defined in the data view, will be returned.\n\n# Parameters\n\n---\n\n**Dates parameters must be in the same format as Odyssey is configured.** If Odyssey’s system configuration for date format is DMY, then dates must be in DD/MM/YY format. Dates can also be separated by a back slash (), forward slash (/), dash (-), or a period (.).\n\n**DataView** - Type _String_ **:**  \nThis identifies the name of the Data View to run. It must exist in the same company that you logged into.\n\n**ParameterList** - Type _List of_ `DataViewParameter` **:**  \nA list of DataViewParameter's that define the parameters you're passing to the data view. Each Parameter name must be fully qualified using periods to separate the database, table, and field names (e.g. maindb.orderitem.customer). If your parameter is defined as a filter with multiple values, those different values can be specified by separating them with a tilde (\\~) (e.g. \"FieldName\": \"maindb.orderitem.groupcode\", \"Operator\": \"Between\", “ParameterValue\": \"GRP1\\~GRP2”).\n\n**CompanyID** - Type _String_ **:**  \nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"afb6484a-7698-4ea0-a17c-66f35251aba1"},{"name":"/SQL","id":"b040a84f-3feb-485d-b7e1-916246edf49b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"SQLQuery\": \"SELECT TOP 5 * FROM Employees\",\n  \"Page\": 1,\n  \"BatchSize\": 5,\n  \"CompanyID\": \"{{CompanyID}}\"\n}"},"url":"{{ServerPath}}/FetchData/SQL","description":"# Fetch Data With SQL Queries\r\n---\r\n\r\nThis method will allow you to return data from Odyssey using SQL-92 syntax.\r\n\r\nThis method uses the same ODBC connectivity as Crystal Reports and will use the PUB `username` and `password` as defined in Odyssey. \r\n\r\n# Parameters\r\n---\r\n\r\n**Dates within the where clause must be in MM/DD/YY format.**\r\n\r\n**SQLQuery** - Type *String* **:** \r\nThis is a fully formed and fully qualified SQL query that conforms to SQL-92 syntax. The tables specified and the field specified in the SQL statement must exist as defined in the database in order for the query to work.\r\n\r\n**Page** - Type *Integer* **:** \r\nIf you only want to return a subset of records, you can identify which page of records to return. If this is 0, then all records from the database table specified in the SQL query are returned.\r\n\r\n**Sort** - Type *String* **:** \r\nA list of fields that define the order that the record will be returned. This must conform to the ABL sort criteria.\r\n\r\n**BatchSize** - Type *Integer* **:** \r\nA comma-separated list of fields for which you are to receive data. If left blank, all fields in the table will be included in the return data set. If you specify only those fields that you want to see, the query will run faster and more efficiently.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"b040a84f-3feb-485d-b7e1-916246edf49b"},{"name":"/SQLasXML","id":"0de753d4-7dbd-43a4-b30a-749ff4feaddd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"SQLQuery\": \"SELECT TOP 5 * FROM Employees\",\n  \"Page\": 1,\n  \"BatchSize\": 5,\n  \"CompanyID\": \"{{CompanyID}}\"\n}"},"url":"{{ServerPath}}/FetchData/SQLasXML","description":"# Fetch Data With SQL Queries (as XML)\r\n---\r\n\r\n**The response will contain an XML document.**\r\n\r\nThis method will allow you to return data from Odyssey using SQL-92 syntax.\r\n\r\nThis method uses the same ODBC connectivity as Crystal Reports and will use the PUB `username` and `password` as defined in Odyssey. \r\n\r\n**Dates within the where clause must be in MM/DD/YY format.**\r\n\r\n# Parameters\r\n---\r\n\r\n**SQLQuery** - Type *String* **:** \r\nThis is a fully formed and fully qualified SQL query that conforms to SQL-92 syntax. The tables specified and the field specified in the SQL statement must exist as defined in the database in order for the query to work.\r\n\r\n**Page** - Type *Integer* **:** \r\nIf you only want to return a subset of records, you can identify which page of records to return. If this is 0, then all records from the database table specified in the SQL query are returned.\r\n\r\n**BatchSize** - Type *Integer* **:** \r\nA comma-separated list of fields for which you are to receive data. If left blank, all fields in the table will be included in the return data set. If you specify only those fields that you want to see, the query will run faster and more efficiently.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"0de753d4-7dbd-43a4-b30a-749ff4feaddd"}],"id":"06c791ed-0164-4f74-b80f-cb90bd499913","description":"This FetchDataController provides various ways to fetch data from Odyssey.\r\n\r\n","_postman_id":"06c791ed-0164-4f74-b80f-cb90bd499913"},{"name":"/FileSystem","item":[{"name":"/File","item":[{"name":"{GET}","id":"c7461076-a513-432c-972a-74311b595330","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/FileSystem/File?Path=[LINKS]/01fig02.jpg&PublicKey={{PublicKey}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["FileSystem","File"],"query":[{"key":"Path","value":"[LINKS]/01fig02.jpg"},{"key":"PublicKey","value":"{{PublicKey}}","description":"The public key that is generated by the client to access the API."},{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Fetch an Image\n---\n\nThis endpoint allows you to fetch an Image from the system using the ImageKey. \nThis will return the raw binary data for an image, allowing it to be embedded into an application that can display images.\n\n# Parameters\n---\n\n**ImageKey** - Type *string* **:**\nThe unique, encrypted identifier for this image\n\n**PublicKey** - Type *string* **:**\nThe public part of your API Key, if it is not provided in the X-API-Key Header. This parameter is optional. You should never pass your private, un-encrypted APIKey to this parameter.\n\n**CompanyID** - Type *String* **:** \nThis optional parameter defines the CompanyID to use for APIKey validation, if using a global APIKey. If your APIKey was generated for a specific company, you do not have to supply this parameter."},"response":[],"_postman_id":"c7461076-a513-432c-972a-74311b595330"},{"name":"/Rename {POST}","id":"e4468bb5-e935-4212-8e01-8b49bce391f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"File\": \"[LINKS]/AGB/Folder1/some-file.txt\",\r\n    \"NewName\": \"some-file-renamed.txt\"\r\n}"},"url":"{{ServerPath}}/FileSystem/File/Rename","description":"# Rename an Odyssey File\n---\n\nRenames the given file."},"response":[],"_postman_id":"e4468bb5-e935-4212-8e01-8b49bce391f2"}],"id":"2a2b48e1-d775-4774-adcb-8486c26f46c2","_postman_id":"2a2b48e1-d775-4774-adcb-8486c26f46c2"},{"name":"/Files","item":[{"name":"{GET}","id":"0cab82c0-9ba6-4a5b-aafa-dffceec0b129","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/FileSystem/Files?CompanyID={{CompanyID}}&Path=[LINKS]/AGB/Test","host":["{{ServerPath}}"],"path":["FileSystem","Files"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"Path","value":"[LINKS]/AGB/Test"}]},"description":"# Get Odyssey Files\n---\n\nGets the list of files that exist at the given path. If no path is provided, an error will be returned. A valid path must be specified\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe name of the Company to use to authenticate your API request. This is optional if using a company-specific API Key\n\n**Path** - Type *string* **:**\nThe URL-encoded path to location which you wish to find files in"},"response":[],"_postman_id":"0cab82c0-9ba6-4a5b-aafa-dffceec0b129"},{"name":"{POST}","id":"8297f2e4-99dc-4ec0-9f8f-1da846fc8bd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"warning":"This is a duplicate header and will be overridden by the Content-Type header generated by Postman.","description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"/Users/austinbrown/Downloads/IMG_6228.jpg"}]},"url":{"raw":"{{ServerPath}}/FileSystem/Files?CompanyID={{CompanyID}}&Path=[LINKS]/AGB/Test","host":["{{ServerPath}}"],"path":["FileSystem","Files"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"Path","value":"[LINKS]/AGB/Test"}]},"description":"# Upload Odyssey Files\n---\n\nUploads new files to the target path. In order for this request to work properly, you must attach files to it in the content of a multipart/form-data request.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe name of the Company to use to authenticate your API request. This is optional if using a company-specific API Key\n\n**Path** - Type *string* **:**\nThe URL-encoded path to location which you wish to find files in"},"response":[],"_postman_id":"8297f2e4-99dc-4ec0-9f8f-1da846fc8bd6"},{"name":"{DELETE}","id":"62b614e2-4270-4c69-ad6c-117e9f86642d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Files\": [\r\n        \"[LINKS]/AGB/Folder1/some-file.txt\",\r\n        \"[LINKS]/AGB/Folder1/some-photo.jpg\"\r\n    ]\r\n}"},"url":"{{ServerPath}}/FileSystem/Files","description":"# Delete Odyssey Files\n---\n\nDeletes the list of Odyssey files."},"response":[],"_postman_id":"62b614e2-4270-4c69-ad6c-117e9f86642d"},{"name":"/Copy {POST}","id":"802afbfc-8aad-4e51-8b4e-cfcf64476947","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Files\": [\r\n        \"[LINKS]/AGB/Folder1/some-file.txt\",\r\n        \"[LINKS]/AGB/Folder1/some-photo.jpg\"\r\n    ],\r\n    \"TargetPath\": \"[LINKS]/AGB/Folder2\",\r\n    \"Overwrite\": false\r\n}"},"url":"{{ServerPath}}/FileSystem/Files/Copy","description":"# Copy Odyssey Files\n---\n\nCopies the given list of files to the target path"},"response":[],"_postman_id":"802afbfc-8aad-4e51-8b4e-cfcf64476947"},{"name":"/Move {POST}","id":"304c9614-77f3-4a28-ab91-9a581874404e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Files\": [\r\n        \"[LINKS]/AGB/Folder1/some-file.txt\",\r\n        \"[LINKS]/AGB/Folder1/some-photo.jpg\"\r\n    ],\r\n    \"TargetPath\": \"[LINKS]/AGB/Folder2\",\r\n    \"Overwrite\": false\r\n}"},"url":"{{ServerPath}}/FileSystem/Files/Move","description":"# Move Odyssey Files\n---\n\nMoves the given list of files to the target path"},"response":[],"_postman_id":"304c9614-77f3-4a28-ab91-9a581874404e"}],"id":"8db148a2-e987-4c92-87d0-8baf6a3b6bd2","_postman_id":"8db148a2-e987-4c92-87d0-8baf6a3b6bd2"},{"name":"/Folder","item":[{"name":"{POST}","id":"596f15a4-8854-4bfe-b6e1-0cc905d04098","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Folder\": \"[LINKS]/AGB/NewFolderName\"\r\n}"},"url":"{{ServerPath}}/FileSystem/Folder","description":"# Create an Odyssey Folder\n---\n\nCreates a new Odyssey Folder"},"response":[],"_postman_id":"596f15a4-8854-4bfe-b6e1-0cc905d04098"},{"name":"/Rename {POST}","id":"37ebb1dc-129b-49a4-9e03-2e0bacf15e83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Folder\": \"[LINKS]/AGB/Folder1\",\r\n    \"NewName\": \"Folder2\"\r\n}"},"url":"{{ServerPath}}/FileSystem/Folder/Rename","description":"# Rename an Odyssey Folder\n---\n\nRenames the given folder."},"response":[],"_postman_id":"37ebb1dc-129b-49a4-9e03-2e0bacf15e83"}],"id":"e56f4e12-98d7-4a78-8b6f-12817352b956","_postman_id":"e56f4e12-98d7-4a78-8b6f-12817352b956"},{"name":"/Folders","item":[{"name":"{GET}","id":"7ac8c68f-0df1-4c49-a5d6-ceedd0a07a27","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/FileSystem/Folders?CompanyID={{CompanyID}}&Path=[LINKS]/AGB/Test","host":["{{ServerPath}}"],"path":["FileSystem","Folders"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"Path","value":"[LINKS]/AGB/Test"}]},"description":"# Get Odyssey Folders\n---\n\nGets the list of folders that exist at the given path. If no path is provided, the root location will be used.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe name of the Company to use to authenticate your API request. This is optional if using a company-specific API Key\n\n**Path** - Type *string* **:**\nThe URL-encoded path to location which you wish to find folders in. Leave blank for the 'root' level"},"response":[],"_postman_id":"7ac8c68f-0df1-4c49-a5d6-ceedd0a07a27"},{"name":"{DELETE}","id":"1e38b9df-eecc-45a5-b990-ff6fedb6be88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Folders\": [\r\n        \"[LINKS]/AGB/Folder1\",\r\n        \"[LINKS]/AGB/Folder2\"\r\n    ]\r\n}"},"url":"{{ServerPath}}/FileSystem/Folders","description":"# Delete Odyssey Folders\n---\n\nDeletes the list of Odyssey folders."},"response":[],"_postman_id":"1e38b9df-eecc-45a5-b990-ff6fedb6be88"},{"name":"/Copy {POST}","id":"d130a805-642b-4dee-b5f5-30a4a3baf985","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Folders\": [\r\n        \"[LINKS]/AGB/Folder1\",\r\n        \"[LINKS]/AGB/Folder2\"\r\n    ],\r\n    \"TargetPath\": \"[LINKS]/NewLocation/NotAGB\",\r\n    \"Overwrite\": false\r\n}"},"url":"{{ServerPath}}/FileSystem/Folders/Copy","description":"# Copy Odyssey Folders\n---\n\nCopies the given list of folders to the target path"},"response":[],"_postman_id":"d130a805-642b-4dee-b5f5-30a4a3baf985"},{"name":"/Move {POST}","id":"0ebf57b1-36b2-4c09-8e44-26513ef55cee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"Folders\": [\r\n        \"[LINKS]/AGB/Folder1\",\r\n        \"[LINKS]/AGB/Folder2\"\r\n    ],\r\n    \"TargetPath\": \"[LINKS]/NewLocation/NotAGB\",\r\n    \"Overwrite\": false\r\n}"},"url":"{{ServerPath}}/FileSystem/Folders/Move","description":"# Move Odyssey Folders\n---\n\nMoves the given list of folders to the target path"},"response":[],"_postman_id":"0ebf57b1-36b2-4c09-8e44-26513ef55cee"}],"id":"f39a30ac-d257-4f3e-9d5a-48457f8e8d61","_postman_id":"f39a30ac-d257-4f3e-9d5a-48457f8e8d61"}],"id":"426f9cb8-07ff-4e8f-9794-f494a8c0abd0","_postman_id":"426f9cb8-07ff-4e8f-9794-f494a8c0abd0"},{"name":"/GeneralCodes","item":[{"name":"/{CodeType} {GET}","id":"87b2f9fa-bddb-4c71-a30c-d9ac01a8b94c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/GeneralCodes/NOTY?CompanyID={{CompanyID}}&SearchText=type","host":["{{ServerPath}}"],"path":["GeneralCodes","NOTY"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":"type"}]},"description":"# Get General Codes\n---\n\nThis endpoint will return a list of general codes matching the given type.It will only ever return up to 1,000 records that matched the given search critiera. Please specify \"SearchText\" if you wish to narrow your results, or find specific records if more than 1,000 are being returned.\n\n# Parameters\n---\n\n**CodeType** - Type *string* **:**\nThe type of General Codes that you are looking for.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**SearchText** - Type *string* **:**\nThis text will be searched for in the \"CodeID\" or \"Description\" fields"},"response":[],"_postman_id":"87b2f9fa-bddb-4c71-a30c-d9ac01a8b94c"}],"id":"7298a4e9-82b3-4af3-95aa-ff7e74d2c621","_postman_id":"7298a4e9-82b3-4af3-95aa-ff7e74d2c621"},{"name":"/Help","item":[{"name":"/Asset","id":"1c73e44d-50d4-4c00-a426-673deb9f04dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Help/Asset?AssetName={{AssetName}}","host":["{{ServerPath}}"],"path":["Help","Asset"],"query":[{"key":"AssetName","value":"{{AssetName}}","description":"The asset to request from the server."}]},"description":"# Asset Retrieval\n\n***\n\nFetch a publicly-available Help asset (such as a CSS or JavaScript file) that is contained in the set of OODAPI Asset\n\n# Parameters\n---\n\n**AssetName** - Type *string* **:**\nThe name of the asset to fetch. If not provided, it will return the document script by default."},"response":[],"_postman_id":"1c73e44d-50d4-4c00-a426-673deb9f04dd"},{"name":"/Category","id":"2e56a00f-af58-4806-9023-d7a0f76abcaf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Help/Category?DocCode={{DocCode}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Help","Category"],"query":[{"key":"DocCode","value":"{{DocCode}}","description":"The document code that groups together the desired help categories."},{"key":"CompanyID","value":"{{CompanyID}}","description":"The CompanyID for the help categories you wish to find."}]},"description":"# Help Category Search\n\n***\n\nFetch a list of help categories for a company for a given document code. \n\n# Parameters\n---\n\n**DocCode** - Type *string* **:**\nThe identifier for the group of categories you wish to retrieve\n\n**CompanyID** - Type *string* **:**\nThe company for which you wish to find categories."},"response":[],"_postman_id":"2e56a00f-af58-4806-9023-d7a0f76abcaf"},{"name":"/Category/CategoryID","id":"0bb2bd96-fa1b-4b21-ba9c-f133364ef5c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Help/Category/{{CategoryID}}/Documents?DocCode={{DocCode}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Help","Category","{{CategoryID}}","Documents"],"query":[{"key":"DocCode","value":"{{DocCode}}","description":"The document code that groups together the desired help categories."},{"key":"CompanyID","value":"{{CompanyID}}","description":"The CompanyID for the help categories you wish to find."}]},"description":"# Get Documents by Category\n---\n\nFetch a list of help documents for a given Category ID.\n\n# Parameters\n---\n\n**CategoryID** - Type *integer* **:**\nThe Category ID for which you wish to find documents.\n\n**DocCode** - Type *string* **:**\nThe identifier for the group of documents you wish to retrieve\n\n**CompanyID** - Type *string* **:**\nThe company for which you wish to find documents."},"response":[],"_postman_id":"0bb2bd96-fa1b-4b21-ba9c-f133364ef5c8"},{"name":"/Convert","id":"cbe55fa2-c32c-45f2-b24f-317a93997c40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"formdata","formdata":[{"key":"DocCode","value":"{{DocCode}}","type":"text"},{"key":"DocName","value":"{{DocName}}","type":"text"},{"key":"UniqueID","value":"{{DocumentId}}","type":"text"},{"key":"Button Designer.docx","type":"file","src":"/C:/Users/ABrown/Desktop/ButtonDesigner.docx"}]},"url":{"raw":"{{ServerPath}}/Help/Convert?PublicKey={{PublicKey}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Help","Convert"],"query":[{"key":"PublicKey","value":"{{PublicKey}}"},{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Word Document to HTML Help Document Conversion\n---\n\nThis procedure allows you to upload a DOCX file and convert it to UTF-8 HTML.\nIf you're unable to upload form data in the form of a ConvertHelpRequest, you must add a Url Parameter named PublicKey this request. You must use this when using Public/Private key pairs.\nAdditionally, you may need to provide a Url Parameter named CompanyID to specify the company.\n\n# Notes\n---\n\nThis method should be constructed as a `multipart/form-data` request, and it should contain the file that you wish to convert. This file should be a Word `.docx` file.\n\n# Parameters\n---\n\n**DocCode** - Type *string* **:**\nThe DocCode for the set of documents you're modifying\n\n**DocName** - Type *string* **:**\nThe name of the document\n\n**UniqueID** - Type *string* **:**\nThe unique ID of the document"},"response":[],"_postman_id":"cbe55fa2-c32c-45f2-b24f-317a93997c40"},{"name":"/{DocumentId}","id":"a9cdef02-d056-4b77-a024-c8717825c062","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Help/{{DocumentId}}?DocCode={{DocCode}}&CompanyID={{CompanyID}}&PublicKey={{PublicKey}}&DocName={{DocName}}&SearchWords={{SearchWords}}","host":["{{ServerPath}}"],"path":["Help","{{DocumentId}}"],"query":[{"key":"DocCode","value":"{{DocCode}}","description":"The document code that groups together the desired help categories."},{"key":"CompanyID","value":"{{CompanyID}}","description":"The CompanyID for the help categories you wish to find."},{"key":"PublicKey","value":"{{PublicKey}}","description":"The public key that is generated by the client to access the API."},{"key":"DocName","value":"{{DocName}}","description":"The name of the document to search for."},{"key":"SearchWords","value":"{{SearchWords}}","description":"Words that will be searched against inside of a document."}]},"description":"# Search By Document ID\n---\n\nReturn a document based on the document identifier.\n\n# Parameters\n---\n\n**DocumentId** - Type *integer* **:**\nThe unique ID of the document you're fetching.\n\n**DocCode** - Type *string* **:**\nThe document code.\n\n**CompanyID** - Type *string* **:**\nThe CompanyID you are logging into.\n\n**PublicKey** - Type *string* **:**\nThis parameter is optional.\n\n**DocName** - Type *string* **:**\nIf you provide a DocName, it will be used to search instead of the given unique ID\n\n**SearchWords** - Type *string* **:**\nA list of search words to try to highlight in the document, comma separated\n\n**NoCache** - Type *boolean* **:**\nWhether to ignore the cache for this request"},"response":[],"_postman_id":"a9cdef02-d056-4b77-a024-c8717825c062"},{"name":"/Info","id":"e86a46e0-bdbd-4668-ab6b-4807839ddfd5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"UniqueID\": \"0\",\n  \"DocCode\": \"ODSYWHELP\",\n  \"DocName\": \"WELCOME\",\n  \"IsSystem\": \"true\"\n}"},"url":"{{ServerPath}}/Help/Info","description":"# Help Document Information\n---\n\nThis procedure allows you to find the UniuqeID of a document given its name, or it allows you to find the DocName of a document, give its UniuqeID.\n\n# Parameters\n---\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the document you're requesting information for\n\n**DocCode** - Type *string* **:**\nThe DocCode you're requesting information for\n\n**DocName** - Type *string* **:**\nThe name of the document you're requesting information for\n\n**IsSystem** - Type *boolean* **:**\nWhether this is a system document. Set this to false when looking for Custom Help information. Set this to true when looking for System Help information.\n\n**APIKey** - Type *string* **:**\nA valid APIKey to authenticate access to the API.\n\n**CompanyID** - Type *string* **:**\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"e86a46e0-bdbd-4668-ab6b-4807839ddfd5"},{"name":"/RapidSupport/Link","id":"657add18-21a9-4502-b428-157b215e5570","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"{{ServerPath}}/Help/RapidSupport/Link?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Help","RapidSupport","Link"],"query":[{"key":"CompanyID","value":"{{CompanyID}}","description":"The company ID for the user that is associated with the APIKey in the header of this request."}]},"description":"# Rapid Support Link Request\r\n---\r\n\r\nGets a temporary, encrypted link to Rapid Support\r\n\r\n# Parameters\r\n---\r\n\r\n**CompanyID** - Type *string* **:**\r\nThe CompanyID you are going to login to Rapid Support with"},"response":[],"_postman_id":"657add18-21a9-4502-b428-157b215e5570"},{"name":"/RequestLock","id":"dc891fb2-974d-4a7d-a82c-21cdddce2a0c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"UniqueID\": \"0\",\n  \"DocCode\": \"ODSYWHELP\",\n  \"DocName\": \"WELCOME\",\n  \"IsSystem\": \"true\",\n  \"IsManagement\": \"false\",\n  \"RequestLock\": \"false\"\n}"},"url":"{{ServerPath}}/Help/RequestLock","description":"# Lock or Unlock Documents\r\n---\r\n\r\nThis procedure allows to request a document lock or unlock within the help system.\r\nLocking a help document will prevent other users from attempting to edit it while you are editing it. Unlocking a document is necessary when finished editing so that others may edit the document.\r\n\r\nPlease note that when you log out of the Odyssey application, any active document locks that were generated by your UserID + CompanyID are removed.\r\n\r\n# Parameters\r\n---\r\n\r\n**UniqueID** - Type *integer* **:**\r\nThe UniqueID of the document you're updating.\r\n\r\n**DocCode** - Type *string* **:**\r\nThe DocCode you're updating\r\n\r\n**DocName** - Type *string* **:**\r\nThe name of the document you're updating.\r\n\r\n**IsSystem** - Type *boolean* **:**\r\nWhether this is a system document. Set this to false when requesting a lock/unlock for Custom Help. Set this to true when requesting a lock/unlock for System Help.\r\n\r\n**IsManagement** - Type *boolean* **:**\r\nWhether this is a lock request for management of the structure of help, not just a single document.\r\n\r\n**RequestLock** - Type *boolean* **:**\r\nWhether you're requesting a new lock in this request. The default is true. If this value is false, then the associated record will be unlocked.\r\n\r\n**APIKey** - Type *string* **:**\r\nA valid APIKey to authenticate access to the API.\r\n\r\n**CompanyID** - Type *string* **:**\r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"dc891fb2-974d-4a7d-a82c-21cdddce2a0c"},{"name":"/Search","id":"2d6d1ef3-c759-46fb-af3a-5c7be5315494","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Help/Search?SearchPartsString={{SearchPartsString}}&DocCode={{DocCode}}&CompanyID={{CompanyID}}&PublicKey={{PublicKey}}&DocName={{DocName}}","host":["{{ServerPath}}"],"path":["Help","Search"],"query":[{"key":"SearchPartsString","value":"{{SearchPartsString}}","description":"The JSON string version of a HelpSearchParts instance"},{"key":"DocCode","value":"{{DocCode}}","description":"The document code that groups together the desired help categories."},{"key":"CompanyID","value":"{{CompanyID}}","description":" The CompanyID for the help categories you wish to find."},{"key":"PublicKey","value":"{{PublicKey}}","description":"The public key that is generated by the client to access the API."},{"key":"DocName","value":"{{DocName}}","description":"The name of the document to search for."}]},"description":"# Help Search\n---\n\nFetch a list of help documents that match the search strings for a company for a given document code.\n\n# Parameters\n---\n\n**SearchPartsString** - Type *string* **:**\nThe JSON string version of a HelpSearchParts instance, containing an array of strings for \"Phrases\" and an array of strings for \"Words\".\n\n**DocCode** - Type *string* **:**\nThe identifier for the group of categories you wish to retrieve\n\n**CompanyID** - Type *string* **:**\nThe company for which you wish to find categories.\n\n**PublicKey** - Type *string* **:**\nThis parameter should only be used with a temporary, encrypted API Key."},"response":[],"_postman_id":"2d6d1ef3-c759-46fb-af3a-5c7be5315494"},{"name":"/Search/{Page}","id":"c8590175-a932-4a73-ae7e-3eb35d02a71d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Help/Search/{{PageNumber}}?SearchPartsString={{SearchPartsString}}&DocCode={{DocCode}}&CompanyID={{CompanyID}}&BatchSize={{BatchSize}}&PublicKey={{PublicKey}}&DocName={{DocName}}","host":["{{ServerPath}}"],"path":["Help","Search","{{PageNumber}}"],"query":[{"key":"SearchPartsString","value":"{{SearchPartsString}}","description":"The JSON string version of a HelpSearchParts instance"},{"key":"DocCode","value":"{{DocCode}}","description":"The document code that groups together the desired help categories."},{"key":"CompanyID","value":"{{CompanyID}}","description":" The Company ID for the help categories you wish to find."},{"key":"BatchSize","value":"{{BatchSize}}","description":"The number of records to return at the given page."},{"key":"PublicKey","value":"{{PublicKey}}","description":"The public key that is generated by the client to access the API."},{"key":"DocName","value":"{{DocName}}","description":"The name of the document to search for."}]},"description":"# Help Search by Page\n---\n\nFetch a specific page of help documents returned that match the search strings for a company for a given document code.\n\n# Parameters\n---\n\n**PageNumber** - Type *integer* **:**\nThe current page of search results for the given query.\n\n**SearchPartsString** - Type *string* **:**\nThe JSON string version of a HelpSearchParts instance, containing an array of strings for \"Phrases\" and an array of strings for \"Words\".\n\n**DocCode** - Type *string* **:**\nThe identifier for the group of categories you wish to retrieve\n\n**CompanyID** - Type *string* **:**\nThe company for which you wish to find categories.\n\n**BatchSize** - Type *integer* **:**\nThe number of records to return at the given page.\n\n**PublicKey** - Type *string* **:**\nThis parameter should only be used with a temporary, encrypted API Key."},"response":[],"_postman_id":"c8590175-a932-4a73-ae7e-3eb35d02a71d"},{"name":"/Update","id":"231ee95b-50f2-4e78-a13b-e293b35f92fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"DocCode\": \"DocCode\",\n  \"Categories\": \n  [\n\t{\n\t\t\"UniqueID\": 0,\n\t\t\"DocCode\" : \"DocCode\",\n\t\t\"DocName\": \"DocName\",\n\t\t\"DocTitle\": \"The title of the doc\",\n\t\t\"ParentCategory\": \"ParentCategoryID\",\n\t\t\"Overview\": \"The overview of this document\",\n\t\t\"CategoryTitle\" : \"\",\n\t\t\"CategoryID\" : 0,\n\t\t\"GUID\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n\t\t\"Action\": \"A|U|D\",\n\t\t\"IsNew\": true\n\t}\n  ],\n  \"Documents\": \n\t[\n\t  \t{\n\t\t\t\"UniqueID\": 0,\n\t\t\t\"DocCode\" : \"DocCode\",\n\t\t\t\"DocName\": \"DocName\",\n\t\t\t\"DocTitle\": \"The title of the doc\",\n\t\t\t\"ParentCategory\": \"ParentCategoryID\",\n\t\t\t\"Overview\": \"The overview of this document\",\n\t\t\t\"CategoryTitle\" : \"\",\n\t\t\t\"CategoryID\" : 0,\n\t\t\t\"GUID\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n\t\t\t\"Action\": \"A|U|D\",\n\t\t\t\"IsNew\": true\n\t\t}\n\t]\n}"},"url":"{{ServerPath}}/Help/Update","description":"# Update Help Structure\n---\n\nThis procedure allows you to update the structure of documents in the help system based on DocCode. Please note that this is an advanced function and should only be performed under the supervision of B&L.\n\n# Parameters\n---\n\n**DocCode** - Type *string* **:**\nThe DocCode for the set of documents you're modifying\n\n**Categories** - Type *Collection of UpdateHelpModel* **:**\nThe new list of all categories.\n\n**Documents** - Type *Collection of UpdateHelpModel* **:**\nA list of documents that we have added, updated, or deleted.\n\n**APIKey** - Type *string* **:**\nA valid APIKey to authenticate access to the API.\n\n**CompanyID** - Type *string* **:**\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"231ee95b-50f2-4e78-a13b-e293b35f92fe"},{"name":"/UpdateDocument","id":"58ac05f5-b7dd-4cbf-852e-a3a9629222f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"UniqueID\": \"0\",\n  \"DocCode\": \"DocCode\",\n  \"DocName\": \"DocName\",\n  \"DocBody\": \"The content of my Help document\",\n  \"IsSystem\": \"false\"\n}"},"url":"{{ServerPath}}/Help/UpdateDocument","description":"# Update Help Document\n---\n\nThis procedure allows you to update the contents of a document in the help system. You can provide new UTF-8 HTML content for an existing document in the help system.\n\n\n# Parameters\n---\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the document you're updating.\n\n**DocCode** - Type *string* **:**\nThe DocCode you're updating\n\n**DocName** - Type *string* **:**\nThe name of the document you're updating.\n\n**DocBody** - Type *string* **:**\nThe base64 encoded string version of the UTF-8 HTML content of the document.\n\n**IsSystem** - Type *boolean* **:**\nWhether this is a system document\n\n**APIKey** - Type *string* **:**\nA valid APIKey to authenticate access to the API.\n\n**CompanyID** - Type *string* **:**\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"58ac05f5-b7dd-4cbf-852e-a3a9629222f2"}],"id":"685a276b-33cc-4771-9b84-326dc5182c36","description":"Help endpoints are a collection of all the endpoints open for access to the Odyssey online help files. These are stored and curated withing the main database itself, and allow for searching for document key words, or a specific document via the  `OODAPI`.\r\n\r\n## Important Considerations:\r\n\r\nCertain endpoints require the use of a system generated `PublicKey` Key segment. The `PublicKey` is only for use within the Odyssey Help Application.","event":[{"listen":"prerequest","script":{"id":"68377d67-d4d5-4a42-9f67-be930b900fc0","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"1a97df7c-cc4a-490d-ad98-0b82e9912052","type":"text/javascript","exec":[""]}}],"_postman_id":"685a276b-33cc-4771-9b84-326dc5182c36"},{"name":"/Image","item":[{"name":"{GET}","id":"86ec45ee-6ee8-4974-b47c-bdc2a5d2182a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Image?ImageKey={{ImageKey}}&PublicKey={{PublicKey}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Image"],"query":[{"key":"ImageKey","value":"{{ImageKey}}"},{"key":"PublicKey","value":"{{PublicKey}}","description":"The public key that is generated by the client to access the API."},{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Fetch an Image\n---\n\nThis endpoint allows you to fetch an Image from the system using the ImageKey. \nThis will return the raw binary data for an image, allowing it to be embedded into an application that can display images.\n\n# Parameters\n---\n\n**ImageKey** - Type *string* **:**\nThe unique, encrypted identifier for this image\n\n**PublicKey** - Type *string* **:**\nThe public part of your API Key, if it is not provided in the X-API-Key Header. This parameter is optional. You should never pass your private, un-encrypted APIKey to this parameter.\n\n**CompanyID** - Type *String* **:** \nThis optional parameter defines the CompanyID to use for APIKey validation, if using a global APIKey. If your APIKey was generated for a specific company, you do not have to supply this parameter."},"response":[],"_postman_id":"86ec45ee-6ee8-4974-b47c-bdc2a5d2182a"}],"id":"6b6490ba-e64f-42c4-9fe5-1f8b055d473b","description":"This controller allows you to fetch Images from the Odyssey system","_postman_id":"6b6490ba-e64f-42c4-9fe5-1f8b055d473b"},{"name":"/Login","item":[{"name":"{POST}","id":"d81d5a3a-df3c-42a9-bd8a-e35029c9d7d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Username\": \"{{Username}}\",\r\n  \"Password\": \"{{Password}}\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Login","description":"# Login to Odyssey\n---\n\nAttempts to log the given user into the specified Company. If successful, you receive a temporary API Key that can be used to call other OODAPI procedures.\n\n# Parameters\n---\n\n**Username** - Type *string* **:**\nThe username of the user you're logging in for\n\n**Password** - Type *string* **:**\nThe password of the user you're logging in for\n\n**CompanyID** - Type *string* **:**\nThe CompanyID of the company you're logging into"},"response":[],"_postman_id":"d81d5a3a-df3c-42a9-bd8a-e35029c9d7d9"},{"name":"/Companies","id":"d306bda3-27be-4fe2-91d8-7555ae14bfc3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Username\": \"{{Username}}\",\r\n  \"Password\": \"{{Password}}\"\r\n}"},"url":"{{ServerPath}}/Login/Companies","description":"# Get List of Companies\n---\n\nGets a list of companies available to the given user/password combination. Will return an error if invalid credentials are supplied.\n\n# Parameters\n---\n\n**Username** - Type *string* **:**\nThe username of the user you're logging in for\n\n**Password** - Type *string* **:**\nThe password of the user you're logging in for"},"response":[],"_postman_id":"d306bda3-27be-4fe2-91d8-7555ae14bfc3"}],"id":"678c2c8f-f0c4-4d92-80cb-f0e2a2ac8965","description":"The `EDI` endopints are used to communicate e-commerce requesets and transactions to Odyssey EDI tables.","event":[{"listen":"prerequest","script":{"id":"1a62a2db-8501-45d4-b385-47a5d04dc2d9","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a210e241-be0e-4fcb-9c69-25afc5f0e0b5","type":"text/javascript","exec":[""]}}],"_postman_id":"678c2c8f-f0c4-4d92-80cb-f0e2a2ac8965"},{"name":"/Menu","item":[{"name":"{GET}","id":"e8a43e7c-907a-45f0-a4f0-27f05ed2a2ea","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"X-API-Key","value":"{{APIKey}}","type":"text"}],"url":{"raw":"{{ServerPath}}/Menu?ParentID=&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Menu"],"query":[{"key":"ParentID","value":""},{"key":"CompanyID","value":"{{CompanyID}}"}]}},"response":[],"_postman_id":"e8a43e7c-907a-45f0-a4f0-27f05ed2a2ea"}],"id":"dd236cd3-0181-435a-a7e1-a916e3c2ba09","_postman_id":"dd236cd3-0181-435a-a7e1-a916e3c2ba09"},{"name":"/Note","item":[{"name":"{POST}","id":"a00a5dab-7b8f-4563-a000-008c993984d6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"CompanyID\": \"{{CompanyID}}\",\r\n    \"NoteType\": \"T1\",\r\n    \"TableName\": \"MainDB.Contacts\",\r\n    \"Description\": \"Note Title (API Test)\",\r\n    \"Note\": \"The content of my note from the API...\",\r\n    \"UniqueID\" : 893\r\n}"},"url":"{{ServerPath}}/Note","description":"# Create a Note\n---\n\nCreates a note within Odyssey for the given record.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request\n\n**APIKey** - Type *string* **:**\nThe optional APIKey used to authenticate this request. If not specified here, it must be specified in the X-API-Key HTTP header\n\n**NoteType** - Type *string* **:**\nThe General Codes \"Note Type\" for this note\n\n**TableName** - Type *string* **:**\nThe fully-qualified name of the table that you are creating a note for. Example: MainDB.Contacts\n\n**Description** - Type *string* **:**\nThe \"description\" or \"title\" of this note\n\n**Note** - Type *string* **:**\nThe content of this note\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the record you are creating a note for"},"response":[],"_postman_id":"a00a5dab-7b8f-4563-a000-008c993984d6"}],"id":"afca84ea-0ffc-42c7-bd04-3f4b9588298f","_postman_id":"afca84ea-0ffc-42c7-bd04-3f4b9588298f"},{"name":"/OE","item":[{"name":"OETransaction","id":"cb539f57-a3b5-4f41-9157-e91bf7d30e23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-api-key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"AutoCreate\": \"\",\r\n  \"Comments\": \"\",\r\n  \"CommRate\": \"\",\r\n  \"CommRate2\": \"\",\r\n  \"CommType\": \"\",\r\n  \"CommType2\": \"\",\r\n  \"Consignee\": \"\",\r\n  \"ConsLocation\": \"\",\r\n  \"ConsLocType\": \"\",\r\n  \"ConsQty\": \"\",\r\n  \"CurrCode\": \"\",\r\n  \"Customer\": \"\",\r\n  \"CustPart\": \"\",\r\n  \"DiscountPct\": \"\",\r\n  \"FreightCode\": \"\",\r\n  \"GroupCode\": \"\",\r\n  \"InternalInterfaceID\": \"\",\r\n  \"ItemRevision\": \"\",\r\n  \"OClass\": \"\",\r\n  \"OrderDate\": \"\",\r\n  \"POLine\": \"\",\r\n  \"PoundsOrdered\": \"\",\r\n  \"Product\": \"\",\r\n  \"PurchasedCasting\": \"\",\r\n  \"Qty\": \"\",\r\n  \"ReleaseDate\": \"\",\r\n  \"ReleaseType\": \"\",\r\n  \"Revision\": \"\",\r\n  \"Salesman\": \"\",\r\n  \"Salesman2\": \"\",\r\n  \"SellPrice\": \"\",\r\n  \"ShipTo\": \"\",\r\n  \"ShipVia\": \"\",\r\n  \"StopCode\": \"\",\r\n  \"SupplierID\": \"\",\r\n  \"TermCode\": \"\",\r\n  \"ToolOrderItem\": \"\",\r\n  \"ToolOrderNumber\": \"\",\r\n  \"UnitMeas\": \"\",\r\n  \"APIKey\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{ServerPath}}/OE/OETransaction","description":"# OETransaction\n\n---\n\nAllows for importing into the A/P Transactions (APTransactions) table to easily create invoices from a source outside of Odyssey\n\n# Parameters\n\n---\n\n**AutoCreate** - Type Boolean:\n\nThis flag determines whether the order is auto created or not\n\n**Comments** \\- Type String:\n\nComments entered here will become a comment on the order item once it is created.\n\n**CommRate** - Type Decimal:\n\nThe commission rate paid to this salesman for this product.\n\n**CommRate2** - Type Decimal:\n\nThe commission rate paid to this salesman for this product.\n\n**CommType** - Type String:\n\nDesignates how the commission is going to be calculated (P=Percent based, D=$ Per Piece).\n\n**CommType2** - Type String:\n\nDesignates how the commission is going to be calculated (P=Percent based, D=$ Per Piece).\n\n**Consignee** - Type String:\n\nConsignee associated with this order item.\n\n**ConsLocation** - Type String:\n\nDefault consignment location for the item, which will be blank if this item is not a consignment item.\n\n**ConsLocType** - Type String:\n\nThis is the default consignment location type (I=Ship now/Bill Later - In-house, S=Ship now/Bill later - Customer Site, B=Bill now/Ship later - In house, or Blank- Not consignment).\n\n**ConsQty** - Type Integer:\n\nTotal quantity in consignment for this item.\n\n**CurrCode** - Type String:\n\nDefines the currency for this order.\n\n**Customer** - Type String:\n\nCustomer associated with this ship-to.\n\n**CustPart** - Type String:\n\nThe customer's part number for the product being ordered.\n\n**DiscountPct** - Type Decimal:\n\nDiscount percent for this item.\n\n**FreightCode** - Type String:\n\nFreight code indicating the shipping terms for this order.\n\n**GroupCode** - Type String:\n\nUser defined grouping code assigned to this order item.\n\n**InternalInterfaceID** \\- Type String:\n\nThis field is used internally with intellichief as a unique identifier.\n\n**ItemRevision** - Type String:\n\nUser maintained revision used to indicate the number of changes to this item.\n\n**OClass** - Type String:\n\nDefines the classification type of this order.\n\n**OrderDate** - Type String:\n\nThe date of the customer order.\n\n**POLine** - Type String:\n\nPO Line number information associated with this item.\n\n**PoundsOrdered** - Type Decimal:\n\nNumber of pounds ordered for this item.\n\n**Product** - Type String:\n\nDefines the product being ordered.\n\n**PurchasedCasting** - Type Boolean:\n\nOrder is for a purchased casting (yes) or a produced casting (no)\n\n**Qty** - Type Integer:\n\nThe quantity of the order\n\n**ReleaseDate** - Type String:\n\nThe promised date for shipment of corresponding release quantity.\n\n**ReleaseType** - Type String:\n\nUser defined order type for this release.\n\n**Revision** - Type String:\n\nProduct's drawing revision level for this order item.\n\n**Salesman** - Type String:\n\nFirst salesman assigned to this product.\n\n**Salesman2** - Type String:\n\nThe second salesman assigned to this product.\n\n**SellPrice** - Type Decimal:\n\nSelling price for this order item.\n\n**ShipTo** - Type String:\n\nThe ship-to address where this order is to be shipped.\n\n**ShipVia** - Type String:\n\nCarrier for this order.\n\n**StopCode** - Type String:\n\nReason this order item is stopped.\n\n**SupplierID** - Type String:\n\nDesignates the outside supplier that will direct ship this item.\n\n**TermCode** - Type String:\n\nPayment terms code for this order.\n\n**ToolOrderItem** - Type Integer:\n\nThis designates that this order item is a sample order for the tool order item number displayed.\n\n**ToolOrderNumber** - Type Integer:\n\nThis designates this order item is a sample order for the tool order number displayed.\n\n**UnitMeas** - Type String:\n\nSelling unit of measure."},"response":[],"_postman_id":"cb539f57-a3b5-4f41-9157-e91bf7d30e23"}],"id":"72c7c8e0-dc7c-4346-bc14-d6230aa5afaf","_postman_id":"72c7c8e0-dc7c-4346-bc14-d6230aa5afaf"},{"name":"/Operations","item":[{"name":"{GET}","id":"8082405c-779b-4129-b876-cb2441ce1a2e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Operations?CompanyID={{CompanyID}}&SearchText=","host":["{{ServerPath}}"],"path":["Operations"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":""}]},"description":"# Operations Search\n---\n\nGets active operations for the CompanyID associated with your APIKey (or if using an 'All Companies' APIKey - the CompanyID specified in the URL) This will only return the first 2000 active operations matching your search criteria.\n\n# Parameters\n---\n\n**SearchText** - Type *string* **:**\nThis text will be searched for in the \"Operations\" field\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID used to authenticate this request"},"response":[],"_postman_id":"8082405c-779b-4129-b876-cb2441ce1a2e"}],"id":"cf20d54d-cada-4d56-85e0-931383263821","_postman_id":"cf20d54d-cada-4d56-85e0-931383263821"},{"name":"/Print","item":[{"name":"{GET}","id":"6db48d97-d268-44fc-b3a5-fa6c6ab3612c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"X-API-Key","value":"{{APIKey}}","type":"text"}],"url":{"raw":"{{ServerPath}}/Print/Queue?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Print","Queue"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]}},"response":[],"_postman_id":"6db48d97-d268-44fc-b3a5-fa6c6ab3612c"}],"id":"5e86bec4-5c1f-4e49-a64e-ab3b2bb77f16","_postman_id":"5e86bec4-5c1f-4e49-a64e-ab3b2bb77f16"},{"name":"/Report","item":[{"name":"/Email","id":"3a5eec55-011e-4400-8edb-85d185c0ad1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"X-API-Key","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"Report\": \"PC7200.RPT\",\r\n    \"ParameterList\": [\r\n        {\r\n            \"ParameterName\": \"ScrapType\",\r\n            \"ParameterValue\": \"\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"Type\",\r\n            \"ParameterValue\": \"B\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"Year\",\r\n            \"ParameterValue\": \"2017\",\r\n            \"ParameterDataType\": \"Number\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"CompanyID\",\r\n            \"ParameterValue\": \"{{CompanyID}}\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"UsersID\",\r\n            \"ParameterValue\": \"{{UserID}}\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"Dollars\",\r\n            \"ParameterValue\": \"true\",\r\n            \"ParameterDataType\": \"Boolean\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"FromPeriod\",\r\n            \"ParameterValue\": \"0\",\r\n            \"ParameterDataType\": \"Number\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"ThruPeriod\",\r\n            \"ParameterValue\": \"999\",\r\n            \"ParameterDataType\": \"Number\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"FromGrpCD\",\r\n            \"ParameterValue\": \"a\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"ToGrpCD\",\r\n            \"ParameterValue\": \"zzz\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"FromClass\",\r\n            \"ParameterValue\": \"\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"ToClass\",\r\n            \"ParameterValue\": \"\",\r\n            \"ParameterDataType\": \"String\"\r\n        },\r\n        {\r\n            \"ParameterName\": \"Industry\",\r\n            \"ParameterValue\": \"F\",\r\n            \"ParameterDataType\": \"String\"\r\n        }\r\n    ],\r\n    \"EmailTo\": \"test@test.com\",\r\n    \"Subject\": \"Report email via the Odyssey API\",\r\n    \"Body\": \"See your report, attached\",\r\n    \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Report/Email","description":"# Email a Report\n\nThis method allows you to run a report and have it emailed as a PDF document after it has been generated. The list of parameters must include every parameter that the report is expecting to use, otherwise the report will generate an error and not run. Even if the value of a parameter is blank, it still must be included in the list of parameters. If you don’t specify CompanyID as one of your parameters, you can only run reports in the company that you are logged into. Report Series, and the Company override to determine which report to run will be determined based on the company that you log into and not the company that you specify as a parameter.\n\n## This example, and required parameters\n\nYou must provide all parameters that are defined in your Crystal Report - even those which are blank or left as their default values. This example shows how to run the PC7200, Scrap Analysis by Reason report. Even some of the report parameters which are filled in by Odyssey's interface must be supplied when running the report through the Odyssey API.\n\n# Parameters\n---\n\n**Report** - Type *string* **:**\nThe name of the report you are running.\n\n**ParameterList** - Type*List<ReportParameter>* **:**\nThe list of report parameters that a user can provide. See below for a description of the *ReportParameter* object.\n\n**EmailTo** - Type *string* **:**\nThis is a list of comma, or semi-colon separated email addresses.\n\n**Subject** - Type *string* **:**\nThis will be the subject of the email.\n\n**Body** - Type *string* **:**\nThis specifies the body or content of the email.\n\n**CompanyID** - Type *string* **:**\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query.\n\n# ReportParameter Object\n\n**ParameterName** - Type *string* **:**\nThe name of this parameter in the report.\n\n**ParameterValue** - Type *string* **:**\nThe value of the parameter in the report.\n\n**ParameterDataType** - Type *string* **:**\nThe DataType for this parameter in the report."},"response":[],"_postman_id":"3a5eec55-011e-4400-8edb-85d185c0ad1c"}],"id":"b005539a-d3ad-4fec-aa08-07c246cf2581","_postman_id":"b005539a-d3ad-4fec-aa08-07c246cf2581"},{"name":"/Production","item":[{"name":"/JobOn","item":[{"name":"/MoldCast","id":"7b60a03b-a2b2-4541-a83e-1fe41b7afd81","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"CompanyID\": \"{{CompanyID}}\",\r\n  \"ClockNumber\": \"215\",\r\n  \"DateFormat\": \"MDY\",\r\n  \"Data\": {\r\n  \t\"OrderNumber\" : \"21854\",\r\n    \"OrderItem\": \"1\",\r\n    \"OrderType\": \"S\",\r\n    \"Operation\" : \"MOLD\",\r\n    \"Product\" : \"R4512\",\r\n    \"Tool\" : \"R4512\",\r\n    \"ShiftDate\" : \"02/07/2020\",\r\n    \"Quantity\": \"0\",\r\n\t\"Hours\": \"3\",\r\n\t\"ShiftName\": \"1\",\r\n\t\"Remarks\": \"Test from the Odyssey API\"\r\n  }\r\n}"},"url":"{{ServerPath}}/Production/JobOn/MoldCast","description":"# Job On to Mold Cast\n---\n\nThe JobOn/MoldCast endpoint allows you to \"job on\" an employee to a job that is performing a 33, MoldCast operation.\n\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module.\n\n# Parameters\n---\n\n**ClockNumber** - Type *integer* **:**\nThe Clock Number of the Employee jobbing on.\n\n**DateFormat** - Type *String* **:** \nThe DateFormat that should be used when providing date values to Odyssey.\n\nValid options are:\n-  MDY : This format means dates will be sent in Month/Day/Year format\n-  DMY : This format means dates will be sent in Day/Month/Year format\n-  YMD : This format means dates will be sent in Year/Month/Day format\n\n**Data** - Type *`Object`* **:**\nThe ProductionTran record to submit to Odyssey. Any ProductionTran field, or User Defined Field in ProductionTran can be supplied in this record. Data supplied in this record is validated through standard production entry logic. Please see the Production Entry Scope document for detailed information on required fields.\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if the job was able to be jobbed onto.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**JobOnUniqueID** - Type *integer* **:**\nThe UniqueID of the ProductionTran record that was created, if this JobOn submission was successful.\n\n**Attempted** - Type *integer* **:**\nIf your job on parameters were entered, this value should always be 1, to indicate that the system attempted to job on with a single record.\n\n**Successful** - Type *integer* **:**\nIf your job on was successful, this value should be 1. Otherwise, 0 indicates that the job on was not successful.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf an error message was generated during this job on operation, this will contain one entry for the error that was generated from your production record.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"7b60a03b-a2b2-4541-a83e-1fe41b7afd81"},{"name":"/Secondary","id":"4d677d50-3c8f-4a8f-990a-810ad728d246","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"CompanyID\": \"{{CompanyID}}\",\r\n  \"ClockNumber\": \"215\",\r\n  \"DateFormat\": \"MDY\",\r\n  \"Data\": {\r\n  \t\"OrderNumber\" : \"21854\",\r\n    \"OrderItem\": \"1\",\r\n    \"OrderType\": \"S\",\r\n    \"Operation\" : \"GRIND\",\r\n    \"Product\" : \"R4512\",\r\n    \"ShiftDate\" : \"02/07/2020\",\r\n\t\"Hours\": \"3\",\r\n\t\"ShiftName\": \"1\",\r\n\t\"Remarks\": \"Test JobOn/Secondary from the Odyssey API\"\r\n  }\r\n}"},"url":"{{ServerPath}}/Production/JobOn/Secondary","description":"# Job On to Secondary\n---\n\nThe JobOn/Secondary endpoint allows you to \"job on\" an employee to a job that is performing a 43, Secondary operation.\n\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module.\n\n# Parameters\n---\n\n**ClockNumber** - Type *integer* **:**\nThe Clock Number of the Employee jobbing on.\n\n**DateFormat** - Type *String* **:** \nThe DateFormat that should be used when providing date values to Odyssey.\n\nValid options are:\n-  MDY : This format means dates will be sent in Month/Day/Year format\n-  DMY : This format means dates will be sent in Day/Month/Year format\n-  YMD : This format means dates will be sent in Year/Month/Day format\n\n**Data** - Type *`Object`* **:**\nThe ProductionTran record to submit to Odyssey. Any ProductionTran field, or User Defined Field in ProductionTran can be supplied in this record. Data supplied in this record is validated through standard production entry logic. Please see the Production Entry Scope document for detailed information on required fields.\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if the job was able to be jobbed onto.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**JobOnUniqueID** - Type *integer* **:**\nThe UniqueID of the ProductionTran record that was created, if this JobOn submission was successful.\n\n**Attempted** - Type *integer* **:**\nIf your job on parameters were entered, this value should always be 1, to indicate that the system attempted to job on with a single record.\n\n**Successful** - Type *integer* **:**\nIf your job on was successful, this value should be 1. Otherwise, 0 indicates that the job on was not successful.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf an error message was generated during this job on operation, this will contain one entry for the error that was generated from your production record.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"4d677d50-3c8f-4a8f-990a-810ad728d246"}],"id":"7a1cc136-87f3-47e0-85fa-e3640f205b52","_postman_id":"7a1cc136-87f3-47e0-85fa-e3640f205b52"},{"name":"/Entry","item":[{"name":"/Downtime","id":"9fa0ebae-0523-4348-bd5a-2fb257c5c4b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"CompanyID\": \"{{CompanyID}}\",\r\n  \"DateFormat\": \"MDY\",\r\n  \"DataList\": [\r\n    {\r\n\t\t\"Hours\": \"1\",\r\n    \t\"Equipment\": \"ABEQUIP-1\",\r\n    \t\"Operation\" : \"ABGRIND\",\r\n    \t\"ReasonCode\": \"01\",\r\n    \t\"ShiftDate\": \"02/08/2020\",\r\n    \t\"Remarks\": \"Test from Production/Entry/Downtime from the Odyssey API\"\r\n    }\r\n  ]\r\n}"},"url":"{{ServerPath}}/Production/Entry/Downtime","description":"# Report Non-Jobbing Downtime Production Entry\n---\n\nThe Entry/Downtime endpoint allows you to submit a non-jobbing production entry for an 04, Downtime operation.\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module.\n\n# Parameters\n---\n\n**DateFormat** - Type *String* **:** \nThe DateFormat that should be used when providing date values to Odyssey.\n\nValid options are:\n-  MDY : This format means dates will be sent in Month/Day/Year format\n-  DMY : This format means dates will be sent in Day/Month/Year format\n-  YMD : This format means dates will be sent in Year/Month/Day format\n\n**DataList** - Type *Collection of `Object`* **:**\nA list of all the production transaction records to submit to Odyssey. Any ProductionTran field, or User Defined Field in ProductionTran can be supplied in this list. Data supplied in this list is validated through standard production entry logic. Please see the Production Entry Scope document for detailed information on required fields.\n\n**CompanyID** - Type *String* **:** \nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query.\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if there were no errors generated during the processing of your production records.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**Attempted** - Type *integer* **:**\nThe number of production records that were attempted to be processed.\n\n**Successful** - Type *integer* **:**\nThe number of production records that were successfully processed.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf errors were generated during the processing of your production records, this collection of errors will contain an entry for each error.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"9fa0ebae-0523-4348-bd5a-2fb257c5c4b5"},{"name":"/MoldCast","id":"9a6b4d7d-5713-4168-839c-81c50fc96046","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"CompanyID\": \"{{CompanyID}}\",\r\n  \"DateFormat\": \"MDY\",\r\n  \"DataList\": [\r\n    {\r\n    \t\"OrderNumber\" : \"21854\",\r\n    \t\"OrderItem\": \"1\",\r\n    \t\"OrderType\": \"S\",\r\n    \t\"Operation\" : \"MOLD\",\r\n    \t\"Product\" : \"R4512\",\r\n    \t\"Tool\" : \"R4512\",\r\n    \t\"ShiftDate\" : \"02/07/2020\",\r\n    \t\"Qty\": \"2\",\r\n    \t\"Hours\": \"3\",\r\n    \t\"ShiftName\": \"1\",\r\n    \t\"Remarks\": \"Test from Production/Entry/MoldCast from the Odyssey API\"\r\n    }\r\n  ]\r\n}"},"url":"{{ServerPath}}/Production/Entry/MoldCast","description":"# Report Non-Jobbing Mold/Cast Production Entry\n---\n\nThe Entry/MoldCast endpoint allows you to submit a non-jobbing production entry for a 33, MoldCast operation.\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module.\n\n# Parameters\n---\n\n**DateFormat** - Type *String* **:** \nThe DateFormat that should be used when providing date values to Odyssey.\n\nValid options are:\n-  MDY : This format means dates will be sent in Month/Day/Year format\n-  DMY : This format means dates will be sent in Day/Month/Year format\n-  YMD : This format means dates will be sent in Year/Month/Day format\n\n**DataList** - Type *Collection of `Object`* **:**\nA list of all the production transaction records to submit to Odyssey. Any ProductionTran field, or User Defined Field in ProductionTran can be supplied in this list. Data supplied in this list is validated through standard production entry logic. Please see the Production Entry Scope document for detailed information on required fields.\n\n**CompanyID** - Type *String* **:** \nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query.\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if there were no errors generated during the processing of your production records.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**Attempted** - Type *integer* **:**\nThe number of production records that were attempted to be processed.\n\n**Successful** - Type *integer* **:**\nThe number of production records that were successfully processed.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf errors were generated during the processing of your production records, this collection of errors will contain an entry for each error.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"9a6b4d7d-5713-4168-839c-81c50fc96046"},{"name":"/Secondary","id":"7ffb7fae-a2ac-443f-9c3c-0a86083b22f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"CompanyID\": \"{{CompanyID}}\",\r\n  \"DateFormat\": \"MDY\",\r\n  \"DataList\": [\r\n    {\r\n    \t\"OrderNumber\" : \"21854\",\r\n    \t\"OrderItem\": \"1\",\r\n    \t\"OrderType\": \"S\",\r\n    \t\"Operation\" : \"GRIND\",\r\n    \t\"Product\" : \"R4512\",\r\n    \t\"ShiftDate\" : \"02/08/2020\",\r\n    \t\"Qty\": \"2\",\r\n    \t\"Hours\": \"3\",\r\n    \t\"ShiftName\": \"1\",\r\n    \t\"Remarks\": \"Test from Production/Entry/Secondary from the Odyssey API\"\r\n    }\r\n  ]\r\n}"},"url":"{{ServerPath}}/Production/Entry/Secondary","description":"# Report Non-Jobbing Secondary Production Entry\n---\n\nThe Entry/Secondary endpoint allows you to submit a non-jobbing production entry for a 43, Secondary operation.\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module.\n\n# Parameters\n---\n\n**DateFormat** - Type *String* **:** \nThe DateFormat that should be used when providing date values to Odyssey.\n\nValid options are:\n-  MDY : This format means dates will be sent in Month/Day/Year format\n-  DMY : This format means dates will be sent in Day/Month/Year format\n-  YMD : This format means dates will be sent in Year/Month/Day format\n\n**DataList** - Type *Collection of `Object`* **:**\nA list of all the production transaction records to submit to Odyssey. Any ProductionTran field, or User Defined Field in ProductionTran can be supplied in this list. Data supplied in this list is validated through standard production entry logic. Please see the Production Entry Scope document for detailed information on required fields.\n\n**CompanyID** - Type *String* **:** \nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query.\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if there were no errors generated during the processing of your production records.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**Attempted** - Type *integer* **:**\nThe number of production records that were attempted to be processed.\n\n**Successful** - Type *integer* **:**\nThe number of production records that were successfully processed.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf errors were generated during the processing of your production records, this collection of errors will contain an entry for each error.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"7ffb7fae-a2ac-443f-9c3c-0a86083b22f2"},{"name":"/Scrap","id":"57082921-2ba4-468e-96bb-f38e29bc532a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"CompanyID\": \"{{CompanyID}}\",\r\n  \"DateFormat\": \"MDY\",\r\n  \"DataList\": [\r\n    {\r\n    \t\"OrderNumber\" : \"21854\",\r\n    \t\"OrderItem\": \"1\",\r\n    \t\"OrderType\": \"S\",\r\n    \t\"Operation\" : \"ABGRIND\",\r\n    \t\"ReasonCode\": \"LOST\",\r\n    \t\"Product\" : \"R4512\",\r\n    \t\"ShiftDate\" : \"02/08/2020\",\r\n    \t\"Qty\": \"2\",\r\n    \t\"Hours\": \"3\",\r\n    \t\"ShiftName\": \"1\",\r\n    \t\"Remarks\": \"Test from Production/Entry/Scrap from the Odyssey API\"\r\n    }\r\n  ]\r\n}"},"url":"{{ServerPath}}/Production/Entry/Scrap","description":"# Report Non-Jobbing Scrap Production Entry\n---\n\nThe Entry/Scrap endpoint allows you to submit a non-jobbing production entry for a 34, Scrap operation.\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module.\n\n# Parameters\n---\n\n**DateFormat** - Type *String* **:** \nThe DateFormat that should be used when providing date values to Odyssey.\n\nValid options are:\n-  MDY : This format means dates will be sent in Month/Day/Year format\n-  DMY : This format means dates will be sent in Day/Month/Year format\n-  YMD : This format means dates will be sent in Year/Month/Day format\n\n**DataList** - Type *Collection of `Object`* **:**\nA list of all the production transaction records to submit to Odyssey. Any ProductionTran field, or User Defined Field in ProductionTran can be supplied in this list. Data supplied in this list is validated through standard production entry logic. Please see the Production Entry Scope document for detailed information on required fields.\n\n**CompanyID** - Type *String* **:** \nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query.\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if there were no errors generated during the processing of your production records.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**Attempted** - Type *integer* **:**\nThe number of production records that were attempted to be processed.\n\n**Successful** - Type *integer* **:**\nThe number of production records that were successfully processed.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf errors were generated during the processing of your production records, this collection of errors will contain an entry for each error.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"57082921-2ba4-468e-96bb-f38e29bc532a"}],"id":"33e1fddd-7948-4d8e-aa17-b6761e9fcf43","_postman_id":"33e1fddd-7948-4d8e-aa17-b6761e9fcf43"},{"name":"/EndingShots","id":"b9592878-1224-4f77-87d2-2563ecf7ee13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"UniqueID\": \"\",\r\n  \"Shots\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Production/EndingShots","description":"# Ending Shots\n---\n\nReport ending shots to an existing jobbed-on production transaction.\n\n# Parameters\n---\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the jobbed on production record you're updating.\n\n**Shots** - Type *integer* **:**\nThe number of shots to report as the ending shots of a job."},"response":[],"_postman_id":"b9592878-1224-4f77-87d2-2563ecf7ee13"},{"name":"/HourlyPunch","id":"c109402d-4005-41c3-ba18-f5c80ec84422","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"UniqueID\": \"\",\r\n  \"TimeSlot\": \"\",\r\n  \"Shots\": \"\",\r\n  \"Qty\": \"\",\r\n  \"ScrapQty\": \"\",\r\n  \"ReasonCode\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Production/HourlyPunch","description":"# Hourly Punch\n---\n\nPerform an hourly punch against an existing jobbed-on production transaction.\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module\n\n\n# Parameters\n---\n\n**UniqueID** - Type *integer* **:**\nUnique ID of the jobbed-on production transaction that will be updated with an hourly punch\n\n**TimeSlot** - Type *integer* **:**\nOptional timeslot to apply the production shots or quantity to.\n\n**Shots** - Type *integer* **:**\nOptional number of shots to report. If specified, quantity will be updated based on the current product number-on.\n\n**Quantity** - Type *integer* **:**\nOptional number of pieces to report. If Shots is specified, Quantity is ignored.\n\n**ScrapQty** - Type *integer* **:**\nOptional number of pieces to report as scrap.\n\n**ReasonCode** - Type *String* **:**\nIf reporting scrap quantity, this is the reason code for the 34 transaction.\n\n**Date** - Type *String* **:**\nOptional date that the hourly punch is being reported for. This must be in MMDDYYYY format. If not specified, the current system date will be used.\n\n**Time** - Type *String* **:**\nOptional time that the hourly punch is being reported for. This must be in military time with a HHMMSS format. If not specified, the current system time will be used.\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if the request was successful.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**JobOnUniqueID** - Type *integer* **:**\nThe UniqueID of the ProductionTran record that was created for the next jobbed-on record, if this HourlyPunch submission was successful\n\n**Attempted** - Type *integer* **:**\nIf your HourlyPunch parameters were entered, this value should always be 1, to indicate that the system attempted to job on with a single record.\n\n**Successful** - Type *integer* **:**\nIf your HourlyPunch on was successful, this value should be 1. Otherwise, 0 indicates that the HourlyPunch was not successful.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf an error message was generated during this job on operation, this will contain one entry for the error that was generated from your production record.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"c109402d-4005-41c3-ba18-f5c80ec84422"},{"name":"/JobOff","id":"111f05ad-637c-486d-b315-e9dda7443596","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"UniqueID\": \"\",\r\n  \"Date\": \"\",\r\n  \"Time\": \"\",\r\n  \"Qty\": \"\",\r\n  \"Shots\": \"\"\r\n}"},"url":"{{ServerPath}}/Production/JobOff","description":"# Job Off\n---\nThe /Production/JobOff endpoint allows you to \"job off\" an employee from a job.\n\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module\n\n# Parameters\n---\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the ProductionTran record you're jobbing off.\n\n**Qty** - Type *integer* **:**\nThe Quantity being reported for this transaction. Leave as 0 or omit this property if reporting Shots instead of Quantity.\n\n**Shots** - Type *integer* **:**\nThe Shots being reported for this transaction. Leave as 0 or omit this property if reporting Quantity instead of Shots.\n\n**Date** - Type *string* **:**\nThe optional Date that the employee is jobbing off. (MMDDYYYY)\n\n**Time** - Type *string* **:**\nThe optional Military Time that the employee is jobbing off. (HHMMSS)\n\n# Response\n---\n\n**Success** - Type *boolean* **:**\nReturns true if there were no errors generated during the processing of your JobOff request.\n\n**ErrorMessage** - Type *string* **:**\nThe error message that was returned by the system, if any was present.\n\n**Attempted** - Type *integer* **:**\nThe number of production records that were attempted to be processed. For this JobOff endpoint, this value should always be 1.\n\n**Successful** - Type *integer* **:**\nThe number of production records that were successfully processed. For this JobOff endpoint, this value should always be 1 when successful, and 0 when not successful.\n\n**Logging** - Type *Collection of `EntryLogging`* **:**\nIf errors were generated during the processing of your JobOff request, this collection of errors will contain an entry for each error.\n  \nAn `EntryLogging` object contains the following fields:\n-  **ErrorType** - Type *string* **:** - The type of error generated from your production record\n-  **TextString** - Type *string* **:** - The content of the error that was generated\n-  **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"111f05ad-637c-486d-b315-e9dda7443596"},{"name":"/StartingShots","id":"895b1268-ca0e-4ff0-b4e9-62b819a7c598","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"UniqueID\": \"\",\r\n  \"Shots\": \"\",\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Production/StartingShots","description":"# Starting Shots\n\n---\n\nReport starting shots to an existing jobbed-on production transaction.\n\n# Parameters\n\n---\n\n**UniqueID** - Type _integer_ **:**  \nThe UniqueID of the jobbed on production record you're updating.\n\n**Shots** - Type _integer_ **:**  \nThe number of shots to report as the starting shots of a job."},"response":[],"_postman_id":"895b1268-ca0e-4ff0-b4e9-62b819a7c598"}],"id":"492b8650-db32-4b4f-9328-728425fd23f4","description":"The ProductionController provides functionality relating to Shot Reporting, Jobbing, and Clocking.\n\nIn order to use any of these endpoints, you must have the Production Interface module.","_postman_id":"492b8650-db32-4b4f-9328-728425fd23f4"},{"name":"/ProductionInterface","item":[{"name":"{POST}","id":"97266b3e-644b-43eb-a61a-285d80f67f94","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"CompanyID\": \"{{CompanyID}}\",\r\n  \"InterfaceID\": \"PINTF\",\r\n  \"ImportID\": \"33-STD\",\r\n  \"DataList\": [\r\n    {\r\n    \t\"ShopOrder\" : \"21854-1\",\r\n    \t\"Operation\" : \"MOLD\",\r\n    \t\"Product\" : \"R4512\",\r\n    \t\"ShiftDate\" : \"05/12/2020\",\r\n    \t\"Quantity\": \"7\",\r\n    \t\"Hours\": \"2\",\r\n    \t\"Tool\" : \"R4512\",\r\n    \t\"ShiftName\": \"1\",\r\n    \t\"ScreenID\": \"AGB-SCRAP\"\r\n    }\r\n  ]\r\n}"},"url":"{{ServerPath}}/ProductionInterface","description":"# Import Production Data\n\n* * *\n\nThe /ProductionInterface endpoint allows you to import production records into Odyssey using the Production Interface module.\n\nIn order to use this method, you must be authorized for both the Odyssey API module and the Production Interface module.\n\n# Parameters\n\n* * *\n\n**InterfaceID** - Type *String* **:**  \nThe unique identifier for this production interface.\n\nThe DateFormat on the Production Interface must be set to a value or errors can be encountered if a Date field is passed in the DataList.\n\nValid options are:\n\n*   MDY : This format means dates will be sent in Month/Day/Year format\n*   DMY : This format means dates will be sent in Day/Month/Year format\n*   YMD : This format means dates will be sent in Year/Month/Day format\n    \n\n**ImportID** - Type *String* **:**  \nThe ID of the import profile to run.\n\n**DataList** - Type *Collection of* *`Object`* **:**  \nA list of all the data objects that will be used in the request.\n\n**CompanyID** - Type *String* **:**  \nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query.\n\n# Response\n\n* * *\n\n**Success** - Type *boolean* **:**  \nReturns true if there were no errors generated during the processing of your production records.\n\n**ErrorMessage** - Type *string* **:**  \nThe error message that was returned by the system, if any was present.\n\n**Attempted** - Type *integer* **:**  \nThe number of production records that were attempted to be processed.\n\n**Successful** - Type *integer* **:**  \nThe number of production records that were successfully processed.\n\n**Logging** - Type *Collection of* *`EntryLogging`* **:**  \nIf errors were generated during the processing of your production records, this collection of errors will contain an entry for each error.\n\nAn `EntryLogging` object contains the following fields:\n\n*   **ErrorType** - Type *string* **:** - The type of error generated from your production record\n*   **TextString** - Type *string* **:** - The content of the error that was generated\n*   **LineNumber** - Type *string* **:** - The line number associated with this error, if one exists"},"response":[],"_postman_id":"97266b3e-644b-43eb-a61a-285d80f67f94"}],"id":"91170b51-6026-46c6-a73e-a58546186ed0","description":"The production interface endpoint is an advanced way of uploading production data into Odyssey. This can allow you to integrate third party devices or applications with your Odyssey data.\n\nIn order to use this endpoint, you must have the Production Interface module.","event":[{"listen":"prerequest","script":{"id":"1a62a2db-8501-45d4-b385-47a5d04dc2d9","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a210e241-be0e-4fcb-9c69-25afc5f0e0b5","type":"text/javascript","exec":[""]}}],"_postman_id":"91170b51-6026-46c6-a73e-a58546186ed0"},{"name":"/Production/Mobile","item":[{"name":"/Designer","item":[{"name":"/{ScreenID}","id":"55319f5e-bcf5-442c-a37d-faf7fb8e21e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Production/Mobile/Designer/{{MobileScreenID}}?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Production","Mobile","Designer","{{MobileScreenID}}"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get the System Design for a Mobile Production Screen\n---\n\nReturns a brand new mobile transaction screen design based off the default system design for that screen type.\n\n# Route Parameters\n\n**ScreenID** - Type *string* **:**\nThis value represents the ID of the screen you're designing. For example, MI1001 is ScreenID for Odyssey App Material Issues. This determines the design of the screen you get back.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"55319f5e-bcf5-442c-a37d-faf7fb8e21e3"},{"name":"/{ScreenID}?ScreenName=","id":"3e0eb773-ed46-4095-91b7-9657b66e6c12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Production/Mobile/Designer/{{MobileScreenID}}?CompanyID={{CompanyID}}&ScreenName={{MobileScreenName}}","host":["{{ServerPath}}"],"path":["Production","Mobile","Designer","{{MobileScreenID}}"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"ScreenName","value":"{{MobileScreenName}}"}]},"description":"# Get an Odyssey App Screen Screen Design in \"Design\" Mode\n---\n\nFetches a custom Odyssey App Transaction Screen design for use within the Odyssey App or to be submitted. This can be used to allow you to fetch an existing design in \"design mode\" so that you can continue modifying the design.\n\n# Route Parameters\n\n**ScreenID** - Type *string* **:**\nThis value represents the ID of the screen you're fetching. For example, MI1001 is ScreenID for Odyssey App Material Issues. This determines the design of the screen you get back.\n\n# Parameters\n---\n\n**ScreenName** - Type *string* **:**\nThis name of the screen which you're fetching. This screen must exist within the specified company.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"3e0eb773-ed46-4095-91b7-9657b66e6c12"},{"name":"{ScreenID}","id":"2c0319f4-6af0-4ef8-9f00-462299b467fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"ScreenName\": \"{{MobileScreenName}}\",\r\n    \"Fields\": [\r\n        {\r\n            \"FieldName\": \"MainDB.MatlHist.Account\",\r\n            \"LabelText\": \"G/L Account\",\r\n            \"DefaultValue\": \"100\",\r\n            \"Sequence\": 10,\r\n            \"Visible\": true,\r\n            \"Required\": true,\r\n            \"DefaultType\": \"RepeatValue\"\r\n        },\r\n        {\r\n            \"FieldName\": \"MainDB.MatlHist.Clocknumber\",\r\n            \"LabelText\": \"Clock Num\",\r\n            \"DefaultValue\": \"\",\r\n            \"Required\": true,\r\n            \"Visible\": true,\r\n            \"DefaultType\": \"Standard\"\r\n        }\r\n    ],\r\n    \"CompanyID\": \"{{CompanyID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{ServerPath}}/Production/Mobile/Designer/{{MobileScreenID}}","description":"# Create a Mobile Production Screen\n---\n\nAdds a new mobile transaction screen design. This allows you to create new screen designs for Odyssey App.\n\n# Route Parameters\n\n**ScreenID** - Type *string* **:**\nThis value represents the ID of the screen you're creating. For example, if you're creating a Material Issues screen for Odyssey App, you'd supply a value of MI1001.\n\n# Parameters\n---\n\n**ScreenName** - Type *string* **:**\nThe name of the screen to be saved. This name must be unique for a given company and ScreenID.\n\n**Fields** - Type *SaveFieldModel[]* **:**\nThe list of fields that are included on the screen.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key.\n\n# SaveFieldModel\n\n*The SaveFieldModel represents all the information that can be passed for a field on a mobile production screen*\n\n**FieldName** - Type *string* **:**\nThe fully qualified name of this field separated by periods, e.g., `MainDB.TableName.FieldName`\n\n**LabelText** - Type *string* **:**\nThe text to be displayed for this field.\n\n**DefaultValue** - Type *string* **:**\nThe default value this field will contain.\n\n**Sequence** - Type *integer* **:**\nDetermines the order in which the field is displayed on the screen.\n\n**Visible** - Type *boolean* **:**\nDetermines if this field is visible on the screen or not. The default is true, which means that a new field will, by default, by shown on the screen.\n\n**Required** - Type *boolean* **:**\nDetermines if a user must enter a value into this field during processing The default is false.\n\n**DefaultType** - Type *string* **:**\nThe type of defaulting that will happen for this field on a Save+Add.\n*Possible Values*\n- `RepeatValue` - Carry the saved value over to the new add screen on a Save &amp; Add\n- `Standard` - Reset the field to the DefaultValue on a Save+Add"},"response":[],"_postman_id":"2c0319f4-6af0-4ef8-9f00-462299b467fe"},{"name":"{ScreenID}","id":"43eb7fff-edf3-4147-b9ae-514c86052008","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"X-API-Key","value":"{{APIKey}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"ScreenName\": \"{{MobileScreenName}}\",\r\n    \"Fields\": [\r\n        {\r\n            \"FieldName\": \"MainDB.MatlHist.Account\",\r\n            \"LabelText\": \"G/L Account\",\r\n            \"DefaultValue\": \"100\",\r\n            \"Sequence\": 10,\r\n            \"Visible\": true,\r\n            \"Required\": true,\r\n            \"DefaultType\": \"RepeatValue\"\r\n        },\r\n        {\r\n            \"FieldName\": \"MainDB.MatlHist.Clocknumber\",\r\n            \"LabelText\": \"Clock Num\",\r\n            \"DefaultValue\": \"\",\r\n            \"Required\": true,\r\n            \"Visible\": true,\r\n            \"DefaultType\": \"Standard\"\r\n        }\r\n    ],\r\n    \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":{"raw":"{{ServerPath}}/Production/Mobile/Designer/{{MobileScreenID}}?ScreenName={{MobileScreenName}}","host":["{{ServerPath}}"],"path":["Production","Mobile","Designer","{{MobileScreenID}}"],"query":[{"key":"ScreenName","value":"{{MobileScreenName}}"}]},"description":"# Update a Mobile Production Screen\n---\n\nUpdates an existing new mobile transaction screen design. This allows you to manage the new screen designs for Odyssey App.\n\n# Route Parameters\n\n**ScreenID** - Type *string* **:**\nThis value represents the ID of the screen you're creating. For example, if you're creating a Material Issues screen for Odyssey App, you'd supply a value of MI1001.\n\n# Parameters\n---\n\n**ScreenName** - Type *string* **:**\nThe name of the screen to be updated. This must exactly match the screen you wish to update in the specified company. This value cannot be changed.\n\n**Fields** - Type *SaveFieldModel[]* **:**\nThe list of fields that are included on the screen.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key.\n\n# SaveFieldModel\n\n*The SaveFieldModel represents all the information that can be passed for a field on a mobile production screen*\n\n**FieldName** - Type *string* **:**\nThe fully qualified name of this field separated by periods, e.g., `MainDB.TableName.FieldName`\n\n**LabelText** - Type *string* **:**\nThe text to be displayed for this field.\n\n**DefaultValue** - Type *string* **:**\nThe default value this field will contain.\n\n**Sequence** - Type *integer* **:**\nDetermines the order in which the field is displayed on the screen.\n\n**Visible** - Type *boolean* **:**\nDetermines if this field is visible on the screen or not. The default is true, which means that a new field will, by default, by shown on the screen.\n\n**Required** - Type *boolean* **:**\nDetermines if a user must enter a value into this field during processing The default is false.\n\n**DefaultType** - Type *string* **:**\nThe type of defaulting that will happen for this field on a Save+Add.\n*Possible Values*\n- `RepeatValue` - Carry the saved value over to the new add screen on a Save &amp; Add\n- `Standard` - Reset the field to the DefaultValue on a Save+Add"},"response":[],"_postman_id":"43eb7fff-edf3-4147-b9ae-514c86052008"}],"id":"ca276e71-b14f-4026-97c7-40c0b2a4fb4a","_postman_id":"ca276e71-b14f-4026-97c7-40c0b2a4fb4a"},{"name":"/Post","item":[{"name":"{ScreenID}/Save?ScreenName=","id":"7604258e-719c-494c-a114-6857441d6038","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"ScreenName\": \"{{MobileScreenName}}\",\r\n    \"Data\": {\r\n        \"Account\": \"1000\",\r\n        \"Clocknumber\": \"200\"\r\n    },\r\n    \"CompanyID\": \"{{CompanyID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{ServerPath}}/Production/Mobile/Post/{{MobileScreenID}}/Save?ScreenName={{MobileScreenName}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Production","Mobile","Post","{{MobileScreenID}}","Save"],"query":[{"key":"ScreenName","value":"{{MobileScreenName}}"},{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Post a Mobile Tag or Material Transaction\n---\n\nThis endpoint allows you to submit a mobile transaction such as Tag Entry or Material Transaction screen.\n\nIn order to use this endpoint, you must first create a screen design using the Odyssey App Transaction Screen Designer in Odyssey or through he API.\n\n# Route Parameters\n\n**ScreenID** - Type *string* **:**\nThis value represents the ID of the screen you're submitting. For example, if you're submitting Material Issue, you'd supply a value of MI1001.\n\n# Parameters\n---\n\n**ScreenName** - Type *string* **:**\nThe name of the screen design you're submitting. This is required for proper defaulting and validation.\n\n**Data** - Type *dictionary* **:**\nThe collection of fields and values you are submitting. Example:\n```json\n{\n    \"MainDB.MatlHist.Account\": \"1000\",\n    \"MainDB.MatlHist.Clocknumber\": \"200\",\n    \"MainDB.MatlHist.Date\": \"2021-10-31\",\n}\n```\n\n**Note** - Dates must be formatted in the ISO8601 format with delimiters. This means, for example, that the date \"October 31, 2021\" would be passed as \"2021-10-31\".\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"7604258e-719c-494c-a114-6857441d6038"},{"name":"{ScreenID}/SaveAndAdd?ScreenName","id":"fc3e13b9-063f-4327-b6f1-648624ce0787","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"ScreenName\": \"{{MobileScreenName}}\",\r\n    \"Data\": {\r\n        \"Account\": \"1000\",\r\n        \"Clocknumber\": \"200\"\r\n    },\r\n    \"CompanyID\": \"{{CompanyID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{ServerPath}}/Production/Mobile/Post/{{MobileScreenID}}/SaveAndAdd?ScreenName={{MobileScreenName}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Production","Mobile","Post","{{MobileScreenID}}","SaveAndAdd"],"query":[{"key":"ScreenName","value":"{{MobileScreenName}}"},{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Post a Mobile Tag or Material Transaction and Perform Save+Add\n---\n\nThis endpoint allows you to submit a mobile transaction such as Tag Entry or Material Transaction screen and receive back the next list of values for use in a \"Save+Add\" manner.\n\nIn order to use this endpoint, you must first create a screen design using the Odyssey App Transaction Screen Designer in Odyssey or through he API.\n\nThis endpoint returns a collection of fields and values that can be used to populate the screen again.\n\n# Route Parameters\n\n**ScreenID** - Type *string* **:**\nThis value represents the ID of the screen you're submitting. For example, if you're submitting Material Issue, you'd supply a value of MI1001.\n\n# Parameters\n---\n\n**ScreenName** - Type *string* **:**\nThe name of the screen design you're submitting. This is required for proper defaulting and validation.\n\n**Data** - Type *dictionary* **:**\nThe collection of fields and values you are submitting. Example:\n```json\n{\n    \"MainDB.MatlHist.Account\": \"1000\",\n    \"MainDB.MatlHist.Clocknumber\": \"200\",\n    \"MainDB.MatlHist.Date\": \"2021-10-31\",\n}\n```\n\n**Note** - Dates must be formatted in the ISO8601 format with delimiters. This means, for example, that the date \"October 31, 2021\" would be passed as \"2021-10-31\".\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"fc3e13b9-063f-4327-b6f1-648624ce0787"}],"id":"15759a11-9b18-46f5-bd26-101d6af1d4ee","_postman_id":"15759a11-9b18-46f5-bd26-101d6af1d4ee"},{"name":"/Screens","item":[{"name":"{ScreenID}","id":"49a8259d-21bf-4636-b37e-bd90bc39a8b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Production/Mobile/Screens?CompanyID={{CompanyID}}&SearchText=","host":["{{ServerPath}}"],"path":["Production","Mobile","Screens"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":""}]},"description":"# Odyssey App Transaction Screen Search\n---\n\nReturns up to 1,000 matching, transaction screens that the user has access to grouped by type of transaction screen. \n\nIf a search text value is provided, records will be returned where the ScreenID OR ScreenName match the given value (using a wild-card matches search).\n\n# Parameters\n---\n\n**SearchText** - Type *string* **:**\nThis value, if supplied, will be used to filter your results. This value will be searched using a MATCHES operator on the ScreenID OR ScreenName fields\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"49a8259d-21bf-4636-b37e-bd90bc39a8b0"},{"name":"{ScreenID}?ScreenName=","id":"7eaace30-1ac2-47ee-a5bd-d7cd709018ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Production/Mobile/Screens/{{MobileScreenID}}?ScreenName={{MobileScreenName}}&CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Production","Mobile","Screens","{{MobileScreenID}}"],"query":[{"key":"ScreenName","value":"{{MobileScreenName}}"},{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get an Odyssey App Transaction Design in \"Post\" Mode\n---\n\nReturns all the fields and data for an Odyssey App Transaction Screen needed in order to fill out the fields and submit a transaction. This can be used in a process where you would fetch all the visible fields on a screen, fill them out, then Post them using the Save or Save+Add endpoints.\n\n# Route Parameters\n\n**ScreenID** - Type *string* **:**\nThis value represents the ID of the screen you're fetching. For example, if you're fetching Material Issue, you'd supply a value of MI1001.\n\n# Parameters\n---\n\n**ScreenNamet** - Type *string* **:**\nThe name of the screen you're fetching a design for. This screen must exist within the specified company.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"7eaace30-1ac2-47ee-a5bd-d7cd709018ae"}],"id":"485dfa39-b6ed-4413-ac5d-056b32a27aa7","_postman_id":"485dfa39-b6ed-4413-ac5d-056b32a27aa7"}],"id":"5ae90aa7-19bb-42ea-a8c9-456bbe765a5c","description":"The /Production/Mobile set of endpoints allows you to perform various functions relating to Mobile production. Mobile production is designed in Odyssey and can be managed through the API. Mobile production transactions (Tag Entry and Material Transactions) can be submitted through the Odyssey App as well as the API.\n\nThese endpoints are available as of Odyssey version 6.3.3.\n\nYou do not need the Production Interface module in order to use these endpoints.","_postman_id":"5ae90aa7-19bb-42ea-a8c9-456bbe765a5c"},{"name":"/Purchasing","item":[{"name":"/POReceiver","item":[{"name":"{POST}","id":"5c677de9-c487-493a-b48a-da29cedf694f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"},{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"ASNNumber\": 0,\r\n    \"AutoPost\": false,\r\n    \"Complete\": false,\r\n    \"ExpireDate\": \"2022-05-30\",\r\n    \"ImportTransactionID\": 0,\r\n    \"Location\": \"NEWINV\",\r\n    \"MaterialID\": \"MATERIALID\",\r\n    \"MatlLotNbr\": \"\",\r\n    \"NbrLabels\": 0,\r\n    \"POItem\": 1,\r\n    \"PONumber\": 1,\r\n    \"PrintLabels\": false,\r\n    \"Receiver\": 0,\r\n    \"RecvBy\": \"USER\",\r\n    \"RecvDate\": \"2022-05-30\",\r\n    \"RecvQty\": 1,\r\n    \"ScaleTicketNumber\": 0,\r\n    \"ShipVia\": \"UPS\",\r\n    \"SupplierLotNbr\": \"\",\r\n    \"SupplierPS\": \"1234845\",\r\n    \"UnitPrice\": 20.0,\r\n    \"VouchRefNum\": 1\r\n}"},"url":"{{ServerPath}}/Purchasing/POReceiver","description":"# Receive Against a Purchase Order\n\nAllows for creating a receiver against a Purchase Order.\n\nAdded in 6.4.1.\n\n# Parameters\n\n---\n\n**ASNNumber** - Type _integer_ **:**  \nSupplier ASN Number used with this receipt.\n\n**AutoPost** - Type _boolean_ **:**  \nDetermines if this transaction will be automatically posted or not.\n\n**Complete** - Type _boolean_ **:**  \nIndicates if this item will be received as complete or not.\n\n**ExpireDate** - Type _string_ **:**  \nDate the material expires in UTC (YYYY-MM-DD) format.\n\n**ImportTransactionID** - Type _integer_ **:**  \nUnique identifier for imported transactions. If specified, must be unique.\n\n**Location** - Type _string_ **:**  \nInventory location being received into.\n\n**MaterialID** - Type _string_ **:**  \nMaterial being received.\n\n**MatlLotNbr** - Type _string_ **:**  \nThis is the material lot number. It will be blank if this material is not tracked by lot number.\n\n**NbrLabels** - Type _integer_ **:**  \nThis is the number of labels to print for this receipt. If left at 0 it will default to 1.\n\n**POItem** - Type _integer_ **:**  \nPurchase Order Item being received.\n\n**PONumber** - Type _integer_ **:**  \nUnique identifier for the Purchase Order being receiverd against.\n\n**PrintLabels** - Type _boolean_ **:**  \nDesignates wether a label is required for this material/lot/location of this receipt.\n\n**Receiver** - Type _integer_ **:**  \nUnique identifier for receiving of this material.\n\n**RecvBy** - Type _string_ **:**  \nThe user or name of person receiving the material.\n\n**RecvDate** - Type _string_ **:**  \nDate the material is received in UTC (YYYY-MM-DD) format.\n\n**RecvQty** - Type _decimal_ **:**  \nQuantity of material received.\n\n**ScaleTicketNumber** - Type _integer_ **:**  \nInformation-only field for identifying the scale ticket for imported POReceivers.\n\n**ShipVia** - Type _string_ **:**  \nMethod of shipment for the item being received.\n\n**SupplierLotNbr** - Type _string_ **:**  \nThis is the supplier lot number for the material.\n\n**SupplierPS** - Type _string_ **:**  \nSupplier's packing slip number for the material.\n\n**UnitPrice** - Type _decimal_ **:**  \nUnit price at time of receipt.\n\n**VoucherRefNum** - Type _integer_ **:**  \nDefines the voucher reference number for the A/P invoice that was auto created with this receiver."},"response":[],"_postman_id":"5c677de9-c487-493a-b48a-da29cedf694f"}],"id":"2fed7a28-adc4-4645-bee8-276cb2a68268","_postman_id":"2fed7a28-adc4-4645-bee8-276cb2a68268"},{"name":"/POTransaction","item":[{"name":"{POST}","id":"da1a5149-cea6-4b78-80de-72224c1c5a4c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"},{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"Account\": \"\",\r\n    \"AffectBook\": false,\r\n    \"AutoPost\": false,\r\n    \"Confirm\": false,\r\n    \"Confirmation\": \"\",\r\n    \"CostType\": \"\",\r\n    \"CurrCode\": \"\",\r\n    \"EmailAddress\": \"\",\r\n    \"Equipment\": \"\",\r\n    \"ErrorFlag\": false,\r\n    \"ErrorText\": \"\",\r\n    \"FOB\": \"\",\r\n    \"GroupCode\": \"\",\r\n    \"JobNumber\": \"\",\r\n    \"MFGCode\": \"\",\r\n    \"MaterialID\": \"MATLID\",\r\n    \"MatlDesc1\": \"\",\r\n    \"MatlDesc2\": \"\",\r\n    \"NoCharge\": false,\r\n    \"OrderItem\": 0,\r\n    \"OrderNumber\": 0,\r\n    \"OrderQty\": 0,\r\n    \"OrderType\": \"\",\r\n    \"PODate\": \"2022-08-21\",\r\n    \"POItem\": 0,\r\n    \"PONumber\": 0,\r\n    \"PayMethod\": \"\",\r\n    \"PromiseDate\": \"\",\r\n    \"PurchAgent\": \"\",\r\n    \"RelNum\": 0,\r\n    \"RequestDate\": \"2022-08-21\",\r\n    \"Requester\": \"\",\r\n    \"Revision\": \"\",\r\n    \"SendEmail\": false,\r\n    \"ShipVia\": \"\",\r\n    \"SupplierID\": \"\",\r\n    \"SupplierLoc\": \"\",\r\n    \"Taxable\": false,\r\n    \"TermCode\": \"\",\r\n    \"Tool\": \"\",\r\n    \"ToolCostType\": \"\",\r\n    \"UnitMeas\": \"\",\r\n    \"UnitPrice\": 0 \r\n}"},"url":"{{ServerPath}}/Purchasing/POTransaction","description":"# Create Purchase Orders\n\nAllows for importing into the Purchase Order Transactions (POTransactions) table to easily create purchase orders from a source outside of Odyssey.\n\nAdded in 6.4.2.\n\n# Parameters\n\n---\n\n**Account** - Type _string_ **:**  \nAccount number to be charged for this item.\n\n**AffectBook** - Type _boolean_ **:**  \nIf selected, this purchase order item will affect bookings.\n\n**AutoPost** - Type _boolean_ **:**  \nAutomatically post transaction when imported.\n\n**Confirm** - Type _boolean_ **:**  \nSelect if purchase order is confirming.\n\n**Confirmation** - Type _string_ **:**  \nConfirmation number for this purchase order.\n\n**CostType** - Type _string_ **:**  \nUser defined cost type for accumulating equipment costs.\n\n**CurrCode** - Type _string_ **:**  \nUnique identifier for the currency.\n\n**EmailAddress** - Type _string_ **:**  \nAddress that the PO Item receipt notification is automatically emailed to when it is received.\n\n**Equipment** - Type _string_ **:**  \nEquipment associated with this purchase order.\n\n**ErrorFlag** - Type _boolean_ **:**  \nRecord is in error and ccannot be posted until fixed.\n\n**ErrorText** - Type _string_ **:**  \nDetails of the error that caused the record to be flagged as in error.\n\n**FOB** - Type _string_ **:**  \nFreight on board.\n\n**GroupCode** - Type _string_ **:**  \nUser-defined code used for grouping purposes to classify purchase order items into groups.\n\n**JobNumber** - Type _string_ **:**  \nJob cost number this item is being charged against.\n\n**MFGCode** - Type _string_ **:**  \nOriginal manufacturer.\n\n**MaterialID** - Type _string_ **:**  \nMaterial inventory ID for this item.\n\n**MatlDesc1** - Type _string_ **:**  \nText describing the material for this item.\n\n**MatlDesc2**\\- Type _string_ **:**  \nAdditional text describing the material for this item.\n\n**NoCharge** - Type _boolean_ **:**  \nFlag indicating whether the supplier will be charging us for this item.\n\n**OrderItem** - Type _integer_ **:**  \nOrder item that this material is being purchased for.\n\n**OrderNumber** - Type _integer_ **:**  \nOrder number that this material is being specifically purchased for.\n\n**OrderQty** - Type _decimal_ **:**  \nTotal on order for this item\n\n**OrderType** - Type _string_ **:**  \nIdentifies the type of order (customer order (C), shop order (S), work order (W), tool order (T), etc).\n\n**PODate** - Type _string_ **:**  \nDate of purchase order in UTC (YYYY-MM-DD) fiormat.\n\n**POItem** - Type _integer_ **:**  \nUnique identifier for this item withing the purchase order.\n\n**PONumber** - Type _integer_ **:**  \nUnique identifier for this purchase order.\n\n**PayMethod** - Type _string_ **:**  \nMethod of payment for this purchase order.\n\n**PromiseDate** - Type _string_ **:**  \nThe supplier's ship date in UTC (YYYY-MM-DD) fiormat.\n\n**PurchAgent** - Type _string_ **:**  \nPerson assigned to this supplier or purchase order.\n\n**RelNum** - Type _integer_ **:**  \nUnique release date number.\n\n**RequestDate** - Type _string_ **:**  \nThe date this quantity is desired in UTC (YYYY-MM-DD) fiormat.\n\n**Requester** - Type _string_ **:**  \nWho requested ordering this item.\n\n**Revision** - Type _string_ **:**  \nRevision level for this item.\n\n**SendEmail** - Type _boolean_ **:**  \nAllows sending an e-mail notifier when this PO Item is received against.\n\n**ShipVia** - Type _string_ **:**  \nMethod of shipment.\n\n**SupplierID** - Type _string_ **:**  \nUnique supplier identification.\n\n**SupplierLoc** - Type _string_ **:**  \nLocation code for the supplier if multiple locations exist.\n\n**Taxable** - Type _boolean_ **:**  \nSelect if this item is taxable.\n\n**TermCode** - Type _string_ **:**  \nUnique identifier for the payment term.\n\n**Tool** - Type _string_ **:**  \nTool number this item is being charged against.\n\n**ToolCostType** - Type _string_ **:**  \nUser-defined cost type for accumulating tooling costs.\n\n**UnitMeas** - Type _string_ **:**  \nUnit of measure as purchased.\n\n**UnitPrice** - Type _decimal_ **:**  \nPurchase price per unit for this item."},"response":[],"_postman_id":"da1a5149-cea6-4b78-80de-72224c1c5a4c"}],"id":"5048414f-323a-44fa-b898-b52efabf14d2","_postman_id":"5048414f-323a-44fa-b898-b52efabf14d2"}],"id":"c1026073-f2f5-453a-9e84-ded527fa823f","_postman_id":"c1026073-f2f5-453a-9e84-ded527fa823f"},{"name":"/Record","item":[{"name":"/Add","id":"101efc2b-3cd7-4814-bfee-82bab390c8c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"TableName\": \"Employees\",\n  \"ListOfFieldValues\": [\n    {\n      \"Key\": \"ClockNumber\",\n      \"Value\": \"\"\n    },\n    {\n      \"Key\": \"Name\",\n      \"Value\": \"Allison Smith\"\n    },\n    {\n      \"Key\": \"Shift\",\n      \"Value\": \"1\"\n    },\n    {\n      \"Key\": \"Foreman\",\n      \"Value\": \"DOUG\"\n    },\n    {\n      \"Key\": \"Department\",\n      \"Value\": \"1\"\n    },\n    {\n    \"Key\":\"Badge\",\n    \"Value\":\"456456\"\n    }\n  ]\n}"},"url":"{{ServerPath}}/Record/Add","description":"# Add a Record\r\n---\r\n\r\nThis method is used to add a single record into the database. This method returns an `AddRecordResponse`, which contains the `UniqueID` of the added record. This `UniqueID` can then be used elsewhere for updating or deleting.\r\n\r\n# Parameters\r\n---\r\n\r\n**TableName** - Type *String* **:**\r\nThis input parameter identifies the name of the table in the database that contains the record you wish to delete.\r\n\r\n**ListOfFieldValues** - Type *List of String[key] and String[value] pairs* **:**\r\nThis is an array of key-value-pairs. The key is the field name, and the value is the value you wish to set for that field.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"101efc2b-3cd7-4814-bfee-82bab390c8c3"},{"name":"/Delete","id":"7f6365c0-5f45-41af-92ee-b361aad19e1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"TableName\": \"Employees\",\n  \"UniqueID\": 123456,\n  \"CompanyID\": \"{{CompanyID}}\"\n}"},"url":"{{ServerPath}}/Record/Delete","description":"# Delete a Record\r\n---\r\n\r\nThe `Delete` method is used to remove a single record from the database.\r\n\r\nThe return object property, `ErrorMessage`, will inform you of any error that might have occurred when attempting the deletion.\r\n\r\n# Parameters\r\n---\r\n\r\n**TableName** - Type *String* **:**\r\nThis input parameter identifies the name of the table in the database that contains the record you wish to delete.\r\n\r\n**UniqueID** - Type *Integer* **:**\r\nThis input parameter specifies the Unique ID of the record that you wish to delete.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"7f6365c0-5f45-41af-92ee-b361aad19e1f"},{"name":"/Find","id":"3e0f3996-85da-4682-a073-4ab14b05ab54","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"TableName\": \"Employees\",\n  \"ListOfFieldValues\": [\n    {\n      \"Key\": \"ClockNumber\",\n      \"Value\": \"10500\"\n    }\n  ]\n}"},"url":"{{ServerPath}}/Record/Find","description":"# Find a Record\r\n---\r\n\r\nThis method will allow you to find a single record in the database using one or more fields and their values. \r\n\r\n# Parameters\r\n---\r\n\r\n**TableName** - Type *String* **:**\r\nThis identifies the name of the Data View to run. It must exist in the same company that you logged into.\r\n\r\n**ListOfFieldValues** - Type *List of String[key] and String[value] pairs* **:**\r\nThis is an array of key-value-pairs. The key is the field name, and the value is the value you wish to set for that field.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"3e0f3996-85da-4682-a073-4ab14b05ab54"},{"name":"/Import","id":"c3f91f79-20f3-46a4-96e4-7f3a57396932","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"ProfileID\": \"OOD-ImportTest\",\r\n  \"SourceFileData\": \"ClockNumber,Name,Shift,Foreman,Department,Badge\\r\\n10551,Allison Smith-T1,1,DOUG,1,10551\\r\\n10552,Allison Smith-T2,1,DOUG,1,10552\\r\\n10553,Allison Smith-T3,1,DOUG,1,10553\\r\\n10554,Allison Smith-T4,1,DOUG,1,10554\\r\\n10555,Allison Smith-T5,1,DOUG,1,10555\",\r\n  \"CompanyID\":\"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Record/Import","description":"# Import Odyssey Data\r\n---\r\n\r\nThis method is used to import records into the database.\r\n\r\n# Parameters\r\n---\r\n\r\n**ProfileID** - Type *String* **:** \r\nThe Import Profile ID that you are running.\r\n\r\n**SourceFileData** - Type *String* **:** \r\nThe content of the file you are importing from.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"c3f91f79-20f3-46a4-96e4-7f3a57396932"},{"name":"/Update","id":"a3fd0905-a964-4ed1-a771-28affd6a8463","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"TableName\": \"Employees\",\r\n  \"UniqueID\": 9504,\r\n  \"ListOfFieldValues\": [\r\n    {\r\n      \"Key\": \"Name\",\r\n      \"Value\": \"Allison Smith (Modified)\"\r\n    },\r\n    {\r\n      \"Key\": \"Address1\",\r\n      \"Value\": \"1234 Main Street\"\r\n    }\r\n  ],\r\n  \"CompanyID\": \"{{CompanyID}}\"\r\n}"},"url":"{{ServerPath}}/Record/Update","description":"# Update A Record\r\n---\r\n\r\nThe `Update` method is used to update a single record in the database with new values.\r\n\r\nThe return object property, `ErrorMessage`, will inform you of any error that might have occurred when attempting the deletion.\r\n\r\n# Parameters\r\n---\r\n\r\n**TableName** - Type *String* **:**\r\nThis input parameter identifies the name of the Odyssey table that you will be updating the record in.\r\n\r\n**UniqueID** - Type *Integer* **:**\r\nThis is the unique ID of the record that you will be updating.\r\n\r\n**ListOfFieldValues** - Type *List of String[key] and String[value] pairs* **:**\r\nThis is an array of key-value-pairs. The key is the field name, and the value is the value you wish to set for that field.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"a3fd0905-a964-4ed1-a771-28affd6a8463"}],"id":"2dd328ca-ecc3-46ee-bfdb-060514ef1dfc","description":"The Record Controller provides record updating, adding, finding, and deleting capabilities.\r\n\r\n","_postman_id":"2dd328ca-ecc3-46ee-bfdb-060514ef1dfc"},{"name":"/Spectrometer","item":[{"name":"{POST}","id":"41f1a8f1-55d2-4a7a-ae1a-484fd11aa6ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"},{"key":"X-API-Key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"Heat\": \"Heat1\",\r\n    \"Elements\": {\r\n        \"O\": 10.0,\r\n        \"FE\": 90.0\r\n    },\r\n    \"CompanyID\": \"ODSY\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{ServerPath}}/Spectrometer","description":"Creates a new chemical reading for a specified heat."},"response":[],"_postman_id":"41f1a8f1-55d2-4a7a-ae1a-484fd11aa6ef"}],"id":"33788a9a-3b17-448f-9819-988b282bc82b","_postman_id":"33788a9a-3b17-448f-9819-988b282bc82b"},{"name":"/Supplier","item":[{"name":"{GET}","id":"f5c3072d-6975-488f-8245-14564609fcff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Supplier?CompanyID={{CompanyID}}&SearchText=","host":["{{ServerPath}}"],"path":["Supplier"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"},{"key":"SearchText","value":""}]},"description":"# Supplier Search\n---\n\nReturns up to 1,000 matching, Active Suppliers from the MainDB.Supplier table.\n\nIf a search text value is provided, records will be returned where the ID, or POName match the given value (using a wild-card matches search).\n\n# Parameters\n---\n\n**SearchText** - Type *string* **:**\nThis value, if supplied, will be used to filter your results. This value will be searched using a MATCHES operator on the ID OR POName fields in the Supplier table.\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"f5c3072d-6975-488f-8245-14564609fcff"},{"name":"/{UniqueID}","id":"61d2909a-d029-4891-b0bd-c25d33a5b27c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Supplier/{{SupplierUniqueID}}?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Supplier","{{SupplierUniqueID}}"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Fetch a Specific Supplier\n---\n\nFetch a specific supplier from the Odyssey database from the MainDB.Supplier table.\n\n# Route Parameters\n\n*These parameters are automatically passed to the API call because they're included as part of the URL to access the API endpoint*\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the supplier you are searching for. This supplier can exist in any company you have access to.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID that will be used to authenticate your request. This value is required if you're using a non-company-specific API Key."},"response":[],"_postman_id":"61d2909a-d029-4891-b0bd-c25d33a5b27c"},{"name":"/{UniqueID}/PlantFields","id":"d234e7e9-fed6-4c80-9ff8-ba8d2cec2982","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/Supplier/{{SupplierUniqueID}}/PlantFields?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Supplier","{{SupplierUniqueID}}","PlantFields"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get Supplier Plant Fields\n---\n\nReturns a list of plant-level fields that a controlling company can change for a specific Supplier and their current values.\n\n# Route Parameters\n\n*These parameters are automatically passed to the API call because they're included as part of the URL to access the API endpoint*\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the supplier you are fetching fields for. This supplier should exist within the HQ company.\n\n# Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID. If you're using a company-specific APIKey, this value is not required. The CompanyID associated with your APIKey will be used to fetch the plant-level fields. If you're using a non-company-specific APIKey, then this value is required."},"response":[],"_postman_id":"d234e7e9-fed6-4c80-9ff8-ba8d2cec2982"},{"name":"/{UniqueID}/PlantFields","id":"c19a7545-dcf2-4b14-b7fb-08661096c017","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"X-API-Key","type":"text","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"PlantList\": [\r\n        \"P1\",\r\n        \"P2\"\r\n    ],\r\n    \"Fields\": [\r\n        {\r\n            \"Field\": {\r\n                \"FieldName\": \"WeightType\",\r\n                \"FieldLabel\": \"Weight Type\",\r\n                \"DataType\": \"List\",\r\n                \"Format\": \"x(1)\",\r\n                \"FieldValue\": \"N\",\r\n                \"Options\": [\r\n                    {\r\n                        \"Text\": \"Gross\",\r\n                        \"Value\": \"G\"\r\n                    },\r\n                    {\r\n                        \"Text\": \"Net\",\r\n                        \"Value\": \"N\"\r\n                    },\r\n                    {\r\n                        \"Text\": \"Ship\",\r\n                        \"Value\": \"S\"\r\n                    },\r\n                    {\r\n                        \"Text\": \"Weight of Record\",\r\n                        \"Value\": \"R\"\r\n                    }\r\n                ],\r\n                \"PlantValues\": {\r\n                    \"P1\": \"S\",\r\n                    \"P2\": \"G\"\r\n                },\r\n                \"originalFieldValue\": \"S\",\r\n                \"forceChange\": false,\r\n                \"valueMismatched\": true,\r\n                \"OptionsRaw\": \"Gross|G,Net|N,Ship|S,Weight of Record|R\"\r\n            },\r\n            \"FieldValue\": \"N\"\r\n        }\r\n    ]\r\n}"},"url":{"raw":"{{ServerPath}}/Supplier/{{SupplierUniqueID}}/PlantFields?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["Supplier","{{SupplierUniqueID}}","PlantFields"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Save Supplier Plant Fields\n---\n\nAllows for updating plant-level fields from a Headquaters company for a selected Supplier.\n\n# Route Parameters\n\n*These parameters are automatically passed to the API call because they're included as part of the URL to access the API endpoint*\n\n**UniqueID** - Type *integer* **:**\nThe UniqueID of the Supplier you are fetching fields for. This supplier should exist within the HQ company.\n\n# URL Parameters\n---\n\n**CompanyID** - Type *string* **:**\nThe optional CompanyID. If you're using a company-specific APIKey, this value is not required. The CompanyID associated with your APIKey will be used to fetch the plant-level fields. If you're using a non-company-specific APIKey, then this value is required.\n\n# Request Parameters\n---\n\n**PlantList** - Type *string array* **:**\nThis is a list of the CompanyID's of the plants to be updated.\n\n**Fields** - Type **PlantFieldUpdateModel array* **:**\nThis is an array of all the fields that are being returned containing information the front-end will use to build the screen\n\n# PlantFieldUpdateModel\n\n**FieldValue** - Type *string* **:**\nThe new value of the field you wish to apply to all the plants in the PlantList\n\n**Field** - Type *PlantFieldModel* **:**\nThe entire field object that you are updating.\n\n# PlantFieldModel\n\n**FieldName** - Type *string* **:**\nThe name of the field\n\n**FieldLabel** - Type *string* **:**\nThe label of the field\n\n**DataType** - Type *string* **:**\nThe data type of the field. Integer, String, Boolean, etc\n\n**Format** - Type *string* **:**\nThe display format of the field. The possible values are: - Boolean Values - yes/no - This format represents a value that is either true or false. These values are typically represented as checkboxes. - Character Values - X(number) - This format means that you can input a character string of \"number\" length. For example, X(10) means that you can enter a string of up to 10 characters, and only the first 10 characters of the value will be displayed. - Integer Or Decimal Values - >>>,>>>, -99,999, >>>>, etc - This format represents how long the field is and where any commas may be present. It also indicates if if the field supports negative (-) numbers or not. - Date Values - MM/DD/YY, DD/MM/YYYY, MM/DD/YYYY HH:MM:SS, etc - This format indicates how the date and associated time, if any, will be displayed.\n\n**FieldValue** - Type *string* **:**\nThe current value of this field\n\n**Options** - Type *string* **:**\nThe list of possible options for this field, if this field's DataType is 'List'.\n\n**PlantValues** - Type *Dictionary<string, string>* **:**\nA list of all plants in this organization, and the value for this field in that plant, if it exists."},"response":[],"_postman_id":"c19a7545-dcf2-4b14-b7fb-08661096c017"}],"id":"38a8a3ca-cd4f-4105-a315-58afae58cb95","_postman_id":"38a8a3ca-cd4f-4105-a315-58afae58cb95"},{"name":"/System","item":[{"name":"/GetModuleAccess","id":"5e5b7bb6-d9dd-41b7-814d-ce8b5930fa57","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"CompanyID\": \"{{CompanyID}}\",\n  \"Module\": \"SC\"\n}"},"url":"{{ServerPath}}/System/GetModuleAccess","description":"# Get Module Access\r\n---\r\n\r\nThis method will allow you to determine whether your organization has access to a given module.\r\n\r\n# Parameters\r\n---\r\n\r\n**Module** - Type *String* **:**\r\nThe two-character module code.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"5e5b7bb6-d9dd-41b7-814d-ce8b5930fa57"},{"name":"/PrintQueueAdmin/Complete","id":"3ebe7f4e-1403-4ddc-8d12-c9fabf60c421","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"JobID\": 1234,\n  \"CompanyID\":\"{{CompanyID}}\"\n}"},"url":"{{ServerPath}}/System/PrintQueueAdmin/Complete","description":"# Print Queue Complete Status\r\n---\r\n\r\nThis method marks the given print job as complete.\r\n\r\n# Parameters\r\n---\r\n\r\n**JobID** - Type *Integer* **:** \r\nThe print job ID to complete.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"3ebe7f4e-1403-4ddc-8d12-c9fabf60c421"},{"name":"/PrintQueueAdmin/StartJob","id":"377edab9-173a-431f-b182-da1269baedbe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"JobID\": 1234,\n  \"CompanyID\":\"{{CompanyID}}\"\n}"},"url":"{{ServerPath}}/System/PrintQueueAdmin/StartJob","description":"# Print Queue Start Job\r\n---\r\n\r\nThis endpoint attempts to start the given print job.\r\n\r\n# Parameters\r\n---\r\n\r\n**JobID** - Type *Integer* **:** \r\nThe print job ID to start.\r\n\r\n**CompanyID** - Type *String* **:** \r\nThis is the Company that you are logging into. Your user that you are logging into Odyssey with must have access to this company. You can fetch records from any company, based your query."},"response":[],"_postman_id":"377edab9-173a-431f-b182-da1269baedbe"},{"name":"/ServerTime","id":"f94622cb-afbf-47c9-b8ed-6a0789b7949e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/System/ServerTime?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["System","ServerTime"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get the System Time\n---\n\nThis endpoint returns UTC date and time of the server in ISO format\n\n# Parameters\n---\n\n**CompanyID** - Type *String* **:** \nThis optional parameter defines the CompanyID to use for APIKey validation, if using a global APIKey. If your APIKey was generated for a specific company, you do not have to supply this parameter."},"response":[],"_postman_id":"f94622cb-afbf-47c9-b8ed-6a0789b7949e"},{"name":"/ErrorMessage/{ErrorID}","id":"97296e81-aaba-47b2-b84f-7291ab0fed11","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{ServerPath}}/System/ErrorMessage/0020?CompanyID={{CompanyID}}","host":["{{ServerPath}}"],"path":["System","ErrorMessage","0020"],"query":[{"key":"CompanyID","value":"{{CompanyID}}"}]},"description":"# Get Error Message Information\n---\n\nGets detailed information about the given Error Message\n    \n# Parameters\n---\n\n**ErrorID** - Type *String* **:** \nThe ID of the error message you wish to get information about\n\n**CompanyID** - Type *String* **:** \nThis optional parameter defines the CompanyID to use for APIKey validation, if using a global APIKey. If your APIKey was generated for a specific company, you do not have to supply this parameter."},"response":[],"_postman_id":"97296e81-aaba-47b2-b84f-7291ab0fed11"},{"name":"/Version","id":"29c4ac63-884d-4ea0-a08f-f18d9a754fcb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{ServerPath}}/System/Version","description":"# Get the API Version\n---\n\nThis endpoint returns version information about the API.\n\nThis endpoint does not require an APIKey or any validation.\n\n# Parameters\n---\n\nNo parameter are required to use this endpoint."},"response":[],"_postman_id":"29c4ac63-884d-4ea0-a08f-f18d9a754fcb"},{"name":"/ValidateUsername","id":"77f656cd-4366-4a66-a840-f8f95d9738f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","key":"X-API-Key","type":"text","value":"{{APIKey}}"},{"description":"This allows you to send and receive data as JSON.","key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"Username\": \"userId\",\r\n  \"Password\": \"password\"\r\n}"},"url":"{{ServerPath}}/System/ValidateUsername","description":"# Validate User Credentials\r\n---\r\n\r\nThis method checks a user ID and password, to see if it is valid.\r\n\r\n# Parameters\r\n---\r\n\r\n**Username** - Type *String* **:**\r\nThe username of the user whose credentials you are validating.\r\n\r\n**Password** - Type *String* **:** \r\nThe password of the user whose credentials you are validating."},"response":[],"_postman_id":"77f656cd-4366-4a66-a840-f8f95d9738f8"}],"id":"f328a04e-8f2d-4db2-831b-77540492a52f","description":"The SystemController exposes various system functions within Odyssey","_postman_id":"f328a04e-8f2d-4db2-831b-77540492a52f"},{"name":"/Scheduling","item":[{"name":"/CreateShopOrder","id":"e6c7b491-42c0-4b93-bc91-91e423624185","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-api-key","value":"{{APIKey}}","description":"Your API Key, from Odyssey. Put your key in the variables section, not here.","type":"text"},{"key":"Content-Type","value":"application/json","description":"This allows you to send and receive data as JSON.","type":"text"}],"body":{"mode":"raw","raw":" {\r\n    \"Product\":\"\",\r\n    \"PCasting\": \"\",\r\n    \"Fulltree\": \"\",\r\n    \"Qty\": \"\",\r\n    \"StartDate\": \"\",\r\n    \"DueDate\": \"\",\r\n    \"SODate\": \"\",\r\n    \"Tool\":\"\",\r\n    \"Config\": \"\",\r\n    \"Rtg\": \"\",\r\n    \"SOType\": \"\",\r\n    \"Customer\":\"\",\r\n    \"CompanyID\":\"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{ServerPath}}/Production/Scheduling/CreateShopOrder","description":"---\n\nAllows for importing into the Shop Order (shoporder) table to easily create a shop order from a source outside of Odyssey\n\n# Parameters\n\n---\n\n**CompanyID** - Type String:\n\nThis is the company the shop order is being created in.\n\n**Config** - Type String:\n\nThis is the configuration this shop order is scheduled to run on.\n\n**Customer** - Type String:\n\nCustomer the product is being produced for.\n\n**DueDate** - Type String:\n\nThis is the date that the shop order is due to be complete.\n\n**Fulltree** - Type Boolean:\n\nThis field allows overriding the quantity calculation. If set, the pouring operation will have a quantity that is rounded up to the next full tree by using the number on at the product level. _(Only for Investment foundrys)_\n\n**PCasting** - Type Boolean:\n\nThis flag indicates if the product entered is a purchased casting or not.\n\n**Product**\\- Type String:\n\nThe product to be scheduled with this shop order.\n\n**Qty** - Type Integer:\n\nThis is the number of finished castings to produce with this shop order.\n\n**Rtg** - Type String:\n\nThis defined the routing to be scheduled for this shop order.\n\n**SODate** - Type String:\n\nThis is the date the shop order was created.\n\n**SoType** - Type String:\n\nThis defines the type of shop order.\n\n**StartDate** - Type String:\n\nThis is the date for the shop order to start.\n\n**Tool** - Type String:\n\nThis is the tool this shop order is scheduled to run on."},"response":[],"_postman_id":"e6c7b491-42c0-4b93-bc91-91e423624185"}],"id":"ed70325f-7e3a-4ad6-a488-ec4f63db3dea","_postman_id":"ed70325f-7e3a-4ad6-a488-ec4f63db3dea"}],"event":[{"listen":"prerequest","script":{"id":"7f3587b0-cd6e-4737-87fc-d0dc8e2fba7a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"fe3b2a2b-3f3a-42c3-9875-a68a0ea4a00c","type":"text/javascript","exec":[""]}}],"variable":[{"key":"APIKey","value":"<Your-APIKey-FromOdyssey>"},{"key":"ServerPath","value":"https://api.blinfo.com/company"},{"key":"CompanyID","value":"ODSY"},{"key":"DocCode","value":"ODSYWHELP"},{"key":"DocumentId","value":"458"},{"key":"PublicKey","value":"<Your-PublicKey-From-Odyssey-Apps>"},{"key":"SearchWords","value":"operation"},{"key":"DocName","value":"Welcome"},{"key":"AssetName","value":"bundle.min.js"},{"key":"SearchPartsString","value":"%7B%22Words%22%3A%5B%22labor%22%5D%2C%22Phrases%22%3A%5B%5D%7D"},{"key":"PageNumber","value":"1"},{"key":"BatchSize","value":"10"},{"key":"CategoryID","value":"OW691"},{"key":"Username","value":"user@blinfo.com"},{"key":"Password","value":"password"},{"key":"ImageKey","value":"abcdefg"},{"key":"Badge","value":"1234"},{"key":"FilePath","value":"[LINKS]/Test/TestFolder"},{"key":"UserID","value":"user"},{"key":"CustomerUniqueID","value":"47319"},{"key":"SupplierUniqueID","value":"1381"},{"key":"MobileScreenID","value":"MI1001"},{"key":"MobileScreenName","value":"My Odyssey App Screen"}]}