Version: 3
restore

Contents

VerbURLNotesJSON dataPermissions Required
Please note you cannot get all instructions

Entity - Instructions (Questions and Actions) - (Interrogates the Instruction table)

GET - single

http://<myserver>/Consumer/Instructions/{id}

or

http://<myserver>/Consumer/Instructions/?id={id}


Gets an individual question or action by an Id

Example successful JSON

{
	"Id": 54,
	"Name": "AgentDiagnostics",
	"Description": "Get live diagnostic information from Tachyon Agents",
	"ProductPackId": 7,
	"InstructionType":0,
	"Payload": "\"Agent.GetDiagnostics();\"",
	"ReadablePayload": "Tachyon agent diagnostic information.",
	"Parameters":null,
	"Schema":
		[
			{
				"Name": "CrashDumpsCollected",
				"Type": "int32",
				"Length": 0
			},
			{
				"Name": "BytesReceived",
				"Type": "int64",
				"Length": 0
			},
			{
				"Name": "BytesSent",
				"Type": "int64",
				"Length": 0
			},
			{
				"Name": "ConnectionsSuccessful",
				"Type": "int32",
				"Length": 0
			},
			{
				"Name": "ConnectionsFailed",
				"Type": "int32",
				"Length": 0
			},
			{
				"Name": "ExecutionsSuccessful",
				"Type": "int32",
				"Length": 0
			},
			{
				"Name": "ExecutionsErrored",
				"Type": "int32",
				"Length": 0
			},
			{
				"Name": "ExecutionsNotImplemented",
				"Type": "int32",
				"Length": 0
			},
			{
				"Name": "ExecutionsPayloadTooLarge",
				"Type": "int32",
				"Length": 0
			},
			{
				"Name": "StartupTimeUtc",
				"Type": "datetime",
				"Length": 0
			}
		],
	"Aggregation":null,
	"Category": "Agent",
	"InstructionTtlMinutes": 60,
	"ResponseTtlMinutes": 120,
	"MinimumInstructionTtlMinutes": 10,
	"MaximumInstructionTtlMinutes": 1440,
	"MinimumResponseTtlMinutes": 10,
	"MaximumResponseTtlMinutes": 10080
}

response:

 

 
  • Viewer
  • Questioner
  • Actioner
  • Approver


Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack.

GEThttp://<myserver>/Consumer/Instructions/filter/{filter}/sort/{sort}/start/{start}/pagesize/{pagesize}

e.g.

http://localhost/Consumer/Responses/new/6/filter/U2VyaWFsTnVtYmVyfExpa2V8MUE0NDE1QkM=/start/0;0/pageSize/20

The filter is a 64 bit encoded filter. The start is an offset in the previous respons and the page size is the size of responses to be shown on a single page.

The start section starts as 0;0 and gets more complicated if the system has been sharded.  It basically means ShardId; Answer but see Sharding for more details.

 
  • Viewer
  • Questioner
  • Actioner
  • Approver

It does not return Unauthorized (401) rather filters out instructions based on permissions.

POSThttp://<myserver>/Consumer/InstructionsCreates a question or action, fx:

{"DefinitionId":9, "Scope":null, "Parameters":null, "InstructionTtlMinutes":60, "ResponseTtlMinutes120, "SaveAsQuestionTemplate":false, "KeepRaw":0}

will return:

{"Id":199, "Name":"System Processor Details", "Description":"Represents a device capable of interpreting a sequence of machine instructions on a computer system running Windows", "InstructionType":0, "Payload":"\"NativeServices.RunWmiQuery(Namespace:\\\"root\\\\cimv2\\\", Query:\\\"SELECT Caption, Description, Manufacturer, NumberOfCores FROM Win32_Processor\\\");\"", "ReadablePayload":"Get Processor Details", "Cmd":"SendAll", "Schema":[{"Name":"Caption", "Type":"string", "Length":256},{"Name":"Description", "Type":"string", "Length":256}, {"Name":"Manufacturer", "Type":"string", "Length":256},{"Name":"NumberOfCores", "Type":"int32", "Length":0}], "Aggregation":null, "KeepRaw":false, "Scope":null, "QuestionTtlMinutes":60, "AnswerTtlMinutes":120, "CreatedTimestampUtc":"2015-10-01T08:36:38.663", "Status":0, "AnswerCount":0, "SentCount":0, "ParentQuestionId":null, "QuestionDefinitionId":9, "CreatedBy":""}

 

For questions

  • Questioner
  • Actioner

 

For actions

  • Actioner

Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack.

 

 

 POST http://<myserver>/Consumer/Instructions/Targeted

Creates a question or action, supplying a targeted list of endpoints by Fqdn

As above with the added "Endpoints" Json property e.g.

{"DefinitionId":9, "Scope":null, "Parameters":null, "InstructionTtlMinutes":60, "ResponseTtlMinutes":120, "KeepRaw":0, "Endpoints":["pedvwks127.pe.local","pedvwks126.pe.local","pedvwks240.pe.local"]}

 

 

 As above

Note: Fqdn list is limited by MaxRequestLength which defaults to 4MB

POSThttp://<myserver>/Consumer/Instructions/{id}/cancel/{keepData}

Cancels an instruction.

  • id - question to stop
  • keepData - flag to indicate if result should be deleted

 

 

For questions

  • Questioner
  • Actioner

 

For actions

  • Actioner

Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack. Instruction's owner can also cancel.

POSThttp://<myserver>/Consumer/Instructions/{instructionId}/rerunReruns a question. Action rerunning is not allowed as it can be risky. 

For questions

  • Questioner
  • Actioner

Returns Unauthorized (401) if user does not have the required permissions at global level or on the parent InstructionDefinition's product pack.