Yamcs HTTP API
      
    
    
Methods
- Activities
 - Alarms
 - Audit
 - Buckets
 - Clearance
 - Commands
 - COP-1
 - Database
 - Events
 - File Transfer
 - IAM
 - Indexes
 - Instances
 - Links
 - MDB Override
 - MDB
 - Packets
 - Parameter Archive
 - Parameter Lists
 - Parameter Values
 - Processing
 - Queues
 - Replication
 - RocksDB
 - Sdls
 - Server
 - Services
 - Sessions
 - Stream Archive
 - Table
 - Time Correlation
 - Time
 - Timeline
 
        
        Related
      
      
        
          
        
          
            Yamcs Server Manual
          
        
          
            Yamcs Release Notes
          
        
        
          
            Source Code Documentation
          
        
          
        
          
        
        
      
      
      Download this Document
    
    
  Issue CommandΒΆ
Issue a command
After validating the input parameters, the command is added to the appropriate command queue for further dispatch.
URI Template
POST /api/processors/{instance}/{processor}/commands/{name}
{instance}Yamcs instance name
{processor}Processor name
{name}Command name
This route parameter may contain forward slashes. Alternatively you may also use URL-encoded characters, such as
%2F
Request Body
interface IssueCommandRequest {
  // The name/value assignments for this command.
  args: {[key: string]: any};
  // The origin of the command. Typically a hostname.
  origin: string;
  // The sequence number as specified by the origin. This gets
  // communicated back in command history and command queue entries,
  // thereby allowing clients to map local with remote command
  // identities.
  sequenceNumber: number;
  // Whether a response will be returned without actually issuing
  // the command. This is useful when debugging commands.
  // Default ``no``
  dryRun: boolean;
  // Comment attached to this command.
  comment: string;
  // Override the stream on which the command should be sent out.
  //
  // Requires elevated privilege.
  stream: string;
  // Disable verification of all transmission constrains (if any
  // specified in the MDB).
  //
  // Requires elevated privilege.
  disableTransmissionConstraints: boolean;
  // Disable all post transmission verifiers (if any specified in the MDB)
  //
  // Requires elevated privilege.
  disableVerifiers: boolean;
  // Override verifier configuration. Keyed by verifier name
  //
  // Requires elevated privilege.
  verifierConfig: {[key: string]: VerifierConfig};
  // Specify custom options for interpretation by non-core extensions.
  // Extensions must register these options against org.yamcs.YamcsServer
  extra: {[key: string]: Value};
}
Response Type
interface IssueCommandResponse {
  // Command ID
  id: string;
  // Command generation time
  generationTime: string;  // RFC 3339 timestamp
  // The origin of the command. Typically a hostname.
  origin: string;
  // The sequence number for the origin
  sequenceNumber: number;
  // Qualified name
  commandName: string;
  // Name aliases keyed by namespace.
  // (as currently present in Mission Database)
  aliases: {[key: string]: string};
  // The name/value assignments for this command
  assignments: CommandAssignment[];
  // Generated binary, before any link post-processing
  unprocessedBinary: string;  // Base64
  // Generated binary, after link post-processing.
  //
  // The differences compared to ``unprocessedBinary``,
  // can be anything. Typical manipulations include
  // sequence numbers or checksum calculations.
  binary: string;  // Base64
  // Command issuer
  username: string;
  // Queue that was selected for this command
  queue: string;
}
Related Types
interface CommandAssignment {
  name: string;
  value: Value;
  userInput: boolean;
}
// Union type for storing a value
interface Value {
  type: Type;
  floatValue: number;
  doubleValue: number;
  sint32Value: number;
  uint32Value: number;
  binaryValue: string;  // Base64
  stringValue: string;
  timestampValue: string;  // String decimal
  uint64Value: string;  // String decimal
  sint64Value: string;  // String decimal
  booleanValue: boolean;
  aggregateValue: AggregateValue;
  arrayValue: Value[];
}
// An aggregate value is an ordered list of (member name, member value).
// Two arrays are used in order to be able to send just the values (since
// the names will not change)
interface AggregateValue {
  name: string[];
  value: Value[];
}
enum Type {
  FLOAT = "FLOAT",
  DOUBLE = "DOUBLE",
  UINT32 = "UINT32",
  SINT32 = "SINT32",
  BINARY = "BINARY",
  STRING = "STRING",
  TIMESTAMP = "TIMESTAMP",
  UINT64 = "UINT64",
  SINT64 = "SINT64",
  BOOLEAN = "BOOLEAN",
  AGGREGATE = "AGGREGATE",
  ARRAY = "ARRAY",
  // Enumerated values have both an integer (sint64Value) and a string representation
  ENUMERATED = "ENUMERATED",
  NONE = "NONE",
}