Package Package deployment and management API
Method Path Description POST /api/v1/packages/{workspace}/registry/{publisher}/{name}/installInstall from registry POST /api/v1/packages/{workspace}/installInstall a package PATCH /api/v1/packages/{workspace}/{packageName}/auto-updateToggle auto-update GET /api/v1/packages/{workspace}List installed packages GET /api/v1/packages/{workspace}/{packageName}Get package details DELETE /api/v1/packages/{workspace}/{packageName}Uninstall a package GET /api/v1/packages/{workspace}/{packageName}/commandsList package commands GET /api/v1/packages/{workspace}/commands/{commandId}Get command details GET /api/v1/packages/{workspace}/commands/{commandId}/validation-reportGet validation report GET /api/v1/packages/{workspace}/commands/{commandId}/eventsGet command events
POST /api/v1/packages/{workspace}/registry/{publisher}/{name}/install
Install a package from the matrix registry into the workspace. If the package is already installed, re-installs with the specified version. Version defaults to the latest compatible with the workspace engine version.
Name Required Description workspaceYes Workspace identifier publisherYes Publisher slug nameYes Package name
Content-Type: application/json
Field Type Description versionstringautoUpdateboolean
Status Description 202Install command initiated 400Engine version incompatible 404Workspace, publisher, or package not found 409Package has an active operation
curl -X POST "https://poliglot.io/api/v1/packages/my-workspace/registry/<publisher>/<name>/install" \
-H "Authorization: Bearer <your-token>"
-H "Content-Type: application/json" \
-d '{}'
POST /api/v1/packages/{workspace}/install
Upload and install a package tgz file to the workspace. The package must contain a manifest.json with name and version fields.
Name Required Description workspaceYes Workspace identifier
Name Required Type Description forceUpdateNo booleanForce update existing matrices
Content-Type: multipart/form-data
Field Type Description filestring (binary)Package tgz file
Status Description 202Command initiated successfully 400Invalid package format or missing manifest 404Workspace not found
curl -X POST "https://poliglot.io/api/v1/packages/my-workspace/install" \
-H "Authorization: Bearer <your-token>"
-H "Content-Type: application/json" \
-d '{}'
PATCH /api/v1/packages/{workspace}/{packageName}/auto-update
Enable or disable auto-update for a registry-installed package.
Name Required Description workspaceYes Workspace identifier packageNameYes Package name
Content-Type: application/json
Status Description 200Auto-update setting updated 400Package not from registry 404Workspace or package not found
curl -X PATCH "https://poliglot.io/api/v1/packages/my-workspace/<packageName>/auto-update" \
-H "Authorization: Bearer <your-token>"
-H "Content-Type: application/json" \
-d '{}'
GET /api/v1/packages/{workspace}
Retrieve all packages installed in the workspace
Name Required Description workspaceYes Workspace identifier
Name Required Type Description pageNo integer(int32)Page number (1-indexed) pageSizeNo integer(int32)Page size
Status Description 200Packages retrieved successfully 404Workspace not found
Field Type Description idstring (uuid)namestringcurrentVersionstringcreatedAtstring (date-time)updatedAtstring (date-time)matricesMatrixSummaryResponse[]latestCommandLifecycleCommandSummaryregistryPublisherstringregistryNamestringlatestVersionstringupdateAvailablebooleanautoUpdateboolean
{
"success" : true ,
"data" : {
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"name" : "string" ,
"currentVersion" : "string" ,
"createdAt" : "2025-03-28T14:22:03Z" ,
"updatedAt" : "2025-03-28T14:22:03Z" ,
"matrices" : [
{
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"name" : "string" ,
"description" : "string" ,
"dependencyCount" : 0
}
],
"latestCommand" : {
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"version" : "string" ,
"commandType" : "string" ,
"status" : "pending" ,
"errorMessage" : "string" ,
"validationConforms" : true ,
"validationViolationCount" : 0 ,
"validationWarningCount" : 0 ,
"validationInfoCount" : 0 ,
"createdAt" : "2025-03-28T14:22:03Z" ,
"updatedAt" : "2025-03-28T14:22:03Z"
},
"registryPublisher" : "string" ,
"registryName" : "string" ,
"latestVersion" : "string" ,
"updateAvailable" : true ,
"autoUpdate" : true
}
}
curl -X GET "https://poliglot.io/api/v1/packages/my-workspace" \
-H "Authorization: Bearer <your-token>"
GET /api/v1/packages/{workspace}/{packageName}
Retrieve details for a specific installed package
Name Required Description workspaceYes Workspace identifier packageNameYes Package name
Status Description 200Package details retrieved successfully 404Workspace or package not found
Field Type Description idstring (uuid)namestringcurrentVersionstringcreatedAtstring (date-time)updatedAtstring (date-time)matricesMatrixSummaryResponse[]latestCommandLifecycleCommandSummaryregistryPublisherstringregistryNamestringlatestVersionstringupdateAvailablebooleanautoUpdateboolean
{
"success" : true ,
"data" : {
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"name" : "string" ,
"currentVersion" : "string" ,
"createdAt" : "2025-03-28T14:22:03Z" ,
"updatedAt" : "2025-03-28T14:22:03Z" ,
"matrices" : [
{
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"name" : "string" ,
"description" : "string" ,
"dependencyCount" : 0
}
],
"latestCommand" : {
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"version" : "string" ,
"commandType" : "string" ,
"status" : "pending" ,
"errorMessage" : "string" ,
"validationConforms" : true ,
"validationViolationCount" : 0 ,
"validationWarningCount" : 0 ,
"validationInfoCount" : 0 ,
"createdAt" : "2025-03-28T14:22:03Z" ,
"updatedAt" : "2025-03-28T14:22:03Z"
},
"registryPublisher" : "string" ,
"registryName" : "string" ,
"latestVersion" : "string" ,
"updateAvailable" : true ,
"autoUpdate" : true
}
}
curl -X GET "https://poliglot.io/api/v1/packages/my-workspace/<packageName>" \
-H "Authorization: Bearer <your-token>"
DELETE /api/v1/packages/{workspace}/{packageName}
Initiate uninstallation of a package from the workspace.
Name Required Description workspaceYes Workspace identifier packageNameYes Package name
Status Description 202Uninstall command initiated 404Package not found 409Package has an active operation
curl -X DELETE "https://poliglot.io/api/v1/packages/my-workspace/<packageName>" \
-H "Authorization: Bearer <your-token>"
GET /api/v1/packages/{workspace}/{packageName}/commands
Retrieve command history for a specific package
Name Required Description workspaceYes Workspace identifier packageNameYes Package name
Name Required Type Description pageNo integer(int32)Page number (0-indexed) sizeNo integer(int32)Page size
Status Description 200Commands retrieved successfully 404Workspace or package not found
{
"success" : true ,
"data" : [
{
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"packageInstallationId" : "550e8400-e29b-41d4-a716-446655440000" ,
"packageName" : "string" ,
"version" : "string" ,
"commandType" : "string" ,
"status" : "pending" ,
"errorMessage" : "string" ,
"createdAt" : "2025-03-28T14:22:03Z" ,
"updatedAt" : "2025-03-28T14:22:03Z"
}
]
}
curl -X GET "https://poliglot.io/api/v1/packages/my-workspace/<packageName>/commands" \
-H "Authorization: Bearer <your-token>"
GET /api/v1/packages/{workspace}/commands/{commandId}
Retrieve details for a command
Name Required Description workspaceYes Workspace identifier commandIdYes Command ID
Status Description 200Command details retrieved successfully 404Workspace or command not found
Field Type Description idstring (uuid)packageInstallationIdstring (uuid)packageNamestringversionstringcommandTypestringstatusstringerrorMessagestringcreatedAtstring (date-time)updatedAtstring (date-time)
{
"success" : true ,
"data" : {
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"packageInstallationId" : "550e8400-e29b-41d4-a716-446655440000" ,
"packageName" : "string" ,
"version" : "string" ,
"commandType" : "string" ,
"status" : "pending" ,
"errorMessage" : "string" ,
"createdAt" : "2025-03-28T14:22:03Z" ,
"updatedAt" : "2025-03-28T14:22:03Z"
}
}
curl -X GET "https://poliglot.io/api/v1/packages/my-workspace/commands/<commandId>" \
-H "Authorization: Bearer <your-token>"
GET /api/v1/packages/{workspace}/commands/{commandId}/validation-report
Retrieve the SHACL validation report for a command. Returns structured JSON by default, or raw Turtle if Accept: text/turtle is set.
Name Required Description workspaceYes Workspace identifier commandIdYes Command ID
Name Required Type Description AcceptNo string
Status Description 200Validation report retrieved successfully 404Workspace, command, or validation report not found
Field Type Description conformsbooleanviolationCountinteger (int32)warningCountinteger (int32)infoCountinteger (int32)violationsValidationEntry[]warningsValidationEntry[]infosValidationEntry[]
{
"success" : true ,
"data" : {
"conforms" : true ,
"violationCount" : 0 ,
"warningCount" : 0 ,
"infoCount" : 0 ,
"violations" : [
{
"focusNode" : "string" ,
"path" : "string" ,
"value" : "string" ,
"message" : "string"
}
],
"warnings" : [
{
"focusNode" : "string" ,
"path" : "string" ,
"value" : "string" ,
"message" : "string"
}
],
"infos" : [
{
"focusNode" : "string" ,
"path" : "string" ,
"value" : "string" ,
"message" : "string"
}
]
}
}
curl -X GET "https://poliglot.io/api/v1/packages/my-workspace/commands/<commandId>/validation-report" \
-H "Authorization: Bearer <your-token>"
GET /api/v1/packages/{workspace}/commands/{commandId}/events
Retrieve log events for a specific command
Name Required Description workspaceYes Workspace identifier commandIdYes Command ID
Status Description 200Command events retrieved successfully 404Workspace or command not found
{
"success" : true ,
"data" : [
{
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"commandId" : "550e8400-e29b-41d4-a716-446655440000" ,
"message" : "string" ,
"level" : "INFO" ,
"createdAt" : "2025-03-28T14:22:03Z"
}
]
}
curl -X GET "https://poliglot.io/api/v1/packages/my-workspace/commands/<commandId>/events" \
-H "Authorization: Bearer <your-token>"