StarIO.Online Web API
The StarIO.Online service exposes a REST style http API that can be used to control and manage your
printers, send and monitor print jobs, and receive event notifications.
First, generate an
API key that can be used to securely call the API from your
application.
API keys are granted permissions for their respective API keys, so the API may not be invoked
depending on whether or not the authorisation is granted.
HOST: https://api.stario.online/v1
HOST: https://eu-api.stario.online/v1
Device Groups ¶
※For each status in the status object, non-supported printers return the default value ‘false’.
Retrieve a list of device groups ¶
Retrieve device group list
GET/a
Returns a list of device groups.
Required permission: ViewDeviceGroups
Example URI
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
[
{
"Name": "SampleName",
"MatchPath": "SampleMatchPath",
"MatchDomain": "null",
"AutoCreateDeviceQueue": true,
"Enabled": true,
"RequireDeviceKey": true,
"Created": "2024-12-09T05:18:05.97638Z",
"Owner": "null",
"DeviceCount": "null"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Device group name"
},
"MatchPath": {
"type": "string",
"description": "Path used to identify the device group"
},
"MatchDomain": {
"type": "string",
"description": "Reserved properties"
},
"AutoCreateDeviceQueue": {
"type": "boolean",
"description": "Indicates whether new devices connecting to the CloudPRNT endpoint URL are automatically registered"
},
"Enabled": {
"type": "boolean",
"description": "Indicates whether the device group is available"
},
"RequireDeviceKey": {
"type": "boolean",
"description": "Indicates whether a device-specific key is required to connect devices to this group"
},
"Created": {
"type": "string",
"description": "UTC date/time when the group was created"
},
"Owner": {
"type": "string",
"description": "Name of the account that owns this device group, always null"
},
"DeviceCount": {
"type": [
"string",
"null"
],
"description": "Number of devices belonging to this device group, always null"
}
},
"required": [
"Name",
"MatchPath",
"MatchDomain",
"AutoCreateDeviceQueue",
"Enabled",
"RequireDeviceKey",
"Created",
"Owner",
"DeviceCount"
]
}
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
Retrieve and update device group details ¶
Retrieve device group details
GET/a/{groupPath}
Returns detailed information about the device group. The device group must belong to the account authenticated by the API key.
Required permission: ViewDeviceGroups
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
{
"Name": "SampleName",
"MatchPath": "SampleMatchPath",
"MatchDomain": "null",
"AutoCreateDeviceQueue": true,
"Enabled": true,
"RequireDeviceKey": true,
"ContactEMail": "null",
"ContactName": "null",
"AutoBuzzBeforePrint": 0,
"AutoBuzzAfterPrint": 0,
"Copies": 1,
"AutoClaimBCR": false,
"Owner": "SampleOwnerName",
"Created": "2024-12-09T05:18:05.97638Z",
"JobExpirationTime": 4320,
"WelcomePrint": true,
"EmailPrint": false
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Device group name"
},
"MatchPath": {
"type": "string",
"description": "Path used to identify the device group"
},
"MatchDomain": {
"type": "string",
"description": "Reserved properties"
},
"AutoCreateDeviceQueue": {
"type": "boolean",
"description": "Indicates whether new devices connecting to the CloudPRNT endpoint URL are automatically registered"
},
"Enabled": {
"type": "boolean",
"description": "Indicates whether the device group is available"
},
"RequireDeviceKey": {
"type": "boolean",
"description": "Indicates whether a device-specific key is required to connect devices to this group"
},
"ContactEMail": {
"type": "string",
"description": "Contact email address"
},
"ContactName": {
"type": "string",
"description": "Contact name"
},
"AutoBuzzBeforePrint": {
"type": "number",
"description": "Default number of times to buzz the external buzzer before printing"
},
"AutoBuzzAfterPrint": {
"type": "number",
"description": "Default number of times to buzz the external buzzer after printing"
},
"Copies": {
"type": "number",
"description": "Default number of copies to print for this device group"
},
"AutoClaimBCR": {
"type": "boolean",
"description": "Indicates whether to automatically claim the connected barcode reader to receive barcode scan notifications"
},
"Owner": {
"type": "string",
"description": "Name of the account that owns this device group, always null"
},
"Created": {
"type": "string",
"description": "UTC date/time when the group was created"
},
"JobExpirationTime": {
"type": "number",
"description": "Parameter to set the job expiration time (in minutes)"
},
"WelcomePrint": {
"type": "boolean",
"description": "Setting value to enable or disable welcome printing"
},
"EmailPrint": {
"type": "boolean",
"description": "Setting value to enable or disable the email printing feature"
}
},
"required": [
"Name",
"MatchPath",
"AutoCreateDeviceQueue",
"Enabled",
"RequireDeviceKey",
"AutoBuzzBeforePrint",
"AutoBuzzAfterPrint",
"Copies",
"AutoClaimBCR",
"Owner",
"Created",
"JobExpirationTime",
"WelcomePrint",
"EmailPrint"
]
}
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Update device group
PUT/a/{groupPath}
Updates the information of the specified device group. The device group must belong to the account authenticated by the API key.
Required permission: ModifyDeviceGroup
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
Body
{
"Name": "SampleGroupName",
"MatchDomain": "null",
"AutoCreateDeviceQueue": true,
"Enabled": true,
"RequireDeviceKey": true,
"ContactEMail": "null",
"ContactName": "null",
"AutoBuzzBeforePrint": 0,
"AutoBuzzAfterPrint": 0,
"Copies": 1,
"AutoClaimBCR": false,
"JobExpirationTime": 4320,
"WelcomePrint": true,
"EmailPrint": false
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Device group name"
},
"MatchDomain": {
"type": "string",
"description": "Reserved properties"
},
"AutoCreateDeviceQueue": {
"type": "boolean",
"description": "Indicates whether new devices connecting to the CloudPRNT endpoint URL are automatically registered"
},
"Enabled": {
"type": "boolean",
"description": "Indicates whether the device group is available"
},
"RequireDeviceKey": {
"type": "boolean",
"description": "Indicates whether a device-specific key is required to connect devices to this group"
},
"ContactEMail": {
"type": "string",
"description": "Contact email address"
},
"ContactName": {
"type": "string",
"description": "Contact name"
},
"AutoBuzzBeforePrint": {
"type": "number",
"description": "Default number of times to buzz the external buzzer before printing"
},
"AutoBuzzAfterPrint": {
"type": "number",
"description": "Default number of times to buzz the external buzzer after printing"
},
"Copies": {
"type": "number",
"description": "Default number of copies to print for this device group"
},
"AutoClaimBCR": {
"type": "boolean",
"description": "Indicates whether to automatically claim the connected barcode reader to receive barcode scan notifications"
},
"JobExpirationTime": {
"type": "number",
"description": "Parameter to set the job expiration time (in minutes)"
},
"WelcomePrint": {
"type": "boolean",
"description": "Setting value to enable or disable welcome printing"
},
"EmailPrint": {
"type": "boolean",
"description": "Setting value to enable or disable the email printing feature"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"Name": "SampleGroupName",
"MatchPath": "SampleGroupPath"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Device group name"
},
"MatchPath": {
"type": "string",
"description": "Path used to identify the device group"
}
},
"required": [
"Name",
"MatchPath"
]
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Devices ¶
※For each status in the status object, non-supported printers return the default value ‘false’.
Retrieve a list of devices ¶
Retrieve device list
GET/a/{groupPath}/d{?notes}{&s}{&metaInfo}
Returns a list of devices connected to the specified device group. The device group must belong to the account authenticated by the API key.
Required permission: EnumDevices
This LastConnection property indicates the number of seconds that have passed since the
StarIO.Online server last received an HTTP request from the device. This property can be used to
determine whether a device is connected to or disconnected from the StarIO.Online server.
(Reference) The StarIO.Online dashboard determines the connection status of devices based on
the following conditions:
■ Connection Lost: LastConnection > PollingInterval + 30 seconds
■ Online: LastConnection ≤ PollingInterval + 30 seconds
* PollingInterval refers to the interval (in seconds) at which the device polls the server.
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
- notes
boolean(optional) Example: trueWhether to include Notes in the response
- s
string(optional) Example: samplePartial match search for Device Name, Serial Number, Application access ID, MAC based on the entered string
- metaInfo
string(optional) Example: {"1": [100], "2": "abc"}Search meta information based on the entered string. Refer to here for obtaining meta information
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
[
{
"Mac": "xxxxxxxxxxxx",
"Id": "Sample",
"Status": {
"Online": true,
"CoverOpen": false,
"CompulsionSwitch": false,
"OverTemperature": false,
"Recoverable": false,
"CutterError": false,
"MechanicalError": false,
"ReceiveBufferOverflow": false,
"BlackMarkError": false,
"PresenterPaperJam": false,
"VoltageError": false,
"PaperEmpty": false,
"PaperLow": false,
"HoldPrint": false,
"RollPositionError": false,
"PartsReplacementNotification": false,
"CleaningNotification": false,
"Description": "null",
"MinWarningLevel": 0
},
"AccessIdentifier": "12345678",
"HorizontalResolution": 8,
"VerticalResolution": 8,
"PrintableWidthMM": 72,
"PaperWidthMM": 80,
"PollingInterval": 1,
"ClientType": "Star mC-Print3",
"LastConnection": 24627231.566811,
"QueuedJobs": 0,
"GroupInfo": {
"Name": "SampleName",
"MatchPath": "SampleMatchPath",
"Owner": "SampleOwnerName"
},
"SerialNumber": "xxxxxxxxxxxxxxxx",
"Notes": "SampleNotes",
"DeleteFlag": false,
"MetaInfo": [
{
"MetaInfoKeyId": 4,
"MetaInfoValueId": 3
},
{
"MetaInfoKeyId": 9,
"CustomValue": "SampleCustomValue"
}
]
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"Mac": {
"type": "string",
"description": "Unique Mac address of the printer device"
},
"Id": {
"type": "string",
"description": "ID/name assigned to the device"
},
"Status": {
"type": "object",
"properties": {
"Online": {
"type": "boolean"
},
"CoverOpen": {
"type": "boolean"
},
"CompulsionSwitch": {
"type": "boolean"
},
"OverTemperature": {
"type": "boolean"
},
"Recoverable": {
"type": "boolean"
},
"CutterError": {
"type": "boolean"
},
"MechanicalError": {
"type": "boolean"
},
"ReceiveBufferOverflow": {
"type": "boolean"
},
"BlackMarkError": {
"type": "boolean"
},
"PresenterPaperJam": {
"type": "boolean"
},
"VoltageError": {
"type": "boolean"
},
"PaperEmpty": {
"type": "boolean"
},
"PaperLow": {
"type": "boolean"
},
"HoldPrint": {
"type": "boolean"
},
"RollPositionError": {
"type": "boolean"
},
"PartsReplacementNotification": {
"type": "boolean"
},
"CleaningNotification": {
"type": "boolean"
},
"Description": {
"type": "string"
},
"MinWarningLevel": {
"type": "number"
}
}
},
"AccessIdentifier": {
"type": "string",
"description": "Application access ID of the device"
},
"HorizontalResolution": {
"type": "number",
"description": "Horizontal print resolution of the device (dots/mm)"
},
"VerticalResolution": {
"type": "number",
"description": "Vertical print resolution of the device (dots/mm)"
},
"PrintableWidthMM": {
"type": "number",
"description": "Printable area of the device (mm)"
},
"PaperWidthMM": {
"type": "number",
"description": "Width of the paper set in the device (mm)"
},
"PollingInterval": {
"type": "number",
"description": "Interval to send polling requests to CloudPRNT"
},
"ClientType": {
"type": "string",
"description": "Client type identifier"
},
"LastConnection": {
"type": "number",
"description": "The elapsed time (in seconds) since the StarIO.Online server last received an HTTP request from the device. * Note: For devices connected via MQTT, this value will always be 0."
},
"QueuedJobs": {
"type": "number",
"description": "Number of pending jobs in the device's print queue"
},
"GroupInfo": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"MatchPath": {
"type": "string"
},
"Owner": {
"type": "string"
}
},
"description": "Information about the group to which the device belongs"
},
"SerialNumber": {
"type": "string",
"description": "Serial number of device"
},
"Notes": {
"type": "string",
"description": "Optional string that can be set for the device"
},
"DeleteFlag": {
"type": "boolean",
"description": "Delete flag"
},
"MetaInfo": {
"type": "array",
"description": "Meta information assigned to the device"
}
},
"required": [
"Mac",
"Id",
"Status",
"AccessIdentifier",
"HorizontalResolution",
"VerticalResolution",
"PrintableWidthMM",
"PaperWidthMM",
"PollingInterval",
"LastConnection",
"QueuedJobs",
"GroupInfo",
"SerialNumber",
"DeleteFlag",
"MetaInfo"
]
}
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
Retrieve, update, and delete device details ¶
Retrieve device details
GET/a/{groupPath}/d/{appId}{?notes}
Returns detailed information about the device connected to the specified device group.
The device group must belong to the account authenticated by the API key.
Required permission: ViewDevice
This LastConnection property indicates the number of seconds that have passed since the
StarIO.Online server last received an HTTP request from the device. This property can be used to
determine whether a device is connected to or disconnected from the StarIO.Online server.
(Reference) The StarIO.Online dashboard determines the connection status of devices based on
the following conditions:
■ Connection Lost: LastConnection > PollingInterval + 30 seconds
■ Online: LastConnection ≤ PollingInterval + 30 seconds
* PollingInterval refers to the interval (in seconds) at which the device polls the server.
Example URI
- appId
string(required) Example: 12345678Application access ID of the device
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
- notes
boolean(optional) Example: trueWhether to include Notes in the response
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
{
"Mac": "xxxxxxxxxxxx",
"Id": "Sample",
"Status": {
"Online": true,
"CoverOpen": false,
"CompulsionSwitch": false,
"OverTemperature": false,
"Recoverable": false,
"CutterError": false,
"MechanicalError": false,
"ReceiveBufferOverflow": false,
"BlackMarkError": false,
"PresenterPaperJam": false,
"VoltageError": false,
"PaperEmpty": false,
"PaperLow": false,
"HoldPrint": false,
"RollPositionError": false,
"PartsReplacementNotification": false,
"CleaningNotification": false,
"Description": "null",
"MinWarningLevel": 0
},
"AccessIdentifier": "12345678",
"HorizontalResolution": 8,
"VerticalResolution": 8,
"PrintableWidthMM": 50.8,
"PaperWidthMM": 58,
"PollingInterval": 1,
"ClientType": "Star mC-Print2",
"LastConnection": 922370.225284,
"QueuedJobs": 0,
"GroupInfo": {
"Name": "SampleName",
"MatchPath": "SampleMatchPath",
"Owner": "SampleOwnerName"
},
"SerialNumber": "xxxxxxxxxxxxxxxx",
"Notes": "SampleNotes",
"MetaInfo": [
{
"MetaInfoKeyId": 4,
"MetaInfoValueId": 3
},
{
"MetaInfoKeyId": 9,
"CustomValue": "SampleCustomValue"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Mac": {
"type": "string",
"description": "Unique Mac address of the device"
},
"Id": {
"type": "string",
"description": "ID/name assigned to the device"
},
"Status": {
"type": "object",
"properties": {
"Online": {
"type": "boolean"
},
"CoverOpen": {
"type": "boolean"
},
"CompulsionSwitch": {
"type": "boolean"
},
"OverTemperature": {
"type": "boolean"
},
"Recoverable": {
"type": "boolean"
},
"CutterError": {
"type": "boolean"
},
"MechanicalError": {
"type": "boolean"
},
"ReceiveBufferOverflow": {
"type": "boolean"
},
"BlackMarkError": {
"type": "boolean"
},
"PresenterPaperJam": {
"type": "boolean"
},
"VoltageError": {
"type": "boolean"
},
"PaperEmpty": {
"type": "boolean"
},
"PaperLow": {
"type": "boolean"
},
"HoldPrint": {
"type": "boolean"
},
"RollPositionError": {
"type": "boolean"
},
"PartsReplacementNotification": {
"type": "boolean"
},
"CleaningNotification": {
"type": "boolean"
},
"Description": {
"type": "string"
},
"MinWarningLevel": {
"type": "number"
}
},
"description": "Printer status object representing the last uploaded status of the device"
},
"AccessIdentifier": {
"type": "string",
"description": "Application access ID of the device"
},
"HorizontalResolution": {
"type": "number",
"description": "Horizontal print resolution of the device (dots/mm)"
},
"VerticalResolution": {
"type": "number",
"description": "Vertical print resolution of the device (dots/mm)"
},
"PrintableWidthMM": {
"type": "number",
"description": "Printable area of the device (mm)"
},
"PaperWidthMM": {
"type": "number",
"description": "Width of the paper set in the device (mm)"
},
"PollingInterval": {
"type": "number",
"description": "Interval to send polling requests to CloudPRNT"
},
"ClientType": {
"type": "string",
"description": "Client type identifier"
},
"LastConnection": {
"type": "number",
"description": "The elapsed time (in seconds) since the StarIO.Online server last received an HTTP request from the device. * Note: For devices connected via MQTT, this value will always be 0."
},
"QueuedJobs": {
"type": "number",
"description": "Number of pending jobs in the device's print queue"
},
"GroupInfo": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"MatchPath": {
"type": "string"
},
"Owner": {
"type": "string"
}
},
"description": "Information about the group to which the device belongs"
},
"SerialNumber": {
"type": "string",
"description": "Serial number of the device"
},
"Notes": {
"type": "string",
"description": "Optional string that can be set for the device"
},
"MetaInfo": {
"type": "array",
"description": "Meta information assigned to the device"
}
},
"required": [
"Mac",
"Id",
"Status",
"AccessIdentifier",
"HorizontalResolution",
"VerticalResolution",
"PrintableWidthMM",
"PaperWidthMM",
"PollingInterval",
"ClientType",
"LastConnection",
"QueuedJobs",
"GroupInfo",
"SerialNumber",
"MetaInfo"
]
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Update device
PUT/a/{groupPath}/d/{appId}
Updates the information of the device connected to the specified device group.
The device group must belong to the account authenticated by the API key.
Required permission: ModifyDevice
Example URI
- appId
string(required) Example: 12345678Application access ID of the device
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
Body
{
"RequestIdChange": "xxxxxxxxxxxxxx",
"RenewPageInfo": false,
"GenerateNewAccessID": false,
"Notes": "xxxx",
"MetaInfo": [
{
"MetaInfoKeyId": 4,
"MetaInfoValueId": 3
},
{
"MetaInfoKeyId": 9,
"CustomValue": "SampleCustomValue"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"RequestIdChange": {
"type": "string",
"description": "Requests a change to the device's ID/name. This request is queued by the service and processed the next time the device communicates with the service."
},
"RenewPageInfo": {
"type": "boolean",
"description": "If true, the service re-queries the device's paper configuration. This can be used if the device has been configured to use a different paper since the last query by the service."
},
"GenerateNewAccessID": {
"type": "boolean",
"description": "If true, the service assigns a new ApplicationAccessID to the device."
},
"Notes": {
"type": "string",
"description": "A key that allows adding any string as a note."
},
"MetaInfo": {
"type": "array",
"description": "Meta information assigned to the device."
}
},
"required": [
"MetaInfo"
]
}
200
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Delete device
DELETE/a/{groupPath}/d/{appId}
Deletes the device connected to the specified device group.
The device group must belong to the account authenticated by the API key.
Required permission: DeleteDevice
If “Auto-create new device queue” is enabled in the device group, the deleted printer will be re-added to the device group the next time it polls the service, as long as it is online and still polling the service.
Example URI
- appId
string(required) Example: 12345678Application access ID of the device
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
403
Headers
Content-Type: application/json
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Print Queue ¶
Print and delete documents ¶
Print document
POST/a/{groupPath}/d/{appId}/q{?name}{&copies}{&startbuzzer}{&endbuzzer}{&drawer}{&endcut}{&endfeed}
Sends a document to the device’s print queue.
The sent document is queued as a job and printed as soon as possible in the order it was
queued.
Required permission: PrintToDevice
Do not specify the “Star-Pre-Buzzer or Star-Post-Buzzer” header and the “Star-Cash-Drawer” header at the same time as they may not work as expected.
Star-End-Doc-Cut/endcut and Star-End-Doc-Feed/endfeed apply only to print jobs provided in formats that cannot specify cut or cut/feed operations as part of the document. For example, they apply to HTML, JPEG, PNG, and plain text-based print jobs, but are ignored for Star Document Markup-based jobs that already provide cut/feed operations as markup tags.
Specified value range for 「Star-Pre-Buzzer/startbuzzer or Star-Post-Buzzer/endbuzzer 」from ‘1’
to ‘20’
(The number of times specification does not work in mC-Sound, so please specify 1.)
If a device connected via MQTT does not reflect the updated print width, try one of the
following:
1. On the Dashboard’s “Device” page, open the “Device details” dialog and click “Sync with
devices reported paper size”.
2. Call the Device Update API with the request parameter “RenewPageInfo” set to true.
StarIO.Online does not support template printing functionality now.
Example URI
- appId
string(required) Example: 12345678Application access ID of the device
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
- name
string(optional) Example: sampleThe name of the print job can be specified as the Star-Job-Name header or the star query parameter. This name is used to identify the print result of this job in Webhook event notifications
- copies
number(optional) Example: 1The number of copies to print can be specified in the range of 1 to 10 via the Star-Copies header or the copies query option
- startbuzzer
number(optional) Example: 1The number of times to buzz the device’s connected buzzer before printing can be specified in the range of 0 to 20 as the Star-Pre-Buzzer header or the startbuzzer query parameter
- endbuzzer
number(optional) Example: 1The number of times to buzz the device’s connected buzzer after printing can be specified in the range of 0 to 20 as the Star-Post-Buzzer header or the endbuzzer query parameter
- drawer
string(optional) Example: noneSpecifies none, start, or end to open the cash drawer connected to the printer at the start or end of the job using the Star-Cash-Drawer header or the drawer query option
- endcut
string(optional) Example: noneSpecifies the type of cut to perform at the end of the print job from none, partial, or full. This can be controlled via the Star-End-Doc-Cut header or the endcut query option
- endfeed
string(optional) Example: noneSpecifies whether to feed the end of the document over the auto-cutter before cutting from none, false, true, feed. This can be controlled via the Star-End-Doc-Feed header or the endfeed query option
Headers
Content-Type: text/vnd.star.markup, text/html, text/plain, image/png, image/jpeg
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
Star-Job-Name: `sample-job` (string) - Optional job name
Star-Copies: `1` (number) - Optional number of copies
Star-Pre-Buzzer: `1` (number) - Optional number of pre-print buzzer sounds
Star-Post-Buzzer: `1` (number) - Optional number of post-print buzzer sounds
Star-Cash-Drawer: `none` (string) - Optional cash drawer setting,specify none,start,end.
Star-End-Doc-Cut: `none` (string) - Optional cut setting at the end of the document,specify none,partial,full.
Star-End-Doc-Feed: `none` (string) - Optional feed setting at the end of the document,specify none,false,true,feed.
Body
Binary data
201
Headers
Content-Type: application/json
Body
{
"Location": "/a/SampleGroupPath/d/12345678/q/1234567",
"JobId": "1234567",
"Name": "xxxxxxxx"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Location": {
"type": "string",
"description": "Endpoint to access the created resource"
},
"JobId": {
"type": "string",
"description": "Print job ID"
},
"Name": {
"type": "string",
"description": "The optional name assigned to a print job. If not specified, a random string will be automatically assigned. * Note: The JobName in this context will be identical to the JobName property of the Webhook. Additionally, for XSS prevention, a double quote (") will be automatically escaped as (\") and a backslash (\) as (\\)."
}
}
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
411
Headers
Content-Type: text/plain
Body
Length Required
415
Headers
Content-Type: text/plain
Body
Unsupported Media Type
422
Headers
Content-Type: text/plain
Body
Unprocessable Entity
429
Headers
Content-Type: text/plain
Body
Too Many Requests
Delete document
DELETE/a/{groupPath}/d/{appId}/q
Deletes all pending jobs from the device’s print queue.
This is typically used to delete unnecessary jobs that accumulate when the printer is
offline.
Required permission: FlushQueue
Example URI
- appId
string(required) Example: 12345678Application access ID of the device
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
[
"2027656",
"2027656"
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
409
Headers
Content-Type: text/plain
Body
Conflict
Print Welcome page ¶
Print Welcome page
PUT/a/{groupPath}/d/{appId}/welcome
Regenerates the Welcome page and adds it to the print queue.
Required permission: PrintToDevice
Example URI
- appId
string(required) Example: 12345678Application access ID of the device
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
429
Headers
Content-Type: text/plain
Body
Too Many Requests
507
Headers
Content-Type: text/plain
Body
Insufficient Storage
Send StarConfiguration ¶
Send StarConfiguration
POST/a/{groupPath}/d/{appId}/configuration
Sends StarConfiguration to the device.
Required permission: ConfigureDevice
Example URI
- appId
string(required) Example: 12345678Application access ID of the device
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/vnd.star.starconfiguration
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
Body
StarConfigrationFormatData
201
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
415
Headers
Content-Type: text/plain
Body
Unsupported Media Type
429
Headers
Content-Type: text/plain
Body
Too Many Requests
Webhook Notifications ¶
Retrieve and create Webhooks ¶
Retrieve Webhook list
GET/v1/a/{groupPath}/n
Returns a list of Webhooks for the specified device group.
The device group must belong to the account authenticated by the API key.
Required permission: ManageNotifications
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
[
{
"NotificationId": "12345678-1234-1234-1234-123456789ABC",
"Name": "SampleName",
"Target": "SampleURL",
"TargetType": "POST",
"Enabled": true,
"ReportConnectionEvents": true,
"ReportStatusEvents": true,
"ReportPeripheralEvents": true,
"ReportJobEvents": true
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"NotificationId": {
"type": "string",
"description": "ID to identify the Webhook."
},
"Name": {
"type": "string",
"description": "Name of the registered Webhook."
},
"Target": {
"type": "string",
"description": "URL for Webhook notifications."
},
"TargetType": {
"type": "string",
"description": "HTTP method, only POST is allowed."
},
"Enabled": {
"type": "boolean",
"description": "Indicates whether the Webhook is enabled or disabled."
},
"ReportConnectionEvents": {
"type": "boolean",
"description": "Indicates whether to notify on connection events to the printer."
},
"ReportStatusEvents": {
"type": "boolean",
"description": "Indicates whether to notify on job events to the printer."
},
"ReportPeripheralEvents": {
"type": "boolean",
"description": "Indicates whether to notify on events related to peripherals."
},
"ReportJobEvents": {
"type": "boolean",
"description": "Indicates whether to notify on printer status changes."
}
}
}
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
Create Webhook
POST/v1/a/{groupPath}/n
Creates a Webhook for the specified device group.
The device group must belong to the account authenticated by the API key.
Required permission: ManageNotifications
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
Body
{
"Enabled": false,
"Name": "SampleName",
"ReportConnectionEvents": false,
"ReportJobEvents": false,
"ReportPeripheralEvents": false,
"ReportStatusEvents": false,
"Target": "SampleURL",
"TargetType": "POST"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Enabled": {
"type": "boolean",
"description": "Indicates whether the notification is enabled or disabled."
},
"Name": {
"type": "string",
"description": "Name of the Webhook to be registered."
},
"ReportConnectionEvents": {
"type": "boolean",
"description": "Indicates whether to notify on connection events to the printer."
},
"ReportJobEvents": {
"type": "boolean",
"description": "Indicates whether to notify on job events to the printer."
},
"ReportPeripheralEvents": {
"type": "boolean",
"description": "Indicates whether to notify on events related to peripherals."
},
"ReportStatusEvents": {
"type": "boolean",
"description": "Indicates whether to notify on printer status changes."
},
"Target": {
"type": "string",
"description": "URL for Webhook notifications."
},
"TargetType": {
"type": "string",
"description": "HTTP method. Default is \"POST\"."
}
}
}
201
Headers
Content-Type: application/json
Body
{
"Location": "/v1/a/sample/n/12345678-1234-1234-1234-123456789ABC",
"NotificationId": "12345678-1234-1234-1234-123456789ABC"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Location": {
"type": "string",
"description": "Endpoint to access the created resource."
},
"NotificationId": {
"type": "string",
"description": "Name of the registered notification."
}
}
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Retrieve, update, and delete Webhook details ¶
Retrieve Webhook details
GET/v1/a/{groupPath}/n/{notificationId}
Returns detailed information about the Webhook for the specified device group.
The device group must belong to the account authenticated by the API key.
Required permission: ManageNotifications
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
- notificationId
string(required) Example: 12345678-1234-1234-1234-123456789ABCWebhook ID
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
{
"NotificationId": "12345678-1234-1234-1234-123456789ABC",
"Name": "SampleName",
"Target": "SampleURL",
"TargetType": "POST",
"Enabled": true,
"ReportConnectionEvents": true,
"ReportStatusEvents": true,
"ReportPeripheralEvents": true,
"ReportJobEvents": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"NotificationId": {
"type": "string",
"description": "ID to identify the Webhook."
},
"Name": {
"type": "string",
"description": "Name of the registered Webhook."
},
"Target": {
"type": "string",
"description": "URL for Webhook notifications."
},
"TargetType": {
"type": "string",
"description": "HTTP method, only POST is allowed."
},
"Enabled": {
"type": "boolean",
"description": "Indicates whether the Webhook is enabled or disabled."
},
"ReportConnectionEvents": {
"type": "boolean",
"description": "Indicates whether to notify on connection events to the printer."
},
"ReportStatusEvents": {
"type": "boolean",
"description": "Indicates whether to notify on job events to the printer."
},
"ReportPeripheralEvents": {
"type": "boolean",
"description": "Indicates whether to notify on events related to peripherals."
},
"ReportJobEvents": {
"type": "boolean",
"description": "Indicates whether to notify on printer status changes."
}
}
}
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Update Webhook
PUT/v1/a/{groupPath}/n/{notificationId}
Updates the information of the Webhook for the specified device group.
The device group must belong to the account authenticated by the API key.
Required permission: ManageNotifications
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
- notificationId
string(required) Example: 12345678-1234-1234-1234-123456789ABCWebhook ID
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
Body
{
"Enabled": false,
"Name": "SampleName",
"ReportConnectionEvents": false,
"ReportJobEvents": false,
"ReportPeripheralEvents": false,
"ReportStatusEvents": false,
"Target": "SampleURL",
"TargetType": "POST"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Enabled": {
"type": "boolean",
"description": "Indicates whether the notification is enabled or disabled."
},
"Name": {
"type": "string",
"description": "Name of the Webhook to be registered."
},
"ReportConnectionEvents": {
"type": "boolean",
"description": "Indicates whether to notify on connection events to the printer."
},
"ReportJobEvents": {
"type": "boolean",
"description": "Indicates whether to notify on job events to the printer."
},
"ReportPeripheralEvents": {
"type": "boolean",
"description": "Indicates whether to notify on events related to peripherals."
},
"ReportStatusEvents": {
"type": "boolean",
"description": "Indicates whether to notify on printer status changes."
},
"Target": {
"type": "string",
"description": "URL for Webhook notifications."
},
"TargetType": {
"type": "string",
"description": "HTTP method. Default is \"POST\"."
}
}
}
200
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
Delete Webhook
DELETE/v1/a/{groupPath}/n/{notificationId}
Deletes the Webhook for the specified device group. The device group must belong to the account authenticated by the API key.
Required permission: ManageNotifications
Example URI
- groupPath
string(required) Example: SampleGroupPathPath used to identify the device group
- notificationId
string(required) Example: 12345678-1234-1234-1234-123456789ABCWebhook ID
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
History ¶
The History API allows you to retrieve historical information about printers.
Export historical information ¶
Export historical information
GET/history/export
Exports the retrieved historical information about printers.
Required permission: ViewDeviceGroups
The date and time format is output in the format yyyy-MM-dd HH:mm:ss.ffffff in UTC.
startDate and endDate can be specified within a maximum range of 7 days. Additionally, startDate can be specified up to 90 days prior to the request time.
Example URI
- startDate
DateTimeOffSet(required) Example: 2025-01-01T00:00:00+09:00Start date of the data to be exported
- endDate
DateTimeOffSet(required) Example: 2025-01-02T00:00:00+09:00End date of the data to be exported
- type
string(required) Example: bothQuery to narrow down the target data to be exported. Specify from job (print history only), status (printer status history), both (both). The default value is both
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: text/csv
Content-Disposition: attachment; filename="export.csv"
Body
Date,Status,StatusDisplay,DeviceMAC,SerialNumber,AccessIdentifier,GroupPath,Message,JobLength,JobName,JobPrintAttempts
2025-01-01 00:00:00.000000,0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0,Offline,xxxxxxxxxxxx,xxxxxxxxxxxxxxxx,xxxxxxxx,sample,,,,
2025-01-01 00:00:00.000000,,Complete,xxxxxxxxxxxx,xxxxxxxxxxxxxxxx,xxxxxxxx,sample,,66954,9b815853,0
2025-01-01 00:00:00.000000,,Received,xxxxxxxxxxxx,xxxxxxxxxxxxxxxx,xxxxxxxx,sample,,66954,9b815853,0
400
Headers
Content-Type: text/plain
Body
Bad Request
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found
MetaInfo ¶
Retrieve device meta information list ¶
Retrieve device meta information list
GET/v1/a/{groupPath}/meta-info
Returns a list of meta information for devices connected to the specified device group.
The device group must belong to the account authenticated by the API key.
Required Permission: ViewDeviceGroups
Example URI
- groupPath
string(required) Example: SampleGroupPathThe path used to identify the device group.
Headers
Content-Type: application/json
Star-Api-Key: 12345678-1234-1234-1234-123456789ABC
200
Headers
Content-Type: application/json
Body
[
{
"MetaInfoKeyId": 1,
"Name": "Country",
"Kind": "List",
"MetaInfoValues": [
{
"MetaInfoValueId": 1,
"Name": "Japan"
},
{
"MetaInfoValueId": 2,
"Name": "USA"
},
{
"MetaInfoValueId": 3,
"Name": "UK"
}
]
},
{
"MetaInfoKeyId": 2,
"Name": "Contact (phone number)",
"Kind": "String"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
403
Headers
Content-Type: text/plain
Body
Forbidden
404
Headers
Content-Type: text/plain
Body
Not Found

