Yamcs HTTP API
- 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
- Server
- Services
- Sessions
- Stream Archive
- Table
- Time Correlation
- Time
- Timeline
Related
Yamcs Release Notes
Yamcs Server Manual
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
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",
}