@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api MIMIC REST API
@base http://127.0.0.1
@version 21.00
@auth Bearer basic
@endpoints 356
@hint download_for_search
@toc mimic(356)

@endpoint GET /mimic/get/max
@desc The maximum number of agent instances.
@returns(200) successful operation

@endpoint GET /mimic/get/last
@desc The last configured agent instance.
@returns(200) successful operation

@endpoint GET /mimic/get/version
@desc The version of the MIMIC command interface.
@returns(200) successful operation

@endpoint GET /mimic/get/clients
@desc The number of clients currently connected to the daemon.
@returns(200) successful operation

@endpoint GET /mimic/get/cfgfile
@desc The currently loaded lab configuration file for the particular user.
@returns(200) successful operation

@endpoint GET /mimic/get/cfgfile_changed
@desc This predicate indicates if the currently loaded agent configuration file has changed.
@returns(200) successful operation

@endpoint GET /mimic/get/return
@desc The return mode.
@returns(200) successful operation

@endpoint GET /mimic/get/log
@desc The current log file for the Simulator.
@returns(200) successful operation

@endpoint GET /mimic/get/protocols
@desc The set of protocols supported by the Simulator.
@returns(200) successful operation

@endpoint GET /mimic/get/interfaces
@desc The set of network interfaces that can be used for simulations.
@returns(200) successful operation

@endpoint GET /mimic/get/product
@desc The product number that is licensed.
@returns(200) successful operation

@endpoint GET /mimic/get/netaddr
@desc The network address of the host where the MIMIC simulator is running.
@returns(200) successful operation

@endpoint GET /mimic/get/netdev
@desc The default network device to be used for agent addresses.
@returns(200) successful operation

@endpoint GET /mimic/get/configured_list
@desc The list of {agentnum} that are currently configured.
@returns(200) successful operation

@endpoint GET /mimic/get/active_list
@desc The list of {agentnum} that are currently active (running or paused).
@returns(200) successful operation

@endpoint GET /mimic/get/active_data_list
@desc The list of {agentnum {statistics}} for agents that are currently active and whose statistics have changed since the last invocation of this command.
@returns(200) successful operation

@endpoint GET /mimic/get/changed_config_list
@desc The list of {agentnum} for which a configurable parameter changed.
@returns(200) successful operation

@endpoint GET /mimic/get/changed_state_list
@desc The list of {agentnum state} for which the state changed.
@returns(200) successful operation

@endpoint GET /mimic/mget/{infoArray}
@desc Get multiple sets of information about MIMIC, where infoArray is one of the parameters defined in the mimic get command.
@required {infoArray: [str] # Multiple strings of info.}
@returns(200) successful operation
@errors {400: Invalid info string}

@endpoint PUT /mimic/set/log
@desc The current log file for the Simulator.
@returns(200) successful operation

@endpoint PUT /mimic/set/netdev
@desc The network address of the host where the MIMIC simulator is running.
@returns(200) successful operation

@endpoint PUT /mimic/set/persistent
@desc This operation flushes all global objects which need to be made persistent to disk.
@returns(200) successful operation

@endpoint PUT /mimic/load/{cfgFile}/{firstAgentNum}/{lastAgentNum}/{startAgentNum}
@desc Load the lab configuration file file.
@required {cfgFile: str # MIMIC agent configuration file to load, firstAgentNum: int(int32) # Agent number in cfgFile to start the loading, lastAgentNum: int(int32) # Agent number in cfgFile to end the loading, startAgentNum: int(int32) # Agent number in current configuration to start placing the new agents}
@returns(200) successful operation

@endpoint PUT /mimic/clear/{firstAgentNum}/{lastAgentNum}
@desc Clear the lab configuration.
@required {firstAgentNum: int(int32) # Agent number to start clearing, lastAgentNum: int(int32) # Agent number to end the clearing}
@returns(200) successful operation

@endpoint PUT /mimic/saveas/{cfgFile}/{firstAgentNum}/{lastAgentNum}
@desc Save the lab configuration in file.
@required {cfgFile: str # MIMIC agent configuration file to save, firstAgentNum: int(int32) # Agent number in cfgFile to start the loading, lastAgentNum: int(int32) # Agent number in cfgFile to end the loading}
@returns(200) successful operation

@endpoint PUT /mimic/save
@desc Save the lab configuration.
@returns(200) successful operation

@endpoint PUT /mimic/start
@desc Start MIMIC.
@returns(200) successful operation

@endpoint PUT /mimic/stop
@desc Stop MIMIC.
@returns(200) successful operation

@endpoint PUT /mimic/terminate
@desc Terminate the MIMIC daemon.
@returns(200) successful operation

@endpoint POST /mimic/agent/{agentNum}/add/{IP}
@desc Add an agent.
@required {agentNum: int(int32) # Agent to return the primary IP, IP: str # Primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/remove
@desc Remove the current agent.
@required {agentNum: int(int32) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/start
@desc Start the current agent.
@required {agentNum: int(int32) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/stop
@desc Show the agent's primary IP address
@required {agentNum: int(int32) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/pause
@desc Pause the current agent.
@required {agentNum: int(int32) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/halt
@desc Halt the current agent.
@required {agentNum: int(int32) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/reload
@desc Reload the current agent.
@required {agentNum: int(int32) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/resume
@desc Resume the current agent.
@required {agentNum: int(int32) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/interface
@desc network interface card for the agent.
@required {agentNum: int(string) # Agent to return the primary interface}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/host
@desc host address of the agent.
@required {agentNum: int(string) # Agent to return the primary IP}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/mask
@desc subnet mask of the agent.
@required {agentNum: int(string) # Agent to return the primary interface}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/port
@desc port number
@required {agentNum: int(int32) # Agent to return the primary SNMP port}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/protocol
@desc protocols supported by agent
@required {agentNum: int(int32) # Agent to return the protocols arrary}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/read
@desc read community string
@required {agentNum: int(int32) # Agent to return the SNMP read community string}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/write
@desc write community string
@required {agentNum: int(int32) # Agent to return the SNMP write community string}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/delay
@desc one-way transit delay in msec.
@required {agentNum: int(int32) # Agent to return the delay time}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/start
@desc relative start time
@required {agentNum: int(int32) # Agent to return the relative start time}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/mibs
@desc set of MIBs, simulations and scenarios
@required {agentNum: int(int32) # Agent to return the MIB triplets}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/sim
@desc first simulation name
@required {agentNum: int(int32) # Agent to return the first simulation name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/scen
@desc first scenario name
@required {agentNum: int(int32) # Agent to return the first scenario number}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/state
@desc current running state of the agent
@required {agentNum: int(int32) # Agent to return the state}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/statistics
@desc current statistics of the agent instance
@required {agentNum: int(int32) # Agent to return the statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/changed
@desc has the agent value space changed?
@required {agentNum: int(int32) # Agent to return the indicator}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/config_changed
@desc has the lab configuration changed?
@required {agentNum: int(int32) # Agent to return the indicator}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/state_changed
@desc has the agent state changed?
@required {agentNum: int(int32) # Agent to return the indicator}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/trace
@desc SNMP PDU tracing
@required {agentNum: int(int32) # Agent to return the indicator}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/pdusize
@desc maximum PDU size.
@required {agentNum: int(int32) # Agent to return the PDU size}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/drops
@desc drop rate (every N-th PDU). 0 means no drops.
@required {agentNum: int(int32) # Agent to return the drop rate}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/owner
@desc owner of the agent.
@required {agentNum: int(int32) # Agent to return the owner}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/privdir
@desc private directory of the agent.
@required {agentNum: int(int32) # Agent to return the directory path}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/oiddir
@desc MIB directory of the agent.
@required {agentNum: int(int32) # Agent to return the directory path}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/validate
@desc SNMP SET validation policy.
@required {agentNum: int(int32) # Agent to return the bitmask integer}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/inform_timeout
@desc timeout in seconds for retransmitting INFORM PDUs.
@required {agentNum: int(int32) # Agent to return the timeout setting}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/get/num_starts
@desc number of starts for the agent.
@required {agentNum: int(int32) # Agent to return the count}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/interface/{interface}
@desc network interface card for the agent
@required {agentNum: int(string) # Agent to set the primary interface, interface: str # Primary interface of the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/host/{host}
@desc host address of the agent.
@required {agentNum: int(string) # Agent to set the primary IP, host: str # Primary IP of the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/mask/{mask}
@desc subnet mask of the agent.
@required {agentNum: int(string) # Agent to set the primary IP address mask, mask: str # Mask to set for the agent primary IP address}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/port/{port}
@desc port number
@required {agentNum: int(int32) # Agent to set the primary SNMP port, port: int(int32) # Primary SNMP port of the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/protocol
@desc protocols supported by agent as a comma-separated list
@required {agentNum: int(int32) # Agent to return the protocols arrary}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/read/{read}
@desc read community string
@required {agentNum: int(int32) # Agent to return the SNMP read community string, read: str # SNMP read community string}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/write/{write}
@desc write community string
@required {agentNum: int(int32) # Agent to set the SNMP write community string, write: str # SNMP write community string}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/delay/{delay}
@desc one-way transit delay in msec
@required {agentNum: int(int32) # Agent to set the delay time, delay: int(int32) # Delay time of the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/start/{start}
@desc relative start time
@required {agentNum: int(int32) # Agent to return the relative start time, start: int(int32) # Relative start time of the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/mibs
@desc set of MIBs, simulations and scenarios
@required {agentNum: int(int32) # Agent to return the MIB triplets}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/trace/{trace}
@desc SNMP PDU tracing
@required {agentNum: int(int32) # Agent to set trace setting, trace: int(int32) # Trace setting for the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/pdusize/{pdusize}
@desc maximum PDU size
@required {agentNum: int(int32) # Agent to return the PDU size, pdusize: int(int32) # PDU size setting for the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/drops/{drops}
@desc drop rate (every N-th PDU)
@required {agentNum: int(int32) # Agent to set the drop rate, drops: int(int32) # Drop rate of the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/owner/{owner}
@desc owner of the agent
@required {agentNum: int(int32) # Agent to set the owner, owner: str # Owner of the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/privdir/{privdir}
@desc private directory of the agent.
@required {agentNum: int(int32) # Agent to set the directory path, privdir: str # Directory path for the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/oiddir/{oiddir}
@desc MIB directory of the agent.
@required {agentNum: int(int32) # Agent to set the directory path, oiddir: str # Directory path for the agent}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/validate/{validate}
@desc SNMP SET validation policy
@required {agentNum: int(int32) # Agent to set the bitmask integer, validate: int(int32) # Bitmask integer to set}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/set/inform_timeout/{inform_timeout}
@desc timeout in seconds for retransmitting INFORM PDUs
@required {agentNum: int(int32) # Agent to set the timeout setting, inform_timeout: int(int32) # Tmeout setting}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/save
@desc Save agent MIB values.
@required {agentNum: int(int32) # Agent to save}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/ipalias/list
@desc Lists all the additional ipaliases configured for the agent.
@required {agentNum: int(int32) # Agent to show the IP alias list}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/ipalias/add/{IP}/{port}/{mask}/{interface}
@desc Adds a new ipalias for the agent.
@required {agentNum: int(int32) # Agent to add the IP alias, IP: str # IP address , IPv4 or IPv6, port: int(int32) # SNMP port , 0 or empty for default, mask: str # Netmask, empty for default, interface: str # Interface. Empty for default}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/ipalias/delete/{IP}/{port}
@desc Deletes an existing ipalias from the agent.
@required {agentNum: int(int32) # Agent to delete the IP alias, IP: str # IP address , IPv4 or IPv6, port: int(int32) # SNMP port , 0 or empty for default}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/ipalias/start/{IP}/{port}
@desc Starts an existing ipalias for the agent.
@required {agentNum: int(int32) # Agent to start the IP alias, IP: str # IP address , IPv4 or IPv6, port: int(int32) # SNMP port , 0 or empty for default}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/ipalias/stop/{IP}/{port}
@desc Stops an existing ipalias for the agent.
@required {agentNum: int(int32) # Agent to stop the IP alias, IP: str # IP address , IPv4 or IPv6, port: int(int32) # SNMP port , 0 or empty for default}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/ipalias/status/{IP}/{port}
@desc Returns the status (0=down, 1=up) of an existing ipalias for the agent.
@required {agentNum: int(int32) # Agent to show status of the IP alias, IP: str # IP address , IPv4 or IPv6, port: int(int32) # SNMP port , 0 or empty for default}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/trap/config/list
@desc List the set of trap destinations for this agent instance.
@required {agentNum: int(int32) # Agent to show the IP alias list}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/trap/config/add/{IP}/{port}
@desc Add a trap destination to the set of destinations.
@required {agentNum: int(int32) # Agent to add the destination, IP: str # IP of the destination, port: int(int32) # port of the destination}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/trap/config/delete/{IP}/{port}
@desc Remove a trap destination from the set of destinations.
@required {agentNum: int(int32) # Agent to delete the destination, IP: str # IP of the destination, port: int(int32) # port of the destination}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/trap/list
@desc List the outstanding asynchronous traps for this agent instance.
@required {agentNum: int(int32) # Agent to list the traps}
@returns(200) successful operation

@endpoint GET /mimic/agent/{agentNum}/from/list
@desc List the source addresses that the agent will accept messages from.
@required {agentNum: int(int32) # Agent to show the IP sources}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/from/add/{IP}/{port}
@desc Add a source address that the agent will accept messages from.
@required {agentNum: int(int32) # Agent to add the IP source, IP: str # IP of the port, 0.0.0.0 for any, port: int(int32) # port of the source, 0 for any}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/from/delete/{IP}/{port}
@desc delete a source address that the agent will accept messages from.
@required {agentNum: int(int32) # Agent to delete the IP source, IP: str # IP of the source, port: int(int32) # port of the source}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/{prot}/get/config
@desc Returns the protocol's configuration.
@required {agentNum: int(int32) # Agent to show the protocol configuration, prot: str # Protocol to show configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/list/{OID}
@desc Display the MIB objects below the current position
@required {agentNum: int(int32) # Agent to show the OID branches, OID: str # Current OID}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/oid/{object}
@desc Return the numeric OID of the specified object.
@required {agentNum: int(int32) # Agent to show the OID, object: str # Object}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/name/{OID}
@desc Return the symbolic name of the specified object identifier.
@required {agentNum: int(int32) # Agent to show the object, OID: str # OID}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/mib/{object}
@desc Return the MIB that defines the specified object.
@required {agentNum: int(int32) # Agent to show the MIB, object: str # Object}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/info/{object}
@desc Return the syntactical information for the specified object, such as type, size, range, enumerations, and ACCESS.
@required {agentNum: int(int32) # Agent to show the information of the object, object: str # Object}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/instances/{object}
@desc Display the MIB object instances for the specified object.
@required {agentNum: int(int32) # Agent of the value space, object: str # Object (column) of the table in the agent's value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/eval/{object}/{instance}
@desc Evaluate the values of the specified instance instance for each specified MIB object object and return it as it would through SNMP requests.
@required {agentNum: int(int32) # Agent of the value space, object: str # Single instance object or object (column) of the table in the agent's value space., instance: str # Row of the table in the agent's value space. 0 for single instance objects}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/variables/{object}/{instance}
@desc Display the variables for the specified instance instance for the specified MIB object object
@required {agentNum: int(int32) # Agent of the value space, object: str # Single instance object or object (column) of the table in the agent's value space., instance: str # Row of the table in the agent's value space. 0 for single instance objects}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/split/{OID}
@desc Split the numerical OID into the object OID and instance OID.
@required {agentNum: int(int32) # Agent of the value space, OID: str # OID}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/get/{object}/{instance}/{variable}
@desc Get a variable in the Value Space.
@required {agentNum: int(int32) # Agent of the value space, object: str # Object (column) of the table in the agent's value space, instance: str # Object (column) of the table in the agent's value space, variable: str # Object (column) of the table in the agent's value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/value/set/{object}/{instance}/{variable}
@desc Set a variable in the Value Space.
@required {agentNum: int(int32) # Agent of the value space, object: str # Single instance object or object (column) of the table in the agent's value space., instance: str # Row of the table in the agent's value space. 0 for single instance objects, variable: str # Variable}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/meval/{objInsArray}
@desc Evaluate the values of the specified instance instance for each specified MIB object object and return it as it would through SNMP requests.
@required {agentNum: int(int32) # Agent of the value space, objInsArray: [[str]] # Multiple objects or object (column) of the table in the agent's value space.}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/value/mset
@desc Set multiple variables in the Value Space.
@required {agentNum: int(int32) # Agent of the value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/value/munset
@desc Unset multiple variables in the Value Space
@required {agentNum: int(int32) # Agent of the value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/mget/{objInsVarArray}
@desc Get multiple variables in the Value Space.
@required {agentNum: int(int32) # Agent of the value space, objInsVarArray: [[str]] # Multiple objects or object (column) of the table in the agent's value space.}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/value/unset/{object}/{instance}/{variable}
@desc Unset a variable in the Value Space in order to free its memory.
@required {agentNum: int(int32) # Agent of the value space, object: str # Single instance object or object (column) of the table in the agent's value space., instance: str # Row of the table in the agent's value space. 0 for single instance objects, variable: str # Variable}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/value/add/{object}/{instance}
@desc Add an entry to a table.
@required {agentNum: int(int32) # Agent of the value space, object: str # Object (column) of the table in the agent's value space, instance: str # Object (column) of the table in the agent's value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/value/remove/{object}/{instance}
@desc Remove an entry from a table.
@required {agentNum: int(int32) # Agent of the value space, object: str # Object (column) of the table in the agent's value space, instance: str # Object (column) of the table in the agent's value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/value/state/get/{object}
@desc Get the state of a MIB object object.
@required {agentNum: int(int32) # Agent of the value space, object: str # Object}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/value/state/set/{object}/{state}
@desc Set the state of a MIB object object
@required {agentNum: int(int32) # Agent of the value space, object: str # Object, state: int(int32) # State}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/store/set/{var}/{persist}
@desc Set the variable store for the global storage
@required {var: str # Variable name, persist: int(int32) # Persistent setting}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/store/set/{var}/{persist}
@desc These commands allow the creation of a new variable, or changing an existing value.
@required {agentNum: int(int32) # Agent of the value space, var: str # Variable name, persist: int(int32) # Persistent setting}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/store/lreplace/{var}/{index}
@desc These commands treat the variable as a list, and allow to replace an entry in the list at the specified index with the specified value. The variable has to already exist.
@required {var: str # Variable name, index: int(int32) # Index}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/store/lreplace/{var}/{index}
@desc These commands treat the variable as a list, and allow to replace an entry in the list at the specified index with the specified value. The variable has to already exist.
@required {agentNum: int(int32) # Agent of the value space, var: str # Variable name, index: int(int32) # Index}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/store/unset/{var}
@desc Deletes a variable which is currently defined.
@required {var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/store/unset/{var}
@desc Deletes a variable which is currently defined.
@required {agentNum: int(int32) # Agent of the value space, var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/store/get/{var}
@desc Fetches the value associated with a variable.
@required {var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/store/get/{var}
@desc Fetches the value associated with a variable.
@required {agentNum: int(int32) # Agent of the value space, var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/store/exists/{var}
@desc This command can be used as a predicate to ascertain the existence of a given variable.
@required {var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/store/exists/{var}
@desc This command can be used as a predicate to ascertain the existence of a given variable.
@required {agentNum: int(int32) # Agent of the value space, var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/store/persists/{var}
@desc This command can be used as a predicate to ascertain the persistence of a given variable.
@required {var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/store/persists/{var}
@desc This command can be used as a predicate to ascertain the persistence of a given variable.
@required {agentNum: int(int32) # Agent of the value space, var: str # Variable name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/store/list
@desc This command will return the list of variables in the said scope.
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/store/list
@desc This command will return the list of variables in the said scope.
@required {agentNum: int(int32) # Agent of the value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/store/copy/{otherAgent}
@desc This command copies the variable store from the other agent to this agent.
@required {agentNum: int(int32) # Agent of the value space, otherAgent: int(int32) # Agent of the value space}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/timer/script/list
@desc List the timer scripts currently running along with the their intervals.
@required {agentNum: int(int32) # Agent to return the timer script list}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/timer/script/list
@desc List the timer scripts currently running along with the their intervals.
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/timer/script/add/{script}/{interval}/{arg}
@desc Add a new timer script to be executed at specified interval (in msec) with the specified argument.
@required {agentNum: int(int32) # Agent to return the timer script list, script: str # Script name, interval: int(int32) # Interval in msec, arg: str # Arguments to the script}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/timer/script/add/{script}/{interval}/{arg}
@desc Add a new timer script to be executed at specified interval (in msec) with the specified argument.
@required {script: str # Script name, interval: int(int32) # Interval in msec, arg: str # Arguments to the script}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/timer/script/delete/{script}/{interval}/{arg}
@desc Remove a timer script from the execution list.
@required {agentNum: int(int32) # Agent to return the timer script list, script: str # Script name, interval: int(int32) # Interval in msec, arg: str # Arguments to the script}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/timer/script/delete/{script}/{interval}/{arg}
@desc Remove a timer script from the execution list.
@required {script: str # Script name, interval: int(int32) # Interval in msec, arg: str # Arguments to the script}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/get/config
@desc Returns the SNMPv3 configuration.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) {engine_id: str, context_engine_id: str, usm_db: str, vacm_db: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmpv3/set/config/{parameter}/{value}
@desc Changes the SNMPv3 configuration.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration, parameter: str # SNMPv3 configuration parameter, value: str # SNMPv3 parameter value}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/get/engineid
@desc For started agents, retrieves the current engineID in use by the snmpv3 module.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/get/engineboots
@desc Retrieves the number of times the agent has been restarted.
@required {agentNum: int(int32) # Agent to show the SNMPv3 engine}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/get/enginetime
@desc Retrieves the time in seconds for which the agent has been running.
@required {agentNum: int(int32) # Agent to show the SNMPv3 engine}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/get/context_engineid
@desc Retrieves the contextEngineID for the agent instance.
@required {agentNum: int(int32) # Agent to show the SNMPv3 engine}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/user/list
@desc Returns the current user entries as a Tcl list.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/snmpv3/user/add/{userName}/{securityName}/{authProtocol}/{authKey}/{privProtocol}/{privKey}
@desc Adds a new user entry with the specified parameters.
@required {agentNum: int(int32) # Agent to add the SNMPv3 user, userName: str # SNMPv3 user name, securityName: str # SNMPv3 user security name, authProtocol: str # SNMPv3 user authentication protocol, authKey: str # SNMPv3 user authentication key, privProtocol: str # SNMPv3 user privacy encryption protocol, privKey: str # SNMPv3 user privacy encryption key}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/user/del/{userName}
@desc Deletes the specified user entry.
@required {agentNum: int(int32) # Agent to add the SNMPv3 user, userName: str # SNMPv3 user name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/user/clear
@desc Clears all user entries.
@required {agentNum: int(int32) # Agent to add the SNMPv3 user}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/group/list
@desc Returns the current group entries as an array of strings.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/snmpv3/group/add/{groupName}/{securityModel}/{securityName}
@desc Adds a new group entry with the specified parameters.
@required {agentNum: int(int32) # Agent to add the SNMPv3 group, groupName: str # SNMPv3 group name, securityModel: str # SNMPv3 group security model, securityName: str # SNMPv3 group security name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/group/del/{groupName}
@desc Deletes the specified group entry.
@required {agentNum: int(int32) # Agent to add the SNMPv3 group, groupName: str # SNMPv3 group name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/group/clear
@desc Clears all group entries.
@required {agentNum: int(int32) # Agent to add the SNMPv3 group}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/access/list
@desc Returns the current acccess entries as an array of strings.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/snmpv3/access/add/{groupName}/{prefix}/{securityModel}/{securityLevel}/{contextMatch}/{readView}/{writeView}/{notifyView}
@desc Adds a new access entry with the specified parameters.
@required {agentNum: int(int32) # Agent to add the SNMPv3 access, groupName: str # SNMPv3 access name, prefix: str # SNMPv3 prefix, securityModel: str # SNMPv3 access security model, securityLevel: str # SNMPv3 access security level, contextMatch: str # SNMPv3 access context match, readView: str # SNMPv3 access read view, writeView: str # SNMPv3 access write view, notifyView: str # SNMPv3 access notify view}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/access/del/{accessName}
@desc Deletes the specified access entry.
@required {agentNum: int(int32) # Agent to add the SNMPv3 access, accessName: str # SNMPv3 access name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/access/clear
@desc Clears all access entries.
@required {agentNum: int(int32) # Agent to add the SNMPv3 access}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmpv3/view/list
@desc Returns the current view entries as an array of strings.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/snmpv3/view/add/{viewName}/{viewType}/{subtree}/{mask}
@desc Adds a new view entry with the specified parameters.
@required {agentNum: int(int32) # Agent to add the SNMPv3 view, viewName: str # SNMPv3 view name, viewType: str # SNMPv3 view type, subtree: str # SNMPv3 view subtree, mask: str # SNMPv3 view mask}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/view/del/{viewName}
@desc Deletes the specified view entry.
@required {agentNum: int(int32) # Agent to add the SNMPv3 view, viewName: str # SNMPv3 view name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/snmpv3/view/clear
@desc Clears all view entries.
@required {agentNum: int(int32) # Agent to add the SNMPv3 view}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmpv3/usm/save
@desc Saves current user settings in the currently loaded USM config file.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmpv3/usm/saveas/{filename}
@desc Saves current user settings in the specified USM config file.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration, filename: str # Filename to save}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmpv3/vacm/save
@desc Saves current group, access, view settings in the currently loaded VACM config file.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmpv3/vacm/saveas/{filename}
@desc Saves current group, access, view settings in the specified VACM config file.
@required {agentNum: int(int32) # Agent to show the SNMPv3 configuration, filename: str # Filename to save}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/dhcp/get/args
@desc Show the agent's DHCP argument structure
@required {agentNum: int(int32) # Agent to show the DHCP argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/dhcp/get/config
@desc Show the agent's DHCP configuration
@required {agentNum: int(int32) # Agent to show the DHCP configuration}
@returns(200) {hwaddr: str, classid: str, add_options: str, script: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/dhcp/set/config/{argument}/{value}
@desc Set the agent's DHCP configuration
@required {agentNum: int(int32) # Agent to set the DHCP configuration, argument: str # Parameter to set the DHCP configuration, value: str # Value to set the DHCP configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/dhcp/get/trace
@desc Show the agent's DHCP traffic tracing
@required {agentNum: int(int32) # Agent to show whether DHCP tracing is enabled}
@returns(200) {hwaddr: str, classid: str, add_options: str, script: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/dhcp/set/trace/{enableOrNot}
@desc Set the agent's DHCP traffic tracing
@required {agentNum: int(int32) # Agent to set the DHCP tracing, enableOrNot: str # Value to set the DHCP tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/dhcp/get/stats_hdr
@desc Show the DHCP statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/dhcp/get/statistics
@desc Show the agent's DHCP statistics
@required {agentNum: int(int32) # Agent to show DHCP statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/dhcp/params
@desc Show the parameters configured by the server in its DHCP-OFFER message
@required {agentNum: int(int32) # Agent to show DHCP DHCP-OFFER message}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tftp/get/args
@desc Show the agent's TFTP argument structure
@required {agentNum: int(int32) # Agent to show the TFTP argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tftp/get/config
@desc Show the agent's TFTP configuration
@required {agentNum: int(int32) # Agent to show the TFTP configuration}
@returns(200) {server: str, port: int(int32), client: str, srcfile: str, dstfile: str, script: str, mode: str, timeout: int(int32), retries: int(int32), trace: str, cache: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/tftp/set/config/{argument}/{value}
@desc Set the agent's TFTP configuration
@required {agentNum: int(int32) # Agent to set the TFTP configuration, argument: str # Parameter to set the TFTP configuration, value: str # Value to set the TFTP configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tftp/get/trace
@desc Show the agent's TFTP traffic tracing
@required {agentNum: int(int32) # Agent to show whether TFTP tracing is enabled}
@returns(200) {server: str, port: int(int32), client: str, srcfile: str, dstfile: str, script: str, mode: str, timeout: int(int32), retries: int(int32), trace: str, cache: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/tftp/set/trace/{enableOrNot}
@desc Set the agent's TFTP traffic tracing
@required {agentNum: int(int32) # Agent to set the TFTP tracing, enableOrNot: str # Value to set the TFTP tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/tftp/get/stats_hdr
@desc Show the TFTP statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tftp/get/statistics
@desc Show the agent's TFTP statistics
@required {agentNum: int(int32) # Agent to show TFTP statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/tftp/session/read/server/{srcfile}
@desc Create a read session to download srcfile from server
@required {agentNum: int(int32) # Agent to show TFTP statistics, srcfile: str # File name to retrieve from server}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/tftp/session/write/server/{srcfile}
@desc Create a read session to upload srcfile to server
@required {agentNum: int(int32) # Agent to show TFTP statistics, srcfile: str # File name to upload to server}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tftp/{sessionID}/get/{parameter}
@desc Show a parameter of a TFTP sesssion
@required {agentNum: int(int32) # Agent to show TFTP parameter, sessionID: str # SessionID, parameter: str # Parameter to show}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/tftp/{sessionID}/set/{parameter}/{value}
@desc Set a parameter of a TFTP sesssion
@required {agentNum: int(int32) # Agent to set TFTP parameter, sessionID: str # SessionID, parameter: str # Parameter to set, value: str # Value to set}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/tftp/{sessionID}/start
@desc Start a TFTP sesssion
@required {agentNum: int(int32) # Agent to start TFTP transaction, sessionID: str # SessionID}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tftp/{sessionID}/status
@desc Check a TFTP sesssion's status
@required {agentNum: int(int32) # Agent to show TFTP transaction, sessionID: str # SessionID}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/tftp/{sessionID}/stop
@desc Stop a TFTP sesssion
@required {agentNum: int(int32) # Agent to stop TFTP transaction, sessionID: str # SessionID}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tod/get/args
@desc Show the agent's TOD argument structure
@required {agentNum: int(int32) # Agent to show the TOD argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tod/get/config
@desc Show the agent's TOD configuration
@required {agentNum: int(int32) # Agent to show the TOD configuration}
@returns(200) {server: str, port: int(int32), script: str, timeout: int(int32), retries: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/tod/set/config/{argument}/{value}
@desc Set the agent's TOD configuration
@required {agentNum: int(int32) # Agent to set the TOD configuration, argument: str # Parameter to set the TOD configuration, value: str # Value to set the TOD configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tod/get/trace
@desc Show the agent's TOD traffic tracing
@required {agentNum: int(int32) # Agent to show whether TOD tracing is enabled}
@returns(200) {server: str, port: int(int32), script: str, timeout: int(int32), retries: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/tod/set/trace/{enableOrNot}
@desc Set the agent's TOD traffic tracing
@required {agentNum: int(int32) # Agent to set the TOD tracing, enableOrNot: str # Value to set the TOD tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/tod/get/stats_hdr
@desc Show the TOD statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tod/get/statistics
@desc Show the agent's TOD statistics
@required {agentNum: int(int32) # Agent to show TOD statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/tod/gettime/server/{serverAddr}/port/{portNum}/script/{scriptName}/timeout/{timeSec}/retries/{numRetries}
@desc Retrieve TOD time
@required {agentNum: int(int32) # Agent to show TOD return, serverAddr: str # serverAddr, portNum: int(int32) # portNum, scriptName: str # scriptName, timeSec: int(int32) # timeSec, numRetries: int(int32) # numRetries}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/get/args
@desc Show the agent's TELNET argument structure
@required {agentNum: int(int32) # Agent to show the TELNET argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/get/config
@desc Show the agent's TELNET configuration
@required {agentNum: int(int32) # Agent to show the TELNET configuration}
@returns(200) {port: int(int32), rule: str, prompt: str, paging_prompt: str, userdb: str, keymap: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/telnet/set/config/{argument}/{value}
@desc Set the agent's TELNET configuration
@required {agentNum: int(int32) # Agent to set the TELNET configuration, argument: str # Parameter to set the TELNET configuration, value: str # Value to set the TELNET configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/get/trace
@desc Show the agent's TELNET traffic tracing
@required {agentNum: int(int32) # Agent to show whether TELNET tracing is enabled}
@returns(200) {port: int(int32), rule: str, prompt: str, paging_prompt: str, userdb: str, keymap: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/telnet/set/trace/{enableOrNot}
@desc Set the agent's TELNET traffic tracing
@required {agentNum: int(int32) # Agent to set the TELNET tracing, enableOrNot: str # Value to set the TELNET tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/telnet/get/stats_hdr
@desc Show the TELNET statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/get/statistics
@desc Show the agent's TELNET statistics
@required {agentNum: int(int32) # Agent to show TELNET statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/server/get/state
@desc Show the agent's TELNET server state
@required {agentNum: int(int32) # Agent to show TELNET statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/server/get/rulesdb
@desc Show the agent's TELNET rules db file name
@required {agentNum: int(int32) # Agent to show TELNET statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/server/get/userdb
@desc Show the agent's TELNET user db file name
@required {agentNum: int(int32) # Agent to show TELNET statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/server/get/keymap
@desc Show the agent's TELNET keymap file name
@required {agentNum: int(int32) # Agent to show TELNET statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/server/get/users
@desc Show the agent's TELNET users
@required {agentNum: int(int32) # Agent to show TELNET configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/server/get/connections
@desc Show the agent's TELNET connections
@required {agentNum: int(int32) # Agent to show TELNET configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/telnet/connection/logon/{connectionID}/{user}/{password}
@desc Changes the connection's current logon.
@required {agentNum: int(int32) # Agent to manipulate TELNET connection, connectionID: int(int32), user: str, password: str}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/telnet/connection/request/{connectionID}/{command}
@desc Executes the command asynchronously .
@required {agentNum: int(int32) # Agent to manipulate TELNET connection, connectionID: int(int32), command: str}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/telnet/connection/signal/{connectionID}/{signalName}
@desc Triggers the asynchronous signal event with the specified signal name
@required {agentNum: int(int32) # Agent to manipulate TELNET connection, connectionID: int(int32), signalName: str}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/telnet/ipalias/enable/{ipaddress}/{port}
@desc Enable individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate TELNET IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/telnet/ipalias/disable/{ipaddress}/{port}
@desc Disable individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate TELNET IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/ipalias/isenabled/{ipaddress}/{port}
@desc Check individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate TELNET IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/telnet/ipalias/list
@desc List all IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate TELNET IP alias}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ssh/get/args
@desc Show the agent's SSH argument structure
@required {agentNum: int(int32) # Agent to show the SSH argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ssh/get/config
@desc Show the agent's SSH configuration
@required {agentNum: int(int32) # Agent to show the SSH configuration}
@returns(200) {port: int(int32), version: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/ssh/set/config/{argument}/{value}
@desc Set the agent's SSH configuration
@required {agentNum: int(int32) # Agent to set the SSH configuration, argument: str # Parameter to set the SSH configuration, value: str # Value to set the SSH configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ssh/get/trace
@desc Show the agent's SSH traffic tracing
@required {agentNum: int(int32) # Agent to show whether SSH tracing is enabled}
@returns(200) {port: int(int32), version: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/ssh/set/trace/{enableOrNot}
@desc Set the agent's SSH traffic tracing
@required {agentNum: int(int32) # Agent to set the SSH tracing, enableOrNot: str # Value to set the SSH tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/ssh/get/stats_hdr
@desc Show the SSH statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ssh/get/statistics
@desc Show the agent's SSH statistics
@required {agentNum: int(int32) # Agent to show SSH statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/ssh/ipalias/enable/{ipaddress}/{port}
@desc Enable individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SSH IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/ssh/ipalias/disable/{ipaddress}/{port}
@desc Disable individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SSH IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ssh/ipalias/isenabled/{ipaddress}/{port}
@desc Check individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SSH IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ssh/ipalias/list
@desc List all IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SSH IP alias}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmptcp/get/args
@desc Show the agent's SNMPTCP argument structure
@required {agentNum: int(int32) # Agent to show the SNMPTCP argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmptcp/get/config
@desc Show the agent's SNMPTCP configuration
@required {agentNum: int(int32) # Agent to show the SNMPTCP configuration}
@returns(200) {connections: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmptcp/set/config/{argument}/{value}
@desc Set the agent's SNMPTCP configuration
@required {agentNum: int(int32) # Agent to set the SNMPTCP configuration, argument: str # Parameter to set the SNMPTCP configuration, value: str # Value to set the SNMPTCP configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmptcp/get/trace
@desc Show the agent's SNMPTCP traffic tracing
@required {agentNum: int(int32) # Agent to show whether SNMPTCP tracing is enabled}
@returns(200) {connections: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmptcp/set/trace/{enableOrNot}
@desc Set the agent's SNMPTCP traffic tracing
@required {agentNum: int(int32) # Agent to set the SNMPTCP tracing, enableOrNot: str # Value to set the SNMPTCP tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/snmptcp/get/stats_hdr
@desc Show the SNMPTCP statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmptcp/get/statistics
@desc Show the agent's SNMPTCP statistics
@required {agentNum: int(int32) # Agent to show SNMPTCP statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmptcp/ipalias/enable/{ipaddress}/{port}
@desc Enable individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SNMPTCP IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/snmptcp/ipalias/disable/{ipaddress}/{port}
@desc Disable individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SNMPTCP IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmptcp/ipalias/isenabled/{ipaddress}/{port}
@desc Check individual IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SNMPTCP IP alias, ipaddress: str, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/snmptcp/ipalias/list
@desc List all IP aliases on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate SNMPTCP IP alias}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/syslog/get/args
@desc Show the agent's SYSLOG argument structure
@required {agentNum: int(int32) # Agent to show the SYSLOG argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/syslog/get/config
@desc Show the agent's SYSLOG configuration
@required {agentNum: int(int32) # Agent to show the SYSLOG configuration}
@returns(200) {server: str, serverport: int(int32), client: str, localport: int(int32), sequence: int(int32), separator: str, timestamp: str, hostname: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/syslog/set/config/{argument}/{value}
@desc Set the agent's SYSLOG configuration
@required {agentNum: int(int32) # Agent to set the SYSLOG configuration, argument: str # Parameter to set the SYSLOG configuration, value: str # Value to set the SYSLOG configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/syslog/get/trace
@desc Show the agent's SYSLOG traffic tracing
@required {agentNum: int(int32) # Agent to show whether SYSLOG tracing is enabled}
@returns(200) {server: str, serverport: int(int32), client: str, localport: int(int32), sequence: int(int32), separator: str, timestamp: str, hostname: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/syslog/set/trace/{enableOrNot}
@desc Set the agent's SYSLOG traffic tracing
@required {agentNum: int(int32) # Agent to set the SYSLOG tracing, enableOrNot: str # Value to set the SYSLOG tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/syslog/get/stats_hdr
@desc Show the SYSLOG statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/syslog/get/statistics
@desc Show the agent's SYSLOG statistics
@required {agentNum: int(int32) # Agent to show SYSLOG statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/syslog/send/{pri}
@desc Set the agent's SYSLOG traffic tracing
@required {agentNum: int(int32) # Agent to set the SYSLOG tracing, pri: int(int32) # Message Priority}
@optional {sequence: str, separator: str, timestamp: str, hostname: str, message: str}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/syslog/get/{attr}
@desc Show the outgoing message's attributes
@required {agentNum: int(int32) # Agent to set the SYSLOG tracing, attr: str # Attribute}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/syslog/set/{attr}/{value}
@desc Set the outgoing message's attributes
@required {agentNum: int(int32) # Agent to set the SYSLOG tracing, attr: str # Attribute, value: str}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ipmi/get/args
@desc Show the agent's IPMI argument structure
@required {agentNum: int(int32) # Agent to show the IPMI argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ipmi/get/config
@desc Show the agent's IPMI configuration
@required {agentNum: int(int32) # Agent to show the IPMI configuration}
@returns(200) {primary_port: int(int32), secure_port: int(int32), version: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/ipmi/set/config/{argument}/{value}
@desc Set the agent's IPMI configuration
@required {agentNum: int(int32) # Agent to set the IPMI configuration, argument: str # Parameter to set the IPMI configuration, value: str # Value to set the IPMI configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ipmi/get/trace
@desc Show the agent's IPMI traffic tracing
@required {agentNum: int(int32) # Agent to show whether IPMI tracing is enabled}
@returns(200) {primary_port: int(int32), secure_port: int(int32), version: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/ipmi/set/trace/{enableOrNot}
@desc Set the agent's IPMI traffic tracing
@required {agentNum: int(int32) # Agent to set the IPMI tracing, enableOrNot: str # Value to set the IPMI tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/ipmi/get/stats_hdr
@desc Show the IPMI statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ipmi/get/statistics
@desc Show the agent's IPMI statistics
@required {agentNum: int(int32) # Agent to show IPMI statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/ipmi/get/{attr}
@desc Show the outgoing message's attributes
@required {agentNum: int(int32) # Agent to set the IPMI tracing, attr: str # Attribute}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/ipmi/set/{attr}/{value}
@desc Set the outgoing message's attributes
@required {agentNum: int(int32) # Agent to set the IPMI tracing, attr: str # Attribute, value: str}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/proxy/get/args
@desc Show the agent's PROXY argument structure
@required {agentNum: int(int32) # Agent to show the PROXY argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/proxy/get/config
@desc Show the agent's PROXY configuration
@required {agentNum: int(int32) # Agent to show the PROXY configuration}
@returns(200) {portno: int(int32), target: str, transport: str, max_connects: int(int32), TCP_NODELAY: int(int32), disconnect_delay: int(int32), pre_connect: str, client_to_server: str, server_to_client: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/proxy/set/config/{argument}/{value}
@desc Set the agent's PROXY configuration
@required {agentNum: int(int32) # Agent to set the PROXY configuration, argument: str # Parameter to set the PROXY configuration, value: str # Value to set the PROXY configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/proxy/get/trace
@desc Show the agent's PROXY traffic tracing
@required {agentNum: int(int32) # Agent to show whether PROXY tracing is enabled}
@returns(200) {portno: int(int32), target: str, transport: str, max_connects: int(int32), TCP_NODELAY: int(int32), disconnect_delay: int(int32), pre_connect: str, client_to_server: str, server_to_client: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/proxy/set/trace/{enableOrNot}
@desc Set the agent's PROXY traffic tracing
@required {agentNum: int(int32) # Agent to set the PROXY tracing, enableOrNot: str # Value to set the PROXY tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/proxy/get/stats_hdr
@desc Show the PROXY statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/proxy/get/statistics
@desc Show the agent's PROXY statistics
@required {agentNum: int(int32) # Agent to show PROXY statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/proxy/port/add/{port}/{target}/{targetPort}
@desc Add individual proxy target on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate PROXY target, port: int(int32), target: str, targetPort: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/proxy/port/remove/{port}
@desc Remove individual proxy target on the agent and the simulator host
@required {agentNum: int(int32) # Agent to manipulate PROXY target, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/proxy/port/list
@desc List all proxy targets
@required {agentNum: int(int32) # Agent to manipulate PROXY target}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/proxy/port/start/{port}
@desc Start additional target
@required {agentNum: int(int32) # Agent to manipulate PROXY target, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/proxy/port/stop/{port}
@desc Stop additional target
@required {agentNum: int(int32) # Agent to manipulate PROXY target, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/proxy/port/isStarted/{port}
@desc Check individual target
@required {agentNum: int(int32) # Agent to manipulate PROXY target, port: int(int32)}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/netflow/get/args
@desc Show the agent's NETFLOW argument structure
@required {agentNum: int(int32) # Agent to show the NETFLOW argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/netflow/get/config
@desc Show the agent's NETFLOW configuration
@required {agentNum: int(int32) # Agent to show the NETFLOW configuration}
@returns(200) {filename: str, collector: str, collectorport: int(int32), bundleflowsets: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/set/config/{argument}/{value}
@desc Set the agent's NETFLOW configuration
@required {agentNum: int(int32) # Agent to set the NETFLOW configuration, argument: str # Parameter to set the NETFLOW configuration, value: str # Value to set the NETFLOW configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/netflow/get/trace
@desc Show the agent's NETFLOW traffic tracing
@required {agentNum: int(int32) # Agent to show whether NETFLOW tracing is enabled}
@returns(200) {filename: str, collector: str, collectorport: int(int32), bundleflowsets: int(int32)} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/set/trace/{enableOrNot}
@desc Set the agent's NETFLOW traffic tracing
@required {agentNum: int(int32) # Agent to set the NETFLOW tracing, enableOrNot: str # Value to set the NETFLOW tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/netflow/get/stats_hdr
@desc Show the NETFLOW statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/netflow/get/statistics
@desc Show the agent's NETFLOW statistics
@required {agentNum: int(int32) # Agent to show NETFLOW statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/halt
@desc Halt NETFLOW traffic
@required {agentNum: int(int32) # Agent to set the NETFLOW}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/set/filename/{fileName}
@desc Swap NETFLOW configuration file
@required {agentNum: int(int32) # Agent to set the NETFLOW, fileName: str # file name to load config}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/set/collector/{collectorIP}
@desc Swap NETFLOW collector
@required {agentNum: int(int32) # Agent to set the NETFLOW, collectorIP: str # file name to load config}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/reload
@desc Reload NETFLOW configuration before resuming traffic
@required {agentNum: int(int32) # Agent to set the NETFLOW}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/resume
@desc Resuming traffic
@required {agentNum: int(int32) # Agent to set the NETFLOW}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/netflow/flow/list
@desc Show list of NETFLOW exports
@required {agentNum: int(int32) # Agent to show NETFLOW statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/flow/change/tfs_interval/{interval}
@desc Change NETFLOW template export interval
@required {agentNum: int(int32) # Agent to set the NETFLOW, interval: int(int32) # NETFLOW export interval}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/flow/change/dfs_interval/{interval}
@desc Change NETFLOW data export interval
@required {agentNum: int(int32) # Agent to set the NETFLOW, interval: int(int32) # NETFLOW export interval}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/netflow/flow/change/{flowset-uid}/{field-num}/{attr}/{value}
@desc Change NETFLOW export attributes
@required {agentNum: int(int32) # Agent to set the NETFLOW, flowset-uid: int(int32), field-num: int(int32), attr: str, value: str}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/sflow/get/args
@desc Show the agent's SFLOW argument structure
@required {agentNum: int(int32) # Agent to show the SFLOW argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/sflow/get/config
@desc Show the agent's SFLOW configuration
@required {agentNum: int(int32) # Agent to show the SFLOW configuration}
@returns(200) {filename: str, collector: str, collectorport: int(int32), flows_per_min: int(int32), encoding_type: str, include_samples: str, records_per_sample: str, samples_per_datagram: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/sflow/set/config/{argument}/{value}
@desc Set the agent's SFLOW configuration
@required {agentNum: int(int32) # Agent to set the SFLOW configuration, argument: str # Parameter to set the SFLOW configuration, value: str # Value to set the SFLOW configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/sflow/get/trace
@desc Show the agent's SFLOW traffic tracing
@required {agentNum: int(int32) # Agent to show whether SFLOW tracing is enabled}
@returns(200) {filename: str, collector: str, collectorport: int(int32), flows_per_min: int(int32), encoding_type: str, include_samples: str, records_per_sample: str, samples_per_datagram: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/sflow/set/trace/{enableOrNot}
@desc Set the agent's SFLOW traffic tracing
@required {agentNum: int(int32) # Agent to set the SFLOW tracing, enableOrNot: str # Value to set the SFLOW tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/sflow/get/stats_hdr
@desc Show the SFLOW statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/sflow/get/statistics
@desc Show the agent's SFLOW statistics
@required {agentNum: int(int32) # Agent to show SFLOW statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/sflow/halt
@desc Halt SFLOW traffic
@required {agentNum: int(int32) # Agent to set the SFLOW}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/sflow/reload
@desc Reload SFLOW configuration before resuming traffic
@required {agentNum: int(int32) # Agent to set the SFLOW}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/sflow/resume
@desc Resuming traffic
@required {agentNum: int(int32) # Agent to set the SFLOW}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/web/get/args
@desc Show the agent's WEB argument structure
@required {agentNum: int(int32) # Agent to show the WEB argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/web/get/config
@desc Show the agent's WEB configuration
@required {agentNum: int(int32) # Agent to show the WEB configuration}
@returns(200) {port: int(int32), is_persistent_connections: int(int32), rule: str, wsdl: str, username: str, password: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/web/set/config/{argument}/{value}
@desc Set the agent's WEB configuration
@required {agentNum: int(int32) # Agent to set the WEB configuration, argument: str # Parameter to set the WEB configuration, value: str # Value to set the WEB configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/web/get/trace
@desc Show the agent's WEB traffic tracing
@required {agentNum: int(int32) # Agent to show whether WEB tracing is enabled}
@returns(200) {port: int(int32), is_persistent_connections: int(int32), rule: str, wsdl: str, username: str, password: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/web/set/trace/{enableOrNot}
@desc Set the agent's WEB traffic tracing
@required {agentNum: int(int32) # Agent to set the WEB tracing, enableOrNot: str # Value to set the WEB tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/web/get/stats_hdr
@desc Show the WEB statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/web/get/statistics
@desc Show the agent's WEB statistics
@required {agentNum: int(int32) # Agent to show WEB statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/web/port/exists/{port}
@desc Show the agent's WEB port
@required {agentNum: int(int32) # Agent to show WEB configuration, port: int(int32) # TCP port}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/agent/{agentNum}/protocol/msg/web/port/add/{port}
@desc Add the agent's WEB port
@required {agentNum: int(int32) # Agent to add WEB port, port: int(int32) # TCP port}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/web/port/set/{port}/{protocol}/{version}
@desc Set the agent's WEB port attribute
@required {agentNum: int(int32) # Agent to set WEB port, port: int(int32) # TCP port, protocol: str # Encryption or related protocol, version: str # Encryption or related protocol version}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/web/port/start/{port}
@desc Start the agent's WEB port
@required {agentNum: int(int32) # Agent to start WEB port, port: int(int32) # TCP port}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/web/port/stop/{port}
@desc Stop the agent's WEB port
@required {agentNum: int(int32) # Agent to stop WEB port, port: int(int32) # TCP port}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/agent/{agentNum}/protocol/msg/web/port/remove/{port}
@desc Remove the agent's WEB port
@required {agentNum: int(int32) # Agent to remove WEB port, port: int(int32) # TCP port}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/get/args
@desc Show the agent's MQTT argument structure
@required {agentNum: int(int32) # Agent to show the MQTT argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/get/config
@desc Show the agent's MQTT configuration
@required {agentNum: int(int32) # Agent to show the MQTT configuration}
@returns(200) {filename: str, broker: str, port: int(int32), clientid: str, username: str, password: str, version: str, is_tls: str, tls_conf_filename: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/set/config/{argument}/{value}
@desc Set the agent's MQTT configuration
@required {agentNum: int(int32) # Agent to set the MQTT configuration, argument: str # Parameter to set the MQTT configuration, value: str # Value to set the MQTT configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/get/trace
@desc Show the agent's MQTT traffic tracing
@required {agentNum: int(int32) # Agent to show whether MQTT tracing is enabled}
@returns(200) {filename: str, broker: str, port: int(int32), clientid: str, username: str, password: str, version: str, is_tls: str, tls_conf_filename: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/set/trace/{enableOrNot}
@desc Set the agent's MQTT traffic tracing
@required {agentNum: int(int32) # Agent to set the MQTT tracing, enableOrNot: str # Value to set the MQTT tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/mqtt/get/stats_hdr
@desc Show the MQTT statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/get/statistics
@desc Show the agent's MQTT statistics
@required {agentNum: int(int32) # Agent to show MQTT statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/client/get/state
@desc Show the agent's MQTT state
@required {agentNum: int(int32) # Agent to show MQTT state}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/client/get/protstate
@desc Show the agent's MQTT TCP connection state
@required {agentNum: int(int32) # Agent to show MQTT state}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/broker/{brokerAddr}
@desc Set the agent's MQTT TCP connection target broker
@required {agentNum: int(int32) # Agent to set MQTT config, brokerAddr: str # Broker address}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/port/{port}
@desc Set the agent's MQTT TCP connection target port
@required {agentNum: int(int32) # Agent to set MQTT config, port: str # TCP port}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/clientid/{clientID}
@desc Set the agent's MQTT client ID
@required {agentNum: int(int32) # Agent to set MQTT config, clientID: str # Client ID}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/username/{username}
@desc Set the agent's MQTT client username
@required {agentNum: int(int32) # Agent to set MQTT config, username: str # User name}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/password/{password}
@desc Set the agent's MQTT client password
@required {agentNum: int(int32) # Agent to set MQTT config, password: str # Password}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/willtopic/{topic}
@desc Set the agent's MQTT client will's topic
@required {agentNum: int(int32) # Agent to set MQTT config, topic: str # topic}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/willmsg/{msg}
@desc Set the agent's MQTT client's will
@required {agentNum: int(int32) # Agent to set MQTT config, msg: str # Will message}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/willretain/{retain}
@desc Set the agent's MQTT retained will
@required {agentNum: int(int32) # Agent to set MQTT config, retain: str # Retaining will}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/willqos/{qos}
@desc Set the agent's MQTT will message's QOS field
@required {agentNum: int(int32) # Agent to set MQTT config, qos: str # Quality of service field}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/cleansession/{cleanOrNot}
@desc Set the agent's MQTT session
@required {agentNum: int(int32) # Agent to set MQTT config, cleanOrNot: int(int32) # Clean session}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/keepalive/{aliveTime}
@desc Set the agent's MQTT TCP keepalive
@required {agentNum: int(int32) # Agent to set MQTT config, aliveTime: int(int32) # period to send keepalive messages}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/set/on_disconnect/{action}
@desc Set the agent's MQTT disconnection action
@required {agentNum: int(int32) # Agent to set MQTT config, action: str # Action to take}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/runtime/abort
@desc Abort agent's MQTT TCP session without sending DISCONNECT command
@required {agentNum: int(int32) # Agent to set MQTT behavior}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/runtime/disconnect
@desc Disconnect agent's MQTT TCP session by sending DISCONNECT command
@required {agentNum: int(int32) # Agent to set MQTT behavior}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/runtime/connect
@desc Start agent's MQTT TCP session
@required {agentNum: int(int32) # Agent to set MQTT behavior}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/client/message/card
@desc Show the agent's current messages' cardinality
@required {agentNum: int(int32) # Agent to show MQTT message state}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/client/message/get/{msgNum}/{attr}
@desc Show the agent's message attributes
@required {agentNum: int(int32) # Agent to show MQTT state, msgNum: int(int32) # Message Number, attr: str # Attribute}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/message/set/{msgNum}/{attr}/{value}
@desc Set the agent's message attributes
@required {agentNum: int(int32) # Agent to show MQTT state, msgNum: int(int32) # Message Number, attr: str # Attribute, value: str # Value}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/client/subscribe/card
@desc Show the agent's current subscriptions' cardinality
@required {agentNum: int(int32) # Agent to show MQTT subscription state}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/mqtt/client/subscribe/get/{subNum}/{attr}
@desc Show the agent's subscription attributes
@required {agentNum: int(int32) # Agent to show MQTT state, subNum: int(int32) # Subscribe Number, attr: str # Attribute}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/unsubscribe/{subNum}
@desc Stops receiving messages from a subcription of the agent
@required {agentNum: int(int32) # Agent to change MQTT state, subNum: int(int32) # Subscription Number}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/resubscribe/{subNum}
@desc Restart receiving messages from a subcription of the agent
@required {agentNum: int(int32) # Agent to change MQTT state, subNum: int(int32) # Subscription Number}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/mqtt/client/subscribe/set/{subNum}/{attr}/{value}
@desc Set the agent's subscribe attributes
@required {agentNum: int(int32) # Agent to show MQTT state, subNum: int(int32) # Subscribe Number, attr: str # Attribute, value: str # Value}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/coap/get/args
@desc Show the agent's COAP argument structure
@required {agentNum: int(int32) # Agent to show the COAP argument structure}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/coap/get/config
@desc Show the agent's COAP configuration
@required {agentNum: int(int32) # Agent to show the COAP configuration}
@returns(200) {primary_port: int(int32), rule: str, secure_port: int(int32), keystore: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/coap/set/config/{argument}/{value}
@desc Set the agent's COAP configuration
@required {agentNum: int(int32) # Agent to set the COAP configuration, argument: str # Parameter to set the COAP configuration, value: str # Value to set the COAP configuration}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/coap/get/trace
@desc Show the agent's COAP traffic tracing
@required {agentNum: int(int32) # Agent to show whether COAP tracing is enabled}
@returns(200) {primary_port: int(int32), rule: str, secure_port: int(int32), keystore: str} # successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/agent/{agentNum}/protocol/msg/coap/set/trace/{enableOrNot}
@desc Set the agent's COAP traffic tracing
@required {agentNum: int(int32) # Agent to set the COAP tracing, enableOrNot: str # Value to set the COAP tracing}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/protocol/msg/coap/get/stats_hdr
@desc Show the COAP statistics headers
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/agent/{agentNum}/protocol/msg/coap/get/statistics
@desc Show the agent's COAP statistics
@required {agentNum: int(int32) # Agent to show COAP statistics}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/access/get/adminuser
@desc Returns the current administrator.
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/access/get/admindir
@desc Returns the current admin directory.
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/access/get/acldb
@desc Returns the current access control database in use.
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/access/set/acldb/{databaseName}
@desc Allows setting the name of the current access control database.
@required {databaseName: str # Database name to use}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/access/get/enabled
@desc Returns the state of access control checking.
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/access/set/enabled/{enabledOrNot}
@desc Allows the user to enable/disable the access control check.
@required {enabledOrNot: str # indicator}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/access/load/{filename}
@desc Loads the specified file for access control data.
@required {filename: str # Filename to load}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint PUT /mimic/access/save/{filename}
@desc Saves current access control data in specified file.
@required {filename: str # Filename to save}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint GET /mimic/access/list
@desc Returns an array of entries.
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint POST /mimic/access/add/{user}/{agents}/{mask}
@desc Adds/Overwrites the user entry in the access control database.
@required {user: str # Username of the simulator hosting system, agents: str # Agent range in minimal range representation, mask: str # Currently not used}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@endpoint DELETE /mimic/access/del/{user}
@desc Clears a users entry from access control database.
@required {user: str # username of the simulator hosting system}
@returns(200) successful operation
@errors {400: Invalid agent number value}

@end
