{"note":"OpenAPI conversion -- returning structured metadata","name":"opto22-com-pac","description":"PAC Control REST API","version":"R1.0a","base_url":"","endpoints":55,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api PAC Control REST API\n@version R1.0a\n@auth basic\n@endpoints 55\n@hint download_for_search\n@toc device(55)\n\n@endpoint GET /device\n@desc Returns controller's type; firmware version; both mac addresses; and uptime in seconds\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy\n@desc Returns the name, date, time, and CRC of the strategy currently in the controller, and the number of charts currently running. Empty strings and a 0 will be returned when there is no strategy.\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/ios/analogInputs\n@desc Returns the name and engineering units (EU) for all analog input points in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/ios/analogInputs/{ioName}/eu\n@desc Reads the value in engineering units (EU) of the specified analog input\n@required {ioName: any # Name of the analog input point to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/ios/analogOutputs\n@desc Returns the name and engineering units (EU) for all analog output points in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/ios/analogOutputs/{ioName}/eu\n@desc Reads the value in engineering units (EU) of the specified analog output\n@required {ioName: any # Name of analog output point to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/ios/analogOutputs/{ioName}/eu\n@desc Sets the value of the specified analog output point\n@required {ioName: any # Name of the analog output point to write, body: map # Value to write}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/ios/digitalInputs\n@desc Returns the name and state (true = on, false = off) of all digital input points in the strategy. If there is no strategy in the controller, or the strategy includes no digital inputs, the returned array will be empty.\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/ios/digitalInputs/{ioName}/state\n@desc Returns the specified digital input point's state (true = on, false = off)\n@required {ioName: any # Name of the digital input point to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/ios/digitalOutputs\n@desc Returns the name and state (true = on, false = off) of all digital output points in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/ios/digitalOutputs/{ioName}/state\n@desc Returns the specified digital output point's state (true = on, false = off)\n@required {ioName: any # Name of the digit output point to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/ios/digitalOutputs/{ioName}/state\n@desc Sets the value of the specified digital output point\n@required {ioName: any # Name of the digital output point to write, body: map # Value to write}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/floats\n@desc Returns an array of the name and length of all the float tables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/tables/floats/{tableName}\n@desc Read table elements\n@required {tableName: any # Name of float table to read; starting index and number of elements may be specified (defaults to all elements)}\n@optional {startIndex: any # Index of first element to read (default is 0), numElements: any # Number of elements to read (default is number of elements in the table minus startIndex)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/floats/{tableName}\n@desc Write table elements\n@required {tableName: any # Name of float table to write; starting index may be specified, floatArray: [num(float)] # Array of element values to write starting at startIndex}\n@optional {startIndex: any # Index of first element to write (default is 0)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/floats/{tableName}/{index}\n@desc Read specified table element\n@required {tableName: any # Name of float table to read, index: any # Index of element to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/floats/{tableName}/{index}\n@desc Write specified table element\n@required {tableName: any # Name of float table to write, index: any # Index of element to write, FloatElementObject: map # Element to write starting at index}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/int32s\n@desc Returns an array of the name and length of all the integer32 tables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/tables/int32s/{tableName}\n@desc \"Read a range of table elements from the specified integer32 table\"\n@required {tableName: any # Name of integer32 table to read; starting index and number of elements may be specified (defaults to all elements)}\n@optional {startIndex: any # Index of first element to read (default is 0), numElements: any # Number of elements to read (default is number of elements in the table minus startIndex)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/int32s/{tableName}\n@desc \"Write a range of table elements\"\n@required {tableName: any # Name of integer32 table to write; starting index may be specified, int32Array: [int(int32)] # Array of element values to write starting at startIndex; if the list of elements is too long to fit in the specified table, extra elements will be ignored}\n@optional {startIndex: any # Index of first element to write (default is 0)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/int32s/{tableName}/{index}\n@desc Read specified integer32 table element\n@required {tableName: any # Name of the integer32 table to read, index: any # Index of element to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/int32s/{tableName}/{index}\n@desc Write specified integer32 table element\n@required {tableName: any # Name of the integer32 table to write, index: any # Index of element to write, int32ElementObject: map # Element to write at index specified}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/int64s\n@desc Returns an array of the name and length of all the integer64 tables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/tables/int64s/{tableName}\n@desc \"Read a range of table elements from the specified integer64 table\"\n@required {tableName: any # Name of the integer64 table to read; starting index and number of elements may be specified (defaults to all elements)}\n@optional {startIndex: any # Index of first element to read (default is 0), numElements: any # Number of elements to read (default is number of elements in the table minus startIndex)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/int64s/{tableName}\n@desc \"Write a range of table elements\"\n@required {tableName: any # Name of integer64 table to write; starting index may be specified, int64Array: [int(int64)] # Array of element values to write starting at startIndex; if the array of elements is too long to fit in the specified table, extra elements will be ignored}\n@optional {startIndex: any # Index of first element to write; default is 0}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/int64s/{tableName}/_string\n@desc \"Read a range of table elements from the specified integer64 table\"\n@required {tableName: any # Name of the integer64 table to read; starting index and number of elements may be specified (defaults to all elements)}\n@optional {startIndex: any # Index of first element to read (default is 0), numElements: any # Number of elements to read (default is number of elements in the table minus startIndex)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/int64s/{tableName}/_string\n@desc \"Write a range of table elements\"\n@required {tableName: any # Name of integer64 table to write; starting index may be specified, int64AsStringArray: [str] # Array of element values to write starting at startIndex; if the array of elements is too long to fit in the specified table, extra elements will be ignored}\n@optional {startIndex: any # Index of first element to write; default is 0.}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/int64s/{tableName}/{index}\n@desc Read specified integer64 table element\n@required {tableName: any # Name of integer64 table to read, index: any # Index of element to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/int64s/{tableName}/{index}\n@desc Write specified integer64 table element\n@required {tableName: any # Name of the integer64 table to write, index: any # Index of element to write, int64ElementObject: map # Element to write starting at index specified}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/int64s/{tableName}/{index}/_string\n@desc Read specified integer64 table element as string\n@required {tableName: any # Name of integer64 table to read, index: any # Index of element to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/int64s/{tableName}/{index}/_string\n@desc Write specified integer64 table element as string\n@required {tableName: any # Name of the integer64 table to write, index: any # Index of element to write, int64ElementObject: map # Element to write starting at index specified}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/strings\n@desc Returns an array of the name and length of all the string tables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/tables/strings/{tableName}\n@desc \"Read a range of table elements from the specified string table\"\n@required {tableName: any # Name of string table to read; starting index and number of elements may be specified (defaults to all elements)}\n@optional {startIndex: any # Index of first element to read (default is 0), numElements: any # Number of elements to read (default is number of elements in the table minus startIndex)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/strings/{tableName}\n@desc \"Write a range of table elements\"\n@required {tableName: any # Name of string table to write; starting index may be specified, stringArray: [str] # Array of element values to write starting at startIndex; if an element value is longer than the string width, the string will be truncated to fit}\n@optional {startIndex: any # Index of first element to write (default is 0)}\n@returns(200) OK - but check details for any error messages\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/tables/strings/{tableName}/{index}\n@desc Read specified table element\n@required {tableName: any # Name of string table to read, index: any # Index of element to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/tables/strings/{tableName}/{index}\n@desc Write specified table element\n@required {tableName: any # Name of string table to write, index: any # Index of element to write, stringElementObject: map # Element to write starting at index}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/vars/downTimers\n@desc Returns the name and current value of all down timers in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/vars/downTimers/{downTimerName}/value\n@desc Returns current value of the specified down timer\n@required {downTimerName: any # Name of the down timer variable to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/vars/floats\n@desc Returns the name and value of all (single-precision) float variables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/vars/floats/{floatName}\n@desc Returns value of the specified float variable\n@required {floatName: any # Name of float variable to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/vars/floats/{floatName}\n@desc Sets the value of a float variable\n@required {floatName: any # Name of the float variable to write, body: map # Value to write to the float variable}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/vars/int32s\n@desc Returns the name and value of all integer32 variables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/vars/int32s/{int32Name}\n@desc Returns value of the specified integer32 variable\n@required {int32Name: any # Name of integer32 variable to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/vars/int32s/{int32Name}\n@desc Sets the value of an integer32 variable\n@required {int32Name: any # Name of integer32 variable to write, body: map # Value to write to the integer32 variable}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/vars/int64s\n@desc Returns the name and value of all integer64 variables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/vars/int64s/_string\n@desc Returns the name and value as a string of all integer64 variables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/vars/int64s/{int64Name}\n@desc Returns value of the specified integer64 variable\n@required {int64Name: any # Name of integer64 variable to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/vars/int64s/{int64Name}\n@desc Sets the value of an integer64 variable\n@required {int64Name: any # Name of integer64 variable to write, body: map # Value to write to the integer64 variable}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/vars/int64s/{int64Name}/_string\n@desc Returns value of the specified integer64 variable as a string\n@required {int64Name: any # Name of integer64 variable to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/vars/int64s/{int64Name}/_string\n@desc Sets the value of an integer64 variable as a string\n@required {int64Name: any # Name of integer64 variable to write, body: map # Value to write to the integer64 variable}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/vars/strings\n@desc Returns the name and value of all string variables in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/vars/strings/{stringName}\n@desc Returns value of the specified string\n@required {stringName: any # Name of string variable to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint POST /device/strategy/vars/strings/{stringName}\n@desc Sets the value of a string variable\n@required {stringName: any # Name of string variable to write, body: map # String to write. If the value is longer than the string width, the string will be truncated to fit.}\n@returns(200) OK - but check details for any error messages\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@endpoint GET /device/strategy/vars/upTimers\n@desc Returns the name and current value of all up timers in the strategy\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /device/strategy/vars/upTimers/{upTimerName}/value\n@desc Returns current value of the specified up timer\n@required {upTimerName: any # Name of the up timer variable to read}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not found}\n\n@end\n"}