Search Results for

    Show / Hide Table of Contents

    Bastian.Maestro.StandardAgent.WebApi

    Version 1.0

    The latest StandardAgent OpenAPI specification can be found at the APIs page. The following document was generated at some point, but may not be fully up to date with the latest spec.

    Path Table

    Method Path Description
    POST /get/agentTypes Gets details about some or all of the agent types in the system.
    POST /get/agents Gets details about some or all of the agents in the system.
    POST /get/mapVersions Requests the agent server to respond with a list of available map versions, as well as report the current active map version.
    POST /get/tasks Gets details about some or all of the tasks in the system.
    POST /new/map Uploads a new map version to the agent/agent server
    POST /new/task Creates a new task for the agent server to execute.
    POST /set/mapVersion Sets the current active map version of the agent
    POST /start/taskAction Requests the agent server to start a series of actions for a specific task. If the agent is already executing actions, it may queue the new set of actions.
    POST /stop/task Requests that a task be ended pre-maturely.

    Reference Table

    Name Path Description
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Agent #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Agent Describes an agent controlled by the agent server. An agent is an autonomous or manually operated machine capable of executing tasks.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentMapData #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentMapData Data model used to detail the map information for a single agent
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentTask #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentTask Represents a high-level task to be performed by an agent.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentType #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentType Describes a category of agent based on the work it is able to complete.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Error #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Error Describes an error on the agent server while processing a request.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.InventoryPosition #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.InventoryPosition Represents a position on the agent capable of holding some inventory (payload).
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Position #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Position Defines a position in 3D space.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Rotation #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Rotation Defines a rotation in 3D space using a quaternion.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.TaskAction #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.TaskAction Defines an atomic action for an agent to take in service of a task.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Models.TaskHint #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.TaskHint Defines a Hint to assist agents in properly completeing a task.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentTypesQuery #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentTypesQuery A request to get details for one or more agent types.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentTypesResponse #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentTypesResponse Aggregates details retrieved for one or more agent types.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentsQuery #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentsQuery A request to get details for one or more agents.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentsResponse #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentsResponse Aggregates details retrieved for one or more agents.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetMapVersionsResponse #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetMapVersionsResponse Aggregates versioning data about the active and uploaded maps per agent
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetTasksQuery #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetTasksQuery Describes a request for task details using various filters.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetTasksResponse #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetTasksResponse Aggregates data about tasks returned from the agent server.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.NewMapCommand #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.NewMapCommand Command used to upload a new map
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.NewTaskCommand #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.NewTaskCommand A command to create a new task with the agent server.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.SetMapVersionCommand #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.SetMapVersionCommand Command used to set an uploaded map as active
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StartTaskActionCommand #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StartTaskActionCommand A command to start a set of actions in service of completing a task. A single task may require several StartTaskActionCommands to complete.
    If an agent is already executing actions when this command arrives, it may queue the new set of actions.
    Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StopTaskCommand #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StopTaskCommand A command to end a task prematurely.

    Path Details


    [POST]/get/agentTypes

    • Summary
      Gets details about some or all of the agent types in the system.

    RequestBody

    • application/json
    // A request to get details for one or more agent types.
    {
      agentTypeIds?: string[]
    }
    

    Responses

    • 200 Returns details about each requested agent type.

    application/json

    // Aggregates details retrieved for one or more agent types.
    {
      // Describes a category of agent based on the work it is able to complete.
      agentTypes: {
        actionTypes?: string[]
        // The unique ID of the agent type.
        id?: string
      }[]
    }
    

    [POST]/get/agents

    Polling for Agent Data

    The main source of communication from Exacta Maestro™ to the server is polling for agent data over the get/agents endpoint. The Exacta Maestro™ StandardAgent agent service is responsible for polling for the latest agent data and reporting it to Exacta Maestro™ AgentHub. The agent data shown in the WebHmi, as well as used for all internal processing, is the data stored in AgentHub.

    The delay between the requests is configurable, with a default value of 5 seconds. Gets details about some or all of the agents in the system.

    RequestBody

    • application/json
    // A request to get details for one or more agents.
    {
      agentIds?: string[]
    }
    

    Responses

    • 200 Returns details about each requested agent.

    application/json

    // Aggregates details retrieved for one or more agents.
    {
      // Describes an agent controlled by the agent server. An agent is an autonomous or manually operated machine capable of executing tasks.
      agents: {
        // The task assigned to the agent. Null or empty implies no assigned task.
        activeTaskId?: string
        // The battery charge remaining on the agent, expressed as a percentage between 0 and 100.
        batteryChargePercent?: number
        // {true} if the agent's emergency stop is active. {false} otherwise.
        eStopped?: boolean
        // The unique ID of the agent.
        id?: string
        // Represents a position on the agent capable of holding some inventory (payload).
        inventory: {
          // The id of the inventory currently on board the agent. Null if the position is empty.
          inventoryId?: string
          // The id of the inventory position on the agent.
          positionId?: string
        }[]
        // The UTC timestamp of the last communication of any kind with the agent.
        lastMessageTime?: string
        // The id of the last known location visited by the agent.
        locationId?: string
        // Defines a position in 3D space.
        position: {
          x?: number
          y?: number
          z?: number
        }
        // Defines a rotation in 3D space using a quaternion.
        rotation: {
          w?: number
          x?: number
          y?: number
          z?: number
        }
        // The agent's operating status. Determines if the agent is available to accept tasks. Values:  Idle = 1, OnMission = 2, Faulted = 3.
        status?: integer
        // The agent's type. This may describe the agent's form factor, and which task types and actions it supports.
        type?: string
        
        // Dictionary<string, string> containing additional details about the agent that do not fit into existing agent properties
        customDetails?: {
        }
      }[]
    }
    

    AgentStatus Constants

    Name Value Description
    Unknown 0 The agent status is not known
    Idle 1 The agent is idle and eligible for new work
    Running 2 The agent is currently assigned to active work
    Faulted 3 The agent is in an unhealthy state

    [POST]/get/mapVersions

    • Summary
      Requests the agent server to respond with a list of available map versions, as well as report the current active map version.

    Responses

    • 200 Returns the current active map version, and a list of all available map versions

    application/json

    // Aggregates versioning data about the active and uploaded maps per agent
    {
      // Data model used to detail the map information for a single agent
      maps: {
        // A version string with the current active version of the map for each agent type
        activeVersion?: string
        // The id of the agent associated with the map data
        agentId?: string
        // The type of the agent associated with the map data
        agentType?: string
        versions?: string[]
      }[]
    }
    

    [POST]/get/tasks

    Task Execution

    On top of Exacta Maestro™ regularly polling the get/agents endpoint to update agent state data, it also regularly polls the get/tasks endpoint to update task state data. In order to dispatch work and manage traffic, the task execution process uses, new/task, start/taskActions, and stop/task.

    See the Task Actions document for a complete breakdown of the task execution communication.

    RequestBody

    • application/json
    // Describes a request for task details using various filters.
    {
      agentIds?: string[]
      // Only return tasks created after this UTC timestamp. Null implies no filter.
      createdAfter?: string
      // Only return tasks that ended after this UTC timestamp. Null implies no filter.
      endedAfter?: string
      taskIds?: string[]
      taskStatuses?: integer[]
    }
    

    Responses

    • 200 Returns details about each requested task.

    application/json

    // Aggregates data about tasks returned from the agent server.
    {
      // Represents a high-level task to be performed by an agent.
      tasks: {
        // The index of the latest action completed by the agent.
        actionIndex?: integer
        // The id of the agent assigned to the task. Null or empty implies the task has not been assigned.
        agentId?: string
        // The UTC time at which the task was created in the agent server.
        createdDate?: string
        // The custom details associated with the task keyed by the action index
        actionCustomDetails?: Dictionary<int, Dictionary<string, string>>
        // The UTC time at which the task ended. Null implies the task is still running.
        endDate?: string
        // The UTC time at which task execution started. Null implies execution has not started.
        startDate?: string
        // The unique ID of the task.
        taskId?: string
        // The current status of the task's execution. Values: New = 0, Assigned = 100, Running = 200
        // Paused = 300, Complete = 400, Cancelled = 500, Faulted = 600.
        taskStatus?: integer
      }[]
    }
    

    TaskStatus Constants

    Name Value Description
    New 0 Default value for uninitialized agents
    Assigned 100 The task was recently assigned to the agent, but is not being executed yet
    Running 200 The task is actively being executed by the agent
    Paused 300 The task execution is currently paused
    Completed 400 The task has successfully completed execution
    Cancelled 500 The task was cancelled before execution could complete
    Faulted 600 The task failed to execute

    [POST]/new/map

    • Summary
      Uploads a new map version to the agent/agent server

    RequestBody

    • application/json
    // Command used to upload a new map
    {
      // Hash signature of the file
      fileHash?: string
      // The hash algorithm used to generate the file hash. Example: "md5", "sha1", etc.
      hashType?: string
      // The map file contents, encoded as a UTF8 array of bytes and then encoded as a base64 string
      map?: string
    }
    

    Responses

    • 201 The agent server received and created the map.

    • 400 Returns an error object describing why the map could not be uploaded. This may happen if the file validation fails, or the upload is incomplete.

    application/json

    // Describes an error on the agent server while processing a request.
    {
      // A numeric code describing the type of error.
      code?: integer
      // A description of the error.
      message?: string
    }
    

    [POST]/new/task

    • Summary
      Creates a new task for the agent server to execute.

    RequestBody

    • application/json
    // A command to create a new task with the agent server.
    {
      // Defines an atomic action for an agent to take in service of a task.
      actionPlan: {
        // The dictionary of arguments defining how to complete the action. These differ by action type.
        arguments: {
        }
        // The name of the action to perform
        name?: string
      }[]
      // The id of the agent to assign the task to. Null implies the agent server will select the agent.
      agentId?: string
      // The priority of the task. Lower values indicate a higher priority. When the agent server has a choice of tasks to execute, those with higher priority should be executed first.
      priority?: integer
      // If true, the agent should start the action plan immediately without waiting for a StartActionCommand. Using this flag implies the action plan is simple and will not be changed over the task's lifetime.
      start?: boolean
      // Defines a Hint to assist agents in properly completeing a task.
      taskHints: {
        // The dictionary of arguments defining parameters for the hint. These differ by hint type.
        arguments: {
        }
        // The name of the hint MAPVERSION, CLOSURE, etc.
        name?: string
      }[]
      // The id of the task to create.
      taskId?: string
    }
    

    Responses

    • 201 The task was created successfully.

    • 400 Returns an error object describing why the task could not be created. This may happen if the requested agent is not available or does not exist, the action plan contains actions the server does not understand, or the action plan is corrupt.

    application/json

    // Describes an error on the agent server while processing a request.
    {
      // A numeric code describing the type of error.
      code?: integer
      // A description of the error.
      message?: string
    }
    

    [POST]/set/mapVersion

    • Summary
      Sets the current active map version of the agent

    RequestBody

    • application/json
    // Command used to set an uploaded map as active
    {
      // The version of the map to activate
      version?: string
    }
    

    Responses

    • 202 The agent server accepted the set version request.

    • 400 Returns an error object describing why the version could not be set. This may happen if the version the user is requesting is not avalable.

    application/json

    // Describes an error on the agent server while processing a request.
    {
      // A numeric code describing the type of error.
      code?: integer
      // A description of the error.
      message?: string
    }
    

    [POST]/start/taskAction

    • Summary
      Requests the agent server to start a series of actions for a specific task. If the agent is already executing actions, it may queue the new set of actions.

    RequestBody

    • application/json
    // A command to start a set of actions in service of completing a task. A single task may require several StartTaskActionCommands to complete.
    // If an agent is already executing actions when this command arrives, it may queue the new set of actions.
    {
      // The index of the first action within Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StartTaskActionCommand.Actions relative to all actions completed for the task so far.
      actionIndex?: integer
      // Defines an atomic action for an agent to take in service of a task.
      actions: {
        // The dictionary of arguments defining how to complete the action. These differ by action type.
        arguments: {
        }
        // The name of the action to perform
        name?: string
      }[]
      // The id of the agent expected to complete the action.
      agentId?: string
      // The id of the task these actions apply to.
      taskId?: string
    }
    

    Responses

    • 202 The agent server accepted the action request.

    • 400 Returns an error object describing why the action was not accepted. This may happen if the task, agent, or action is unrecognized, the task doesn't belong to the agent id, the agent is faulted, the action arguments are corrupt.

    application/json

    // Describes an error on the agent server while processing a request.
    {
      // A numeric code describing the type of error.
      code?: integer
      // A description of the error.
      message?: string
    }
    

    [POST]/stop/task

    • Summary
      Requests that a task be ended pre-maturely.

    RequestBody

    • application/json
    // A command to end a task prematurely.
    {
      // The agent assigned to the task. Null if the task has not been assigned to an agent.
      agentId?: string
      // The final status to assign to the task.
      finalStatus?: integer
      // The id of the task to end.
      taskId?: string
    }
    

    Responses

    • 202 If the agent server received and validated the request to stop the task.

    • 400 Returns an error object describing why the task could not be ended. This may happen if the task does not exist, does not belong to the specified agent, or is already ended.

    application/json

    // Describes an error on the agent server while processing a request.
    {
      // A numeric code describing the type of error.
      code?: integer
      // A description of the error.
      message?: string
    }
    

    References

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Agent

    // Describes an agent controlled by the agent server. An agent is an autonomous or manually operated machine capable of executing tasks.
    {
      // The task assigned to the agent. Null or empty implies no assigned task.
      activeTaskId?: string
      // The battery charge remaining on the agent, expressed as a percentage between 0 and 100.
      batteryChargePercent?: number
      // {true} if the agent's emergency stop is active. {false} otherwise.
      eStopped?: boolean
      // The unique ID of the agent.
      id?: string
      // Represents a position on the agent capable of holding some inventory (payload).
      inventory: {
        // The id of the inventory currently on board the agent. Null if the position is empty.
        inventoryId?: string
        // The id of the inventory position on the agent.
        positionId?: string
      }[]
      // The UTC timestamp of the last communication of any kind with the agent.
      lastMessageTime?: string
      // The id of the last known location visited by the agent.
      locationId?: string
      // Defines a position in 3D space.
      position: {
        x?: number
        y?: number
        z?: number
      }
      // Defines a rotation in 3D space using a quaternion.
      rotation: {
        w?: number
        x?: number
        y?: number
        z?: number
      }
      // The agent's operating status. Determines if the agent is available to accept tasks. Values:  Idle = 1, OnMission = 2, Faulted = 3.
      status?: integer
      // The agent's type. This may describe the agent's form factor, and which task types and actions it supports.
      type?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentMapData

    // Data model used to detail the map information for a single agent
    {
      // A version string with the current active version of the map for each agent type
      activeVersion?: string
      // The id of the agent associated with the map data
      agentId?: string
      // The type of the agent associated with the map data
      agentType?: string
      versions?: string[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentTask

    // Represents a high-level task to be performed by an agent.
    {
      // The index of the latest action completed by the agent.
      actionIndex?: integer
      // The id of the agent assigned to the task. Null or empty implies the task has not been assigned.
      agentId?: string
      // The UTC time at which the task was created in the agent server.
      createdDate?: string
      // The UTC time at which the task ended. Null implies the task is still running.
      endDate?: string
      // The UTC time at which task execution started. Null implies execution has not started.
      startDate?: string
      // The unique ID of the task.
      taskId?: string
      // The current status of the task's execution. Values: New = 0, Assigned = 100, Running = 200
      // Paused = 300, Complete = 400, Cancelled = 500, Faulted = 600.
      taskStatus?: integer
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.AgentType

    // Describes a category of agent based on the work it is able to complete.
    {
      actionTypes?: string[]
      // The unique ID of the agent type.
      id?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Error

    // Describes an error on the agent server while processing a request.
    {
      // A numeric code describing the type of error.
      code?: integer
      // A description of the error.
      message?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.InventoryPosition

    // Represents a position on the agent capable of holding some inventory (payload).
    {
      // The id of the inventory currently on board the agent. Null if the position is empty.
      inventoryId?: string
      // The id of the inventory position on the agent.
      positionId?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Position

    // Defines a position in 3D space.
    {
      x?: number
      y?: number
      z?: number
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.Rotation

    // Defines a rotation in 3D space using a quaternion.
    {
      w?: number
      x?: number
      y?: number
      z?: number
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.TaskAction

    // Defines an atomic action for an agent to take in service of a task.
    {
      // The dictionary of arguments defining how to complete the action. These differ by action type.
      arguments: {
      }
      // The name of the action to perform
      name?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Models.TaskHint

    // Defines a Hint to assist agents in properly completeing a task.
    {
      // The dictionary of arguments defining parameters for the hint. These differ by hint type.
      arguments: {
      }
      // The name of the hint MAPVERSION, CLOSURE, etc.
      name?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentTypesQuery

    // A request to get details for one or more agent types.
    {
      agentTypeIds?: string[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentTypesResponse

    // Aggregates details retrieved for one or more agent types.
    {
      // Describes a category of agent based on the work it is able to complete.
      agentTypes: {
        actionTypes?: string[]
        // The unique ID of the agent type.
        id?: string
      }[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentsQuery

    // A request to get details for one or more agents.
    {
      agentIds?: string[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetAgentsResponse

    // Aggregates details retrieved for one or more agents.
    {
      // Describes an agent controlled by the agent server. An agent is an autonomous or manually operated machine capable of executing tasks.
      agents: {
        // The task assigned to the agent. Null or empty implies no assigned task.
        activeTaskId?: string
        // The battery charge remaining on the agent, expressed as a percentage between 0 and 100.
        batteryChargePercent?: number
        // {true} if the agent's emergency stop is active. {false} otherwise.
        eStopped?: boolean
        // The unique ID of the agent.
        id?: string
        // Represents a position on the agent capable of holding some inventory (payload).
        inventory: {
          // The id of the inventory currently on board the agent. Null if the position is empty.
          inventoryId?: string
          // The id of the inventory position on the agent.
          positionId?: string
        }[]
        // The UTC timestamp of the last communication of any kind with the agent.
        lastMessageTime?: string
        // The id of the last known location visited by the agent.
        locationId?: string
        // Defines a position in 3D space.
        position: {
          x?: number
          y?: number
          z?: number
        }
        // Defines a rotation in 3D space using a quaternion.
        rotation: {
          w?: number
          x?: number
          y?: number
          z?: number
        }
        // The agent's operating status. Determines if the agent is available to accept tasks. Values:  Idle = 1, OnMission = 2, Faulted = 3.
        status?: integer
        // The agent's type. This may describe the agent's form factor, and which task types and actions it supports.
        type?: string
      }[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetMapVersionsResponse

    // Aggregates versioning data about the active and uploaded maps per agent
    {
      // Data model used to detail the map information for a single agent
      maps: {
        // A version string with the current active version of the map for each agent type
        activeVersion?: string
        // The id of the agent associated with the map data
        agentId?: string
        // The type of the agent associated with the map data
        agentType?: string
        versions?: string[]
      }[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetTasksQuery

    // Describes a request for task details using various filters.
    {
      agentIds?: string[]
      // Only return tasks created after this UTC timestamp. Null implies no filter.
      createdAfter?: string
      // Only return tasks that ended after this UTC timestamp. Null implies no filter.
      endedAfter?: string
      taskIds?: string[]
      taskStatuses?: integer[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.GetTasksResponse

    // Aggregates data about tasks returned from the agent server.
    {
      // Represents a high-level task to be performed by an agent.
      tasks: {
        // The index of the latest action completed by the agent.
        actionIndex?: integer
        // The id of the agent assigned to the task. Null or empty implies the task has not been assigned.
        agentId?: string
        // The UTC time at which the task was created in the agent server.
        createdDate?: string
        // The UTC time at which the task ended. Null implies the task is still running.
        endDate?: string
        // The UTC time at which task execution started. Null implies execution has not started.
        startDate?: string
        // The unique ID of the task.
        taskId?: string
        // The current status of the task's execution. Values: New = 0, Assigned = 100, Running = 200
        // Paused = 300, Complete = 400, Cancelled = 500, Faulted = 600.
        taskStatus?: integer
      }[]
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.NewMapCommand

    // Command used to upload a new map
    {
      // Hash signature of the file
      fileHash?: string
      // The hash algorithm used to generate the file hash. Example: "md5", "sha1", etc.
      hashType?: string
      // The map file contents, encoded as a UTF8 array of bytes and then encoded as a base64 string
      map?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.NewTaskCommand

    // A command to create a new task with the agent server.
    {
      // Defines an atomic action for an agent to take in service of a task.
      actionPlan: {
        // The dictionary of arguments defining how to complete the action. These differ by action type.
        arguments: {
        }
        // The name of the action to perform
        name?: string
      }[]
      // The id of the agent to assign the task to. Null implies the agent server will select the agent.
      agentId?: string
      // The priority of the task. Lower values indicate a higher priority. When the agent server has a choice of tasks to execute, those with higher priority should be executed first.
      priority?: integer
      // If true, the agent should start the action plan immediately without waiting for a StartActionCommand. Using this flag implies the action plan is simple and will not be changed over the task's lifetime.
      start?: boolean
      // Defines a Hint to assist agents in properly completeing a task.
      taskHints: {
        // The dictionary of arguments defining parameters for the hint. These differ by hint type.
        arguments: {
        }
        // The name of the hint MAPVERSION, CLOSURE, etc.
        name?: string
      }[]
      // The id of the task to create.
      taskId?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.SetMapVersionCommand

    // Command used to set an uploaded map as active
    {
      // The version of the map to activate
      version?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StartTaskActionCommand

    // A command to start a set of actions in service of completing a task. A single task may require several StartTaskActionCommands to complete.
    // If an agent is already executing actions when this command arrives, it may queue the new set of actions.
    {
      // The index of the first action within Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StartTaskActionCommand.Actions relative to all actions completed for the task so far.
      actionIndex?: integer
      // Defines an atomic action for an agent to take in service of a task.
      actions: {
        // The dictionary of arguments defining how to complete the action. These differ by action type.
        arguments: {
        }
        // The name of the action to perform
        name?: string
      }[]
      // The id of the agent expected to complete the action.
      agentId?: string
      // The id of the task these actions apply to.
      taskId?: string
    }
    

    #/components/schemas/Bastian.Maestro.StandardAgent.Api.Abstractions.Requests.StopTaskCommand

    // A command to end a task prematurely.
    {
      // The agent assigned to the task. Null if the task has not been assigned to an agent.
      agentId?: string
      // The final status to assign to the task.
      finalStatus?: integer
      // The id of the task to end.
      taskId?: string
    }
    
    In This Article