Servers
auth
Login user
Authenticate user and return access token.
Parameters
username : str
User's username provided via form data
password : str
User's password provided via form data
Returns
TokenResponse
Response containing access_token, token_type, and username
Raises
HTTPException
401 if authentication fails due to incorrect username or password
Request Body
[object Object]Responses
Samples
curl -X POST \
'http://localhost/auth/login' \
-H "Content-Type: application/json"fetch('http://localhost/auth/login', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/auth/login';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/auth/login'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Register a new user (admin only)
Register a new user account (admin only).
Parameters
user_data : UserCreate
User registration data including username, password, and optional full_name
current_user : User
Current authenticated admin user
auth_service : AuthService
The auth service instance
Returns
UserWithToken
Newly created user information including access_token
Raises
HTTPException
403 if the current user is not an admin
400 if the username is already registered
Authorizations
Request Body
Responses
Samples
curl -X POST \
'http://localhost/auth/register' \
-H "Content-Type: application/json"fetch('http://localhost/auth/register', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/auth/register';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/auth/register'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Get current user
Get current authenticated user information.
Parameters
current_user : User
Current authenticated user injected via dependency
Returns
User
Current user's profile information
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/auth/me' \
-H "Content-Type: application/json"fetch('http://localhost/auth/me', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/auth/me';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/auth/me'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Logout user
Logout the current user.
Returns
dict[str, str]
Success message confirming logout
Responses
Samples
curl -X POST \
'http://localhost/auth/logout' \
-H "Content-Type: application/json"fetch('http://localhost/auth/logout', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/auth/logout';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/auth/logout'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Change user password
Change the current user's password.
Parameters
password_data : PasswordChange
Contains current_password and new_password
current_user : User
Current authenticated user injected via dependency
auth_service : AuthService
The auth service instance
Returns
dict[str, str]
Success message confirming password change
Authorizations
Request Body
Responses
Samples
curl -X POST \
'http://localhost/auth/change-password' \
-H "Content-Type: application/json"fetch('http://localhost/auth/change-password', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/auth/change-password';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/auth/change-password'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Reset user password (admin only)
Reset a user's password (admin only).
Parameters
password_data : PasswordReset
Contains username and new_password
current_user : User
Current authenticated admin user
auth_service : AuthService
The auth service instance
Returns
dict[str, str]
Success message confirming password reset
Raises
HTTPException
403 if the current user is not an admin
Authorizations
Request Body
Responses
Samples
curl -X POST \
'http://localhost/auth/reset-password' \
-H "Content-Type: application/json"fetch('http://localhost/auth/reset-password', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/auth/reset-password';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/auth/reset-password'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
admin
Operations
Reload configuration caches
Reload cached YAML configuration (admin only).
Authorizations
Responses
Samples
curl -X POST \
'http://localhost/admin/config/reload' \
-H "Content-Type: application/json"fetch('http://localhost/admin/config/reload', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/config/reload';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/config/reload'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
List all users
List all users in the system (admin only).
Authorizations
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/admin/users' \
-H "Content-Type: application/json"fetch('http://localhost/admin/users', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/users';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/users'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get user details
Get detailed information about a specific user (admin only).
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/admin/users/{username}' \
-H "Content-Type: application/json"fetch('http://localhost/admin/users/{username}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/users/{username}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/users/{username}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Update user settings
Update user settings (admin only).
Authorizations
Parameters
Path Parameters
Request Body
Responses
Samples
curl -X PUT \
'http://localhost/admin/users/{username}' \
-H "Content-Type: application/json"fetch('http://localhost/admin/users/{username}', {method:'PUT',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/users/{username}';
$method = 'PUT';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/users/{username}'
headers = {
'Content-Type': 'application/json'
}
response = requests.put(url, headers=headers)
print(response.json())
Delete user
Delete a user account (admin only).
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/admin/users/{username}' \
-H "Content-Type: application/json"fetch('http://localhost/admin/users/{username}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/users/{username}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/users/{username}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
List all projects
List all projects in the system (admin only).
Authorizations
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/admin/projects' \
-H "Content-Type: application/json"fetch('http://localhost/admin/projects', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/projects';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/projects'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Delete project
Delete a project and all its memberships (admin only).
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/admin/projects/{project_id}' \
-H "Content-Type: application/json"fetch('http://localhost/admin/projects/{project_id}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/projects/{project_id}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/projects/{project_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
List project members
List all members of a project (admin only).
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/admin/projects/{project_id}/members' \
-H "Content-Type: application/json"fetch('http://localhost/admin/projects/{project_id}/members', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/projects/{project_id}/members';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/projects/{project_id}/members'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Add member to project
Add a member to a project as viewer (admin only).
Authorizations
Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/admin/projects/{project_id}/members' \
-H "Content-Type: application/json"fetch('http://localhost/admin/projects/{project_id}/members', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/projects/{project_id}/members';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/projects/{project_id}/members'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Remove member from project
Remove a member from a project (admin only).
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/admin/projects/{project_id}/members/{username}' \
-H "Content-Type: application/json"fetch('http://localhost/admin/projects/{project_id}/members/{username}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/projects/{project_id}/members/{username}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/projects/{project_id}/members/{username}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
Create project for user
Create a default project for a user who doesn't have one (admin only).
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X POST \
'http://localhost/admin/users/{username}/project' \
-H "Content-Type: application/json"fetch('http://localhost/admin/users/{username}/project', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/admin/users/{username}/project';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/admin/users/{username}/project'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
projects
Operations
List user's projects
List all projects the user has access to.
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/projects' \
-H "Content-Type: application/json"fetch('http://localhost/projects', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Create a new project
Create a new project with the current user as owner.
Authorizations
Request Body
Responses
Samples
curl -X POST \
'http://localhost/projects' \
-H "Content-Type: application/json"fetch('http://localhost/projects', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Get project details
Get details of a specific project.
Authorizations
Parameters
Path Parameters
Project identifier
Responses
Samples
curl -X GET \
'http://localhost/projects/{project_id}' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Delete project
Delete a project. Owner only.
Authorizations
Parameters
Path Parameters
Project identifier
Responses
Samples
curl -X DELETE \
'http://localhost/projects/{project_id}' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
Update project
Update project settings. Owner only.
Authorizations
Parameters
Path Parameters
Project identifier
Request Body
Responses
Samples
curl -X PATCH \
'http://localhost/projects/{project_id}' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
List project members
List all members of a project.
Authorizations
Parameters
Path Parameters
Project identifier
Responses
Samples
curl -X GET \
'http://localhost/projects/{project_id}/members' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}/members', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}/members';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}/members'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Invite a member
Invite a user to the project. Admin only.
Authorizations
Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/projects/{project_id}/members' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}/members', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}/members';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}/members'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Remove member
Remove a member from the project. Admin only.
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/projects/{project_id}/members/{username}' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}/members/{username}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}/members/{username}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}/members/{username}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
Update member role
Update a member's role. Admin only.
Authorizations
Parameters
Path Parameters
Request Body
Responses
Samples
curl -X PATCH \
'http://localhost/projects/{project_id}/members/{username}' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}/members/{username}', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}/members/{username}';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}/members/{username}'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
Transfer project ownership
Transfer project ownership to another user. Admin only.
Authorizations
Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/projects/{project_id}/transfer' \
-H "Content-Type: application/json"fetch('http://localhost/projects/{project_id}/transfer', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/projects/{project_id}/transfer';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/projects/{project_id}/transfer'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
execution
Get a calibration figure by its path
Fetch a calibration figure by its file path.
Retrieves a PNG image file from the server's filesystem and returns it
as a streaming response.
Parameters
path : str
Absolute file path to the calibration figure image
Returns
FileResponse
PNG image data as a file response with media type "image/png"
Raises
HTTPException
404 if the file does not exist at the specified path
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/executions/figure' \
-H "Content-Type: application/json"fetch('http://localhost/executions/figure', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/executions/figure';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/executions/figure'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get the execution lock status
Fetch the current status of the execution lock.
The execution lock prevents concurrent calibration workflows from running
simultaneously. This endpoint checks whether a lock is currently held.
Parameters
ctx : ProjectContext
Project context with user and project information
execution_service : ExecutionService
Service for execution operations
Returns
ExecutionLockStatusResponse
Response containing lock status (True if locked, False if available)
Authorizations
Parameters
Header Parameters
Responses
Samples
curl -X GET \
'http://localhost/executions/lock-status' \
-H "Content-Type: application/json"fetch('http://localhost/executions/lock-status', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/executions/lock-status';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/executions/lock-status'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List executions
List executions for a given chip with pagination.
Parameters
ctx : ProjectContext
Project context with user and project information
execution_service : ExecutionService
Service for execution operations
chip_id : str
ID of the chip to fetch executions for
skip : int
Number of items to skip (default: 0)
limit : int
Number of items to return (default: 20, max: 100)
Returns
ListExecutionsResponse
Wrapped list of executions for the chip
Authorizations
Parameters
Header Parameters
Query Parameters
Chip ID to filter executions
Number of items to skip
Number of items to return
Responses
Samples
curl -X GET \
'http://localhost/executions' \
-H "Content-Type: application/json"fetch('http://localhost/executions', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/executions';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/executions'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get an execution by its ID
Return the execution detail by its ID.
Parameters
execution_id : str
ID of the execution to fetch
ctx : ProjectContext
Project context with user and project information
execution_service : ExecutionService
Service for execution operations
Returns
ExecutionResponseDetail
Detailed execution information
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/executions/{execution_id}' \
-H "Content-Type: application/json"fetch('http://localhost/executions/{execution_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/executions/{execution_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/executions/{execution_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Cancel a running or scheduled execution
Cancel a running or scheduled execution via Prefect.
Sends a cancellation request to Prefect for the specified flow run.
The flow_run_id is the Prefect flow run UUID, which can be obtained from
the execution detail's note.flow_run_id field.
Only executions in SCHEDULED, PENDING, RUNNING, or PAUSED state can be cancelled.
Parameters
flow_run_id : str
Prefect flow run UUID
ctx : ProjectContext
Project context with user and project information
execution_service : ExecutionService
Service for execution operations
Returns
CancelExecutionResponse
Cancellation result with status
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X POST \
'http://localhost/executions/{flow_run_id}/cancel' \
-H "Content-Type: application/json"fetch('http://localhost/executions/{flow_run_id}/cancel', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/executions/{flow_run_id}/cancel';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/executions/{flow_run_id}/cancel'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Re-execute a flow from snapshot parameters
Re-execute a flow using snapshot parameters from a previous execution.
Parameters
execution_id : str
ID of the source execution to snapshot parameters from
request : ReExecuteRequest
Re-execution request with flow_name and optional parameter_overrides
ctx : ProjectContext
Project context with user and project information
execution_service : ExecutionService
Service for execution operations
flow_service : FlowService
Service for flow operations
Returns
ExecuteFlowResponse
Execution result with IDs and URLs
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/executions/{execution_id}/re-execute' \
-H "Content-Type: application/json"fetch('http://localhost/executions/{execution_id}/re-execute', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/executions/{execution_id}/re-execute';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/executions/{execution_id}/re-execute'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
file
Download file
Download a raw data file from the server.
Parameters
path : str
Absolute file path to the file to download
Returns
FileResponse
The file as a downloadable response
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/files/raw-data' \
-H "Content-Type: application/json"fetch('http://localhost/files/raw-data', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/raw-data';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/raw-data'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Download file or directory as zip
Download a file or directory as a ZIP archive.
Parameters
path : str
Absolute path to the file or directory to archive
Returns
FileResponse
ZIP archive as a downloadable response
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/files/zip' \
-H "Content-Type: application/json"fetch('http://localhost/files/zip', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/zip';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/zip'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get file tree for entire config directory
Get file tree structure for entire config directory.
Returns
File tree structure
Responses
Samples
curl -X GET \
'http://localhost/files/tree' \
-H "Content-Type: application/json"fetch('http://localhost/files/tree', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/tree';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/tree'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get file content for editing
Get file content for editing.
Args:
path: Relative path from CONFIG_BASE_PATH
Returns:
File content and metadata
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/files/content' \
-H "Content-Type: application/json"fetch('http://localhost/files/content', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/content';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/content'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Save file content
Save file content.
Args:
request: Save file request with path and content
Returns:
Success message
Authorizations
Request Body
Responses
Samples
curl -X PUT \
'http://localhost/files/content' \
-H "Content-Type: application/json"fetch('http://localhost/files/content', {method:'PUT',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/content';
$method = 'PUT';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/content'
headers = {
'Content-Type': 'application/json'
}
response = requests.put(url, headers=headers)
print(response.json())
Validate file content (YAML/JSON)
Validate YAML or JSON content.
Args:
request: Validation request with content and file_type
Returns:
Validation result
Request Body
Responses
Samples
curl -X POST \
'http://localhost/files/validate' \
-H "Content-Type: application/json"fetch('http://localhost/files/validate', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/validate';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/validate'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Get Git status of config directory
Get Git status of config directory.
Returns
Git status information
Responses
Samples
curl -X GET \
'http://localhost/files/git/status' \
-H "Content-Type: application/json"fetch('http://localhost/files/git/status', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/git/status';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/git/status'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Pull latest config from Git repository
Pull latest config from Git repository.
Returns
Pull operation result
Authorizations
Responses
Samples
curl -X POST \
'http://localhost/files/git/pull' \
-H "Content-Type: application/json"fetch('http://localhost/files/git/pull', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/git/pull';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/git/pull'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Push config changes to Git repository
Push config changes to Git repository.
Args:
request: Push request with commit message
Returns:
Push operation result
Authorizations
Request Body
Responses
Samples
curl -X POST \
'http://localhost/files/git/push' \
-H "Content-Type: application/json"fetch('http://localhost/files/git/push', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/files/git/push';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/files/git/push'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
calibration
Get the calibration note
Get the latest calibration note for the master task.
Retrieves the most recent calibration note from the database, sorted by timestamp
in descending order. The note contains metadata about calibration parameters
and configuration.
Parameters
ctx : ProjectContext
Project context with user and project information
calibration_service : CalibrationService
Service for calibration operations
Returns
CalibrationNoteResponse
The latest calibration note containing username, execution_id, task_id,
note content, and timestamp
Raises
HTTPException
404 if no calibration note is found
Authorizations
Parameters
Header Parameters
Responses
Samples
curl -X GET \
'http://localhost/calibrations/note' \
-H "Content-Type: application/json"fetch('http://localhost/calibrations/note', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/calibrations/note';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/calibrations/note'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Import seed parameters from qubex or manual input
Import initial calibration parameters from qubex params or manual input.
This endpoint allows importing seed parameters that are typically loaded
from qubex's params directory (e.g., qubit_frequency, readout_amplitude)
into QDash's calibration database for tracking and provenance.
Parameters
ctx : ProjectContext
Project context with user and project information
service : SeedImportService
Service for seed import operations
request : SeedImportRequest
Import request specifying source, chip_id, and parameters
Returns
SeedImportResponse
Results of the import operation including counts and individual results
Examples
Import from qubex params:
{
"chip_id": "64Qv3",
"source": "qubex_params",
"parameters": ["qubit_frequency", "readout_amplitude"]
}
Manual import:
{
"chip_id": "64Qv3",
"source": "manual",
"manual_data": {
"qubit_frequency": {"Q00": 7.9, "Q01": 8.6}
}
}
Authorizations
Parameters
Header Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/calibrations/seed-import' \
-H "Content-Type: application/json"fetch('http://localhost/calibrations/seed-import', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/calibrations/seed-import';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/calibrations/seed-import'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Get available seed parameters for a chip
Get list of available parameter files in qubex params directory.
Parameters
ctx : ProjectContext
Project context with user and project information
service : SeedImportService
Service for seed import operations
chip_id : str
Chip ID to check parameters for
Returns
list[str]
List of available parameter names (e.g., ["qubit_frequency", "readout_amplitude"])
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/calibrations/seed-parameters/{chip_id}' \
-H "Content-Type: application/json"fetch('http://localhost/calibrations/seed-parameters/{chip_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/calibrations/seed-parameters/{chip_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/calibrations/seed-parameters/{chip_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Compare YAML seed values with QDash values
Compare seed parameter values from YAML files with current QDash values.
This endpoint allows users to preview what will be imported and see
the difference between YAML source values and current QDash values.
Parameters
ctx : ProjectContext
Project context with user and project information
service : SeedImportService
Service for seed import operations
chip_id : str
Chip ID to compare parameters for
parameters : str | None
Comma-separated list of parameters to compare (None = all available)
Returns
dict
Comparison data with structure:
{
"chip_id": str,
"parameters": {
"param_name": {
"unit": str,
"qubits": {
"Q0": {
"yaml_value": float | None,
"qdash_value": float | None,
"status": "new" | "same" | "different"
}
}
}
}
}
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/calibrations/seed-compare/{chip_id}' \
-H "Content-Type: application/json"fetch('http://localhost/calibrations/seed-compare/{chip_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/calibrations/seed-compare/{chip_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/calibrations/seed-compare/{chip_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
copilot
Get Copilot configuration
Get Copilot configuration for the metrics assistant.
Retrieves the Copilot configuration from YAML, including:
- enabled: Whether Copilot is enabled
- evaluation_metrics: Which metrics to use for multi-metric evaluation
- scoring: Thresholds for good/excellent ratings per metric
- system_prompt: The AI assistant's system prompt
- initial_message: The initial greeting message
Returns
dict[str, Any]
Copilot configuration dictionary
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/copilot/config' \
-H "Content-Type: application/json"fetch('http://localhost/copilot/config', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/copilot/config';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/copilot/config'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Analyze calibration result with AI
Analyze a calibration task result using LLM.
Constructs a rich context from task knowledge, qubit parameters,
and experimental data, then sends it to the configured LLM for analysis.
Parameters
request : AnalyzeRequest
The analysis request containing task info, IDs, and user message.
Returns
AnalysisResponse
Structured analysis from the LLM.
Authorizations
Request Body
Responses
Samples
curl -X POST \
'http://localhost/copilot/analyze' \
-H "Content-Type: application/json"fetch('http://localhost/copilot/analyze', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/copilot/analyze';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/copilot/analyze'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
settings
Operations
Get settings
Get settings from the server
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/settings' \
-H "Content-Type: application/json"fetch('http://localhost/settings', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/settings';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/settings'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
chip
Operations
List all chips
List all chips with summary information.
Returns chip metadata (id, size, topology, qubit/coupling counts).
For detailed qubit/coupling data, use the dedicated endpoints.
Authorizations
Parameters
Header Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips' \
-H "Content-Type: application/json"fetch('http://localhost/chips', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Create a new chip
Create a new chip in the current project.
Parameters
request : CreateChipRequest
Chip creation request containing chip_id and size
ctx : ProjectContext
Project context with owner permission
Returns
ChipResponse
Created chip information
Raises
HTTPException
If chip_id already exists or size is invalid
Authorizations
Parameters
Header Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/chips' \
-H "Content-Type: application/json"fetch('http://localhost/chips', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Get available dates for a chip
Fetch available dates for a chip from execution counter.
Parameters
chip_id : str
ID of the chip
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
ChipDatesResponse
List of available dates
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/dates' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/dates', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/dates';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/dates'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get multiplexer details
Get the multiplexer details.
Parameters
chip_id : str
ID of the chip
mux_id : int
ID of the multiplexer
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
MuxDetailResponse
Multiplexer details
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/muxes/{mux_id}' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/muxes/{mux_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/muxes/{mux_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/muxes/{mux_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List all multiplexers for a chip
List all multiplexers for a chip.
Parameters
chip_id : str
ID of the chip
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
ListMuxResponse
List of multiplexer details
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/muxes' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/muxes', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/muxes';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/muxes'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get chip details
Get chip details including metadata and counts.
Returns chip metadata (size, topology, qubit/coupling counts).
For detailed qubit/coupling data, use the dedicated endpoints.
Parameters
chip_id : str
ID of the chip
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
ChipResponse
Chip details
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List qubits for a chip
List qubits for a chip with pagination.
Retrieves qubit data from the separate QubitDocument collection.
Supports filtering by specific qubit IDs.
Parameters
chip_id : str
ID of the chip
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
limit : int
Maximum number of qubits to return (default 50, max 256)
offset : int
Number of qubits to skip for pagination
qids : list[str] | None
Optional list of specific qubit IDs to fetch
Returns
ListQubitsResponse
List of qubits with pagination info
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/qubits' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/qubits', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/qubits';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/qubits'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get a single qubit
Get a single qubit by ID.
This is 10-18x faster than fetching the full chip and extracting one qubit.
Parameters
chip_id : str
ID of the chip
qid : str
ID of the qubit
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
QubitResponse
Qubit data
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/qubits/{qid}' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/qubits/{qid}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/qubits/{qid}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/qubits/{qid}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List couplings for a chip
List couplings for a chip with pagination.
Retrieves coupling data from the separate CouplingDocument collection.
Parameters
chip_id : str
ID of the chip
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
limit : int
Maximum number of couplings to return (default 100, max 512)
offset : int
Number of couplings to skip for pagination
Returns
ListCouplingsResponse
List of couplings with pagination info
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/couplings' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/couplings', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/couplings';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/couplings'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get a single coupling
Get a single coupling by ID.
Parameters
chip_id : str
ID of the chip
coupling_id : str
ID of the coupling (e.g., "0-1")
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
CouplingResponse
Coupling data
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/couplings/{coupling_id}' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/couplings/{coupling_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/couplings/{coupling_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/couplings/{coupling_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get aggregated metrics summary
Get aggregated metrics summary for a chip.
Computes statistics (averages, counts) on the database side.
Returns ~0.1KB of data, ideal for dashboard overview.
Parameters
chip_id : str
ID of the chip
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
MetricsSummaryResponse
Aggregated metrics summary
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/metrics/summary' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/metrics/summary', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/metrics/summary';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/metrics/summary'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get heatmap data for a single metric
Get heatmap data for a single metric.
Returns only the values needed for heatmap visualization (~5KB).
Much more efficient than fetching full chip data (~300KB+).
Supported metrics:
- Qubit: t1, t2_echo, t2_star, qubit_frequency, anharmonicity,
average_readout_fidelity, x90_gate_fidelity, x180_gate_fidelity - Coupling: zx90_gate_fidelity, bell_state_fidelity, static_zz_interaction
Parameters
chip_id : str
ID of the chip
metric : str
Name of the metric to retrieve
ctx : ProjectContext
Project context with user and project information
chip_service : ChipService
Service for chip operations
Returns
MetricHeatmapResponse
Metric values keyed by qubit/coupling ID
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/chips/{chip_id}/metrics/heatmap/{metric}' \
-H "Content-Type: application/json"fetch('http://localhost/chips/{chip_id}/metrics/heatmap/{metric}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/chips/{chip_id}/metrics/heatmap/{metric}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/chips/{chip_id}/metrics/heatmap/{metric}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
task
List all tasks
List all tasks.
Parameters
ctx : ProjectContext
The project context with user and project information.
service : TaskService
The task service instance.
backend : str | None
Optional backend name to filter tasks by.
Returns
ListTaskResponse
The list of tasks.
Authorizations
Parameters
Header Parameters
Query Parameters
Optional backend name to filter tasks by
Responses
Samples
curl -X GET \
'http://localhost/tasks' \
-H "Content-Type: application/json"fetch('http://localhost/tasks', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/tasks';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/tasks'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get task result by task ID
Get task result by task_id.
Parameters
task_id : str
The task ID to search for.
ctx : ProjectContext
The project context with user and project information.
service : TaskService
The task service instance.
Returns
TaskResultResponse
The task result information including figure paths.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/tasks/{task_id}/result' \
-H "Content-Type: application/json"fetch('http://localhost/tasks/{task_id}/result', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/tasks/{task_id}/result';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/tasks/{task_id}/result'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List all task knowledge entries
List all available task knowledge entries with summary info.
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/task-knowledge' \
-H "Content-Type: application/json"fetch('http://localhost/task-knowledge', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-knowledge';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-knowledge'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get raw markdown for a task knowledge entry
Get raw markdown content for a task knowledge entry.
Returns the index.md content with image references replaced
by inline base64 data URIs for self-contained rendering.
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/tasks/{task_name}/knowledge/markdown' \
-H "Content-Type: application/json"fetch('http://localhost/tasks/{task_name}/knowledge/markdown', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/tasks/{task_name}/knowledge/markdown';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/tasks/{task_name}/knowledge/markdown'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get task knowledge for LLM analysis
Get structured domain knowledge for a calibration task.
Returns LLM-oriented knowledge including physical principles,
expected behavior, evaluation criteria, and failure modes.
Parameters
task_name : str
The task name (e.g. "CheckT1", "CheckRabi").
service : TaskService
The task service instance.
backend : str
The backend name (default "qubex").
Returns
TaskKnowledgeResponse
Structured task knowledge.
Authorizations
Parameters
Path Parameters
Query Parameters
Backend name
Responses
Samples
curl -X GET \
'http://localhost/tasks/{task_name}/knowledge' \
-H "Content-Type: application/json"fetch('http://localhost/tasks/{task_name}/knowledge', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/tasks/{task_name}/knowledge';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/tasks/{task_name}/knowledge'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
task-file
Get task file settings
Get task file settings from config/settings.yaml.
Returns
Task file settings including default backend
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/task-files/settings' \
-H "Content-Type: application/json"fetch('http://localhost/task-files/settings', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-files/settings';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-files/settings'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List available task file backends
List all available backend directories in calibtasks.
Returns
List of backend names and paths
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/task-files/backends' \
-H "Content-Type: application/json"fetch('http://localhost/task-files/backends', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-files/backends';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-files/backends'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get file tree for a specific backend
Get file tree structure for a specific backend directory.
Args:
backend: Backend name (e.g., "qubex", "fake")
Returns:
File tree structure for the backend
Authorizations
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/task-files/tree' \
-H "Content-Type: application/json"fetch('http://localhost/task-files/tree', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-files/tree';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-files/tree'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get task file content for viewing/editing
Get task file content for viewing/editing.
Args:
path: Relative path from CALIBTASKS_BASE_PATH
Returns:
File content and metadata
Authorizations
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/task-files/content' \
-H "Content-Type: application/json"fetch('http://localhost/task-files/content', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-files/content';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-files/content'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Save task file content
Save task file content.
Args:
request: Save file request with path and content
Returns:
Success message
Authorizations
Request Body
Responses
Samples
curl -X PUT \
'http://localhost/task-files/content' \
-H "Content-Type: application/json"fetch('http://localhost/task-files/content', {method:'PUT',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-files/content';
$method = 'PUT';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-files/content'
headers = {
'Content-Type': 'application/json'
}
response = requests.put(url, headers=headers)
print(response.json())
Get backend configuration
Get backend configuration from backend.yaml.
Returns
Backend configuration
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/task-files/backend-config' \
-H "Content-Type: application/json"fetch('http://localhost/task-files/backend-config', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-files/backend-config';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-files/backend-config'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List all tasks in a backend
List all task definitions found in a backend directory.
Args:
backend: Backend name (e.g., "qubex", "fake")
sort_order: Sort order for tasks
enabled_only: If True, only return tasks that are enabled
Returns:
List of task information
Authorizations
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/task-files/tasks' \
-H "Content-Type: application/json"fetch('http://localhost/task-files/tasks', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-files/tasks';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-files/tasks'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
task-result
Operations
Get latest qubit task results
Get the latest qubit task results for all qubits on a chip.
Retrieves the most recent task result for each qubit on the specified chip.
Results include fidelity threshold status based on x90 gate fidelity.
Parameters
chip_id : str
ID of the chip to fetch results for
task : str
Name of the task to fetch results for
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
Returns
LatestTaskResultResponse
Task results for all qubits, keyed by qubit ID
Raises
ValueError
If the chip is not found for the current project
Authorizations
Parameters
Header Parameters
Query Parameters
Chip ID
Task name
Responses
Samples
curl -X GET \
'http://localhost/task-results/qubits/latest' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/qubits/latest', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/qubits/latest';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/qubits/latest'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get historical qubit task results
Get historical qubit task results for a specific date.
Retrieves task results from a specific historical date using chip history
snapshots. Results are filtered to tasks executed within the specified
day in JST timezone.
Parameters
chip_id : str
ID of the chip to fetch results for
task : str
Name of the task to fetch results for
date : str
Date in YYYYMMDD format (JST timezone)
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
Returns
LatestTaskResultResponse
Historical task results for all qubits, keyed by qubit ID
Raises
ValueError
If the chip history is not found for the specified date
Authorizations
Parameters
Header Parameters
Query Parameters
Chip ID
Task name
Date in YYYYMMDD format
Responses
Samples
curl -X GET \
'http://localhost/task-results/qubits/history' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/qubits/history', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/qubits/history';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/qubits/history'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get qubit task history
Get complete task history for a specific qubit.
Retrieves all historical task results for a specific qubit, sorted by
end time in descending order. Useful for tracking calibration trends
over time.
Parameters
qid : str
Qubit ID to fetch history for
chip_id : str
ID of the chip containing the qubit
task : str
Name of the task to fetch history for
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
Returns
TaskHistoryResponse
All historical task results, keyed by task_id
Raises
ValueError
If the chip is not found for the current project
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Chip ID
Task name
Responses
Samples
curl -X GET \
'http://localhost/task-results/qubits/{qid}/history' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/qubits/{qid}/history', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/qubits/{qid}/history';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/qubits/{qid}/history'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get latest coupling task results
Get the latest coupling task results for all couplings on a chip.
Retrieves the most recent task result for each coupling (qubit pair) on
the specified chip. Results include fidelity threshold status based on
Bell state fidelity.
Parameters
chip_id : str
ID of the chip to fetch results for
task : str
Name of the task to fetch results for
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
Returns
LatestTaskResultResponse
Task results for all couplings, keyed by coupling ID (e.g., "0-1")
Raises
ValueError
If the chip is not found for the current project
Authorizations
Parameters
Header Parameters
Query Parameters
Chip ID
Task name
Responses
Samples
curl -X GET \
'http://localhost/task-results/couplings/latest' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/couplings/latest', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/couplings/latest';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/couplings/latest'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get historical coupling task results
Get historical coupling task results for a specific date.
Retrieves task results from a specific historical date using chip history
snapshots. Results are filtered to tasks executed within the specified
day in JST timezone.
Parameters
chip_id : str
ID of the chip to fetch results for
task : str
Name of the task to fetch results for
date : str
Date in YYYYMMDD format (JST timezone)
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
Returns
LatestTaskResultResponse
Historical task results for all couplings, keyed by coupling ID
Raises
ValueError
If the chip history is not found for the specified date
Authorizations
Parameters
Header Parameters
Query Parameters
Chip ID
Task name
Date in YYYYMMDD format
Responses
Samples
curl -X GET \
'http://localhost/task-results/couplings/history' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/couplings/history', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/couplings/history';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/couplings/history'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get coupling task history
Get complete task history for a specific coupling.
Retrieves all historical task results for a specific coupling (qubit pair),
sorted by end time in descending order. Useful for tracking two-qubit
calibration trends over time.
Parameters
coupling_id : str
Coupling ID to fetch history for (e.g., "0-1")
chip_id : str
ID of the chip containing the coupling
task : str
Name of the task to fetch history for
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
Returns
TaskHistoryResponse
All historical task results, keyed by task_id
Raises
ValueError
If the chip is not found for the current project
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Chip ID
Task name
Responses
Samples
curl -X GET \
'http://localhost/task-results/couplings/{coupling_id}/history' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/couplings/{coupling_id}/history', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/couplings/{coupling_id}/history';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/couplings/{coupling_id}/history'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get timeseries task results by tag and parameter
Get timeseries task results filtered by tag and parameter.
Retrieves time series data for calibration parameters, optionally filtered
to a specific qubit. Useful for plotting parameter trends over time.
Parameters
chip_id : str
ID of the chip to fetch results for
tag : str
Tag to filter tasks by (e.g., calibration category)
parameter : str
Name of the output parameter to retrieve
start_at : str
Start time in ISO format for the time range
end_at : str
End time in ISO format for the time range
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
qid : str | None
Optional qubit ID to filter results to a specific qubit
Returns
TimeSeriesData
Time series data keyed by qubit ID, each containing a list of
parameter values with timestamps
Authorizations
Parameters
Header Parameters
Query Parameters
Chip ID
Tag to filter by
Parameter name
Start time in ISO format
End time in ISO format
Optional qubit ID to filter by
Responses
Samples
curl -X GET \
'http://localhost/task-results/timeseries' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/timeseries', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/timeseries';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/timeseries'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Re-execute a single task from its task result
Re-execute a single task using the system single-task-executor deployment.
Looks up the TaskResultHistoryDocument to extract task_name, qid, chip_id,
execution_id, and tags, then delegates to FlowService to create a Prefect
flow run via the system deployment.
Parameters
task_id : str
The task result ID to re-execute
ctx : ProjectContext
Project context with user and project information
service : TaskResultService
Injected task result service
flow_service : FlowService
Injected flow service
Returns
ExecuteFlowResponse
Execution result with IDs and URLs
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/task-results/{task_id}/re-execute' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/{task_id}/re-execute', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/{task_id}/re-execute';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/{task_id}/re-execute'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Download multiple figures as a ZIP file
Download multiple calibration figures as a ZIP file.
Creates a ZIP archive containing all requested figure files and returns it
as a streaming response.
Parameters
paths : list[str]
List of absolute file paths to the calibration figures
filename : str
Filename for the ZIP archive (default: "figures.zip")
Returns
StreamingResponse
ZIP archive containing all requested files
Raises
HTTPException
400 if no paths are provided or if any path does not exist
Authorizations
Request Body
Responses
Samples
curl -X POST \
'http://localhost/task-results/figures/download' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/figures/download', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/figures/download';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/figures/download'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
issue
List all issues across tasks
List all root issues across the project, with reply counts.
Authorizations
Parameters
Header Parameters
Query Parameters
Number of items to skip
Max items to return
Filter by task ID
Filter by closed status. Default false (open only). Set to true for closed, or omit/null for all.
Responses
Samples
curl -X GET \
'http://localhost/issues' \
-H "Content-Type: application/json"fetch('http://localhost/issues', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get a single issue by ID
Get a single root issue by its ID, including reply count.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/issues/{issue_id}' \
-H "Content-Type: application/json"fetch('http://localhost/issues/{issue_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues/{issue_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues/{issue_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Delete an issue
Delete an issue. Only the author can delete their own issue.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/issues/{issue_id}' \
-H "Content-Type: application/json"fetch('http://localhost/issues/{issue_id}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues/{issue_id}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues/{issue_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
Update an issue
Update an issue's content (and title for root issues). Only the author can edit.
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X PATCH \
'http://localhost/issues/{issue_id}' \
-H "Content-Type: application/json"fetch('http://localhost/issues/{issue_id}', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues/{issue_id}';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues/{issue_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
List replies for an issue
List all replies to a specific issue, sorted by creation time ascending.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/issues/{issue_id}/replies' \
-H "Content-Type: application/json"fetch('http://localhost/issues/{issue_id}/replies', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues/{issue_id}/replies';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues/{issue_id}/replies'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Close an issue
Close an issue thread. Only the author or project owner can close.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X PATCH \
'http://localhost/issues/{issue_id}/close' \
-H "Content-Type: application/json"fetch('http://localhost/issues/{issue_id}/close', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues/{issue_id}/close';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues/{issue_id}/close'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
Reopen an issue
Reopen a closed issue thread. Only the author or project owner can reopen.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X PATCH \
'http://localhost/issues/{issue_id}/reopen' \
-H "Content-Type: application/json"fetch('http://localhost/issues/{issue_id}/reopen', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues/{issue_id}/reopen';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues/{issue_id}/reopen'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
List issues for a task result
List all issues for a task result, sorted by creation time ascending.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/task-results/{task_id}/issues' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/{task_id}/issues', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/{task_id}/issues';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/{task_id}/issues'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Create an issue on a task result
Create a new issue on a task result.
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/task-results/{task_id}/issues' \
-H "Content-Type: application/json"fetch('http://localhost/task-results/{task_id}/issues', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/task-results/{task_id}/issues';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/task-results/{task_id}/issues'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
issue-knowledge
List knowledge cases
List issue-derived knowledge cases with optional filters.
Authorizations
Parameters
Header Parameters
Query Parameters
Filter by status: draft, approved, rejected
Filter by task name
Responses
Samples
curl -X GET \
'http://localhost/issue-knowledge' \
-H "Content-Type: application/json"fetch('http://localhost/issue-knowledge', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issue-knowledge';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issue-knowledge'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get a knowledge case
Get a single knowledge case by ID.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/issue-knowledge/{knowledge_id}' \
-H "Content-Type: application/json"fetch('http://localhost/issue-knowledge/{knowledge_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issue-knowledge/{knowledge_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issue-knowledge/{knowledge_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Delete a knowledge case
Delete a knowledge case.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/issue-knowledge/{knowledge_id}' \
-H "Content-Type: application/json"fetch('http://localhost/issue-knowledge/{knowledge_id}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issue-knowledge/{knowledge_id}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issue-knowledge/{knowledge_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
Update a knowledge draft
Update a knowledge draft's content. Only drafts can be edited.
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X PATCH \
'http://localhost/issue-knowledge/{knowledge_id}' \
-H "Content-Type: application/json"fetch('http://localhost/issue-knowledge/{knowledge_id}', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issue-knowledge/{knowledge_id}';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issue-knowledge/{knowledge_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
Generate knowledge draft from issue
Generate an AI knowledge draft from a closed issue thread.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X POST \
'http://localhost/issues/{issue_id}/extract-knowledge' \
-H "Content-Type: application/json"fetch('http://localhost/issues/{issue_id}/extract-knowledge', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issues/{issue_id}/extract-knowledge';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issues/{issue_id}/extract-knowledge'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Approve a knowledge draft
Approve a knowledge draft for inclusion in task knowledge.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X PATCH \
'http://localhost/issue-knowledge/{knowledge_id}/approve' \
-H "Content-Type: application/json"fetch('http://localhost/issue-knowledge/{knowledge_id}/approve', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issue-knowledge/{knowledge_id}/approve';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issue-knowledge/{knowledge_id}/approve'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
Reject a knowledge draft
Reject a knowledge draft.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X PATCH \
'http://localhost/issue-knowledge/{knowledge_id}/reject' \
-H "Content-Type: application/json"fetch('http://localhost/issue-knowledge/{knowledge_id}/reject', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/issue-knowledge/{knowledge_id}/reject';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/issue-knowledge/{knowledge_id}/reject'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
tag
List all tags
List all tags for the current project.
Retrieves all tags associated with the current project's calibration data.
Tags are used to categorize and filter task results.
Parameters
ctx : ProjectContext
Project context with user and project information
tag_repo : MongoTagRepository
Repository for tag operations
Returns
ListTagResponse
Wrapped list of tag names
Authorizations
Parameters
Header Parameters
Responses
Samples
curl -X GET \
'http://localhost/tags' \
-H "Content-Type: application/json"fetch('http://localhost/tags', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/tags';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/tags'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
device-topology
Get the device topology
Get the device topology.
Authorizations
Parameters
Header Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/device-topology' \
-H "Content-Type: application/json"fetch('http://localhost/device-topology', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/device-topology';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/device-topology'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Get the device topology plot
Get the device topology as a PNG image.
Authorizations
Parameters
Header Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/device-topology/plot' \
-H "Content-Type: application/json"fetch('http://localhost/device-topology/plot', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/device-topology/plot';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/device-topology/plot'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
backend
Operations
List all backends
Retrieve a list of all registered backends
Authorizations
Parameters
Header Parameters
Responses
Samples
curl -X GET \
'http://localhost/backends' \
-H "Content-Type: application/json"fetch('http://localhost/backends', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/backends';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/backends'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
flow
Operations
List all flows
List all Flows for the current project.
Authorizations
Parameters
Header Parameters
Responses
Samples
curl -X GET \
'http://localhost/flows' \
-H "Content-Type: application/json"fetch('http://localhost/flows', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Save a flow
Save a Flow to file system and MongoDB.
Authorizations
Parameters
Header Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/flows' \
-H "Content-Type: application/json"fetch('http://localhost/flows', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
List all flow templates
List all available flow templates.
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/flows/templates' \
-H "Content-Type: application/json"fetch('http://localhost/flows/templates', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/templates';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/templates'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get a flow template
Get flow template details including code content.
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/flows/templates/{template_id}' \
-H "Content-Type: application/json"fetch('http://localhost/flows/templates/{template_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/templates/{template_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/templates/{template_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List flow helper files
List all Python files in the qdash.workflow.service module.
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/flows/helpers' \
-H "Content-Type: application/json"fetch('http://localhost/flows/helpers', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/helpers';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/helpers'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get flow helper file content
Get the content of a flow helper file.
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/flows/helpers/{filename}' \
-H "Content-Type: application/json"fetch('http://localhost/flows/helpers/{filename}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/helpers/{filename}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/helpers/{filename}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
List all flow schedules for current user
List all Flow schedules (cron and one-time) for the current project.
Authorizations
Parameters
Header Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/flows/schedules' \
-H "Content-Type: application/json"fetch('http://localhost/flows/schedules', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/schedules';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/schedules'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Delete a flow schedule
Delete a Flow schedule (cron or one-time).
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/flows/schedules/{schedule_id}' \
-H "Content-Type: application/json"fetch('http://localhost/flows/schedules/{schedule_id}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/schedules/{schedule_id}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/schedules/{schedule_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
Update a flow schedule
Update a Flow schedule (cron schedules only).
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X PATCH \
'http://localhost/flows/schedules/{schedule_id}' \
-H "Content-Type: application/json"fetch('http://localhost/flows/schedules/{schedule_id}', {method:'PATCH',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/schedules/{schedule_id}';
$method = 'PATCH';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/schedules/{schedule_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.patch(url, headers=headers)
print(response.json())
Get flow details
Get Flow details including code content.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/flows/{name}' \
-H "Content-Type: application/json"fetch('http://localhost/flows/{name}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/{name}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/{name}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Delete a flow
Delete a Flow.
Authorizations
Parameters
Header Parameters
Path Parameters
Responses
Samples
curl -X DELETE \
'http://localhost/flows/{name}' \
-H "Content-Type: application/json"fetch('http://localhost/flows/{name}', {method:'DELETE',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/{name}';
$method = 'DELETE';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/{name}'
headers = {
'Content-Type': 'application/json'
}
response = requests.delete(url, headers=headers)
print(response.json())
Execute a flow
Execute a Flow via Prefect deployment.
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/flows/{name}/execute' \
-H "Content-Type: application/json"fetch('http://localhost/flows/{name}/execute', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/{name}/execute';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/{name}/execute'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
Schedule a flow execution (cron or one-time)
Schedule a Flow execution with cron or one-time schedule.
Authorizations
Parameters
Header Parameters
Path Parameters
Request Body
Responses
Samples
curl -X POST \
'http://localhost/flows/{name}/schedule' \
-H "Content-Type: application/json"fetch('http://localhost/flows/{name}/schedule', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/{name}/schedule';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/{name}/schedule'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
List schedules for a specific flow
List all schedules (cron and one-time) for a specific Flow.
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/flows/{name}/schedules' \
-H "Content-Type: application/json"fetch('http://localhost/flows/{name}/schedules', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/flows/{name}/schedules';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/flows/{name}/schedules'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
metrics
Get metrics configuration
Get metrics metadata configuration for visualization.
Retrieves the metrics configuration loaded from YAML, including display
metadata for all qubit and coupling metrics used in the dashboard.
Returns
dict[str, Any]
Dictionary with metrics configuration including:
- qubit_metrics: Metadata for single-qubit metrics (frequency, T1, T2, fidelities)
- coupling_metrics: Metadata for two-qubit coupling metrics (ZX90, Bell state)
- color_scale: Color scale configuration for heatmap visualization
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/metrics/config' \
-H "Content-Type: application/json"fetch('http://localhost/metrics/config', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/metrics/config';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/metrics/config'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get Chip Metrics
Get chip calibration metrics for visualization.
This endpoint returns calibration metrics for a specific chip from the database, including:
- Qubit frequency, anharmonicity, T1, T2 echo times
- Gate fidelities (single-qubit and two-qubit)
- Readout fidelities
Args:
chip_id: The chip identifier
ctx: Project context with user and project information
metrics_service: Injected metrics service
within_hours: Optional filter to only include data from last N hours (e.g., 24)
selection_mode: "latest" to get most recent values, "best" to get optimal values
Returns:
ChipMetricsResponse with all metrics data
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Filter to data within N hours (e.g., 24)
Selection mode: 'latest' for most recent, 'best' for optimal, 'average' for mean values
Responses
Samples
curl -X GET \
'http://localhost/metrics/chips/{chip_id}/metrics' \
-H "Content-Type: application/json"fetch('http://localhost/metrics/chips/{chip_id}/metrics', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/metrics/chips/{chip_id}/metrics';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/metrics/chips/{chip_id}/metrics'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get Qubit Metric History
Get historical metric data for a specific qubit with task_id for figure display.
This endpoint queries TaskResultHistoryDocument to retrieve calibration
history for a specific metric, including multiple executions on the same day.
Each history item includes task_id for displaying calibration figures.
Args:
chip_id: The chip identifier
qid: The qubit identifier (e.g., "0", "Q00")
ctx: Project context with user and project information
metrics_service: Injected metrics service
metric: Metric name to retrieve history for
limit: Maximum number of history items (None for unlimited within time range)
within_days: Optional filter to only include data from last N days
Returns:
QubitMetricHistoryResponse with historical metric data and task_ids
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Metric name (e.g., t1, qubit_frequency)
Max number of history items (None for unlimited)
Filter to last N days
Responses
Samples
curl -X GET \
'http://localhost/metrics/chips/{chip_id}/qubits/{qid}/history' \
-H "Content-Type: application/json"fetch('http://localhost/metrics/chips/{chip_id}/qubits/{qid}/history', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/metrics/chips/{chip_id}/qubits/{qid}/history';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/metrics/chips/{chip_id}/qubits/{qid}/history'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get Coupling Metric History
Get historical metric data for a specific coupling with task_id for figure display.
This endpoint queries TaskResultHistoryDocument to retrieve calibration
history for a specific coupling metric, including multiple executions on the same day.
Each history item includes task_id for displaying calibration figures.
Args:
chip_id: The chip identifier
coupling_id: The coupling identifier (e.g., "0-1", "2-3")
ctx: Project context with user and project information
metrics_service: Injected metrics service
metric: Metric name to retrieve history for
limit: Maximum number of history items (None for unlimited within time range)
within_days: Optional filter to only include data from last N days
Returns:
QubitMetricHistoryResponse with historical metric data and task_ids
(Note: qid field contains coupling_id for coupling metrics)
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Metric name (e.g., zx90_gate_fidelity, bell_state_fidelity)
Max number of history items (None for unlimited)
Filter to last N days
Responses
Samples
curl -X GET \
'http://localhost/metrics/chips/{chip_id}/couplings/{coupling_id}/history' \
-H "Content-Type: application/json"fetch('http://localhost/metrics/chips/{chip_id}/couplings/{coupling_id}/history', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/metrics/chips/{chip_id}/couplings/{coupling_id}/history';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/metrics/chips/{chip_id}/couplings/{coupling_id}/history'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Download metrics as PDF report
Download chip metrics as a PDF report.
Generates a comprehensive PDF report containing:
- Cover page with chip information and report metadata
- Heatmap visualizations for each metric
- Statistics for each metric (coverage, average, min, max, std dev)
The report includes all qubit metrics (8 types) and coupling metrics (3 types)
that have data available.
Args:
chip_id: Chip identifier
within_hours: Optional time filter in hours
selection_mode: "latest" for most recent values, "best" for optimal values
Authorizations
Parameters
Header Parameters
Path Parameters
Query Parameters
Filter to data within N hours
Selection mode: 'latest', 'best', or 'average'
Responses
Samples
curl -X POST \
'http://localhost/metrics/chips/{chip_id}/metrics/pdf' \
-H "Content-Type: application/json"fetch('http://localhost/metrics/chips/{chip_id}/metrics/pdf', {method:'POST',headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/metrics/chips/{chip_id}/metrics/pdf';
$method = 'POST';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/metrics/chips/{chip_id}/metrics/pdf'
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers)
print(response.json())
topology
List available topologies
List all available topology definitions.
Args:
size: Optional filter by number of qubits
Returns:
dict: List of topology summaries with id, name, and num_qubits
Authorizations
Parameters
Query Parameters
Responses
Samples
curl -X GET \
'http://localhost/topology/list' \
-H "Content-Type: application/json"fetch('http://localhost/topology/list', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/topology/list';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/topology/list'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get topology by ID
Get a specific topology definition.
Args:
topology_id: Topology identifier (e.g., "square-lattice-mux-64")
Returns:
dict: Complete topology definition with qubits and couplings
Authorizations
Parameters
Path Parameters
Responses
Samples
curl -X GET \
'http://localhost/topology/{topology_id}' \
-H "Content-Type: application/json"fetch('http://localhost/topology/{topology_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/topology/{topology_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/topology/{topology_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
config
Operations
Get all configuration
Fetch all application configuration in a single request
Authorizations
Responses
Samples
curl -X GET \
'http://localhost/config/all' \
-H "Content-Type: application/json"fetch('http://localhost/config/all', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/config/all';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/config/all'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
provenance
Operations
Get a parameter version by entity ID
Get a specific parameter version by entity ID.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
entity_id : str
Entity identifier (format: parameter_name:qid:execution_id:task_id)
Returns
ParameterVersionResponse
Parameter version details
Raises
HTTPException
404 if entity not found
Authorizations
Parameters
Header Parameters
Path Parameters
Entity identifier
Responses
Samples
curl -X GET \
'http://localhost/provenance/entities/{entity_id}' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/entities/{entity_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/entities/{entity_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/entities/{entity_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get lineage (ancestors) of a parameter version
Get the lineage (ancestors) of a parameter version.
Traverses wasDerivedFrom and wasGeneratedBy relations backward
to find all entities and activities that contributed to this entity.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
entity_id : str
Entity identifier to trace lineage from
max_depth : int
Maximum traversal depth (1-20)
Returns
LineageResponse
Lineage graph with nodes and edges
Authorizations
Parameters
Header Parameters
Path Parameters
Entity identifier
Query Parameters
Maximum traversal depth
Responses
Samples
curl -X GET \
'http://localhost/provenance/lineage/{entity_id}' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/lineage/{entity_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/lineage/{entity_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/lineage/{entity_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get impact (descendants) of a parameter version
Get the impact (descendants) of a parameter version.
Traverses wasDerivedFrom relations forward to find all entities
that were derived from this entity.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
entity_id : str
Entity identifier to trace impact from
max_depth : int
Maximum traversal depth (1-20)
Returns
ImpactResponse
Impact graph with affected nodes and edges
Authorizations
Parameters
Header Parameters
Path Parameters
Entity identifier
Query Parameters
Maximum traversal depth
Responses
Samples
curl -X GET \
'http://localhost/provenance/impact/{entity_id}' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/impact/{entity_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/impact/{entity_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/impact/{entity_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Compare parameter values between two executions
Compare parameter values between two executions.
Shows which parameters were added, removed, or changed between
two calibration executions.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
execution_id_before : str
First execution ID (before state)
execution_id_after : str
Second execution ID (after state)
Returns
ExecutionComparisonResponse
Comparison of parameter values
Authorizations
Parameters
Header Parameters
Query Parameters
First execution ID (before)
Second execution ID (after)
Responses
Samples
curl -X GET \
'http://localhost/provenance/compare' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/compare', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/compare';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/compare'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get version history for a parameter
Get version history for a parameter.
Returns all versions of a parameter for a specific qubit,
sorted by version number (newest first).
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
parameter_name : str
Name of the parameter (e.g., "qubit_frequency")
qid : str
Qubit or coupling identifier (e.g., "Q0", "Q0-Q1")
limit : int
Maximum number of versions to return
Returns
ParameterHistoryResponse
List of parameter versions
Authorizations
Parameters
Header Parameters
Query Parameters
Name of the parameter
Qubit or coupling identifier
Maximum number of versions
Responses
Samples
curl -X GET \
'http://localhost/provenance/history' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/history', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/history';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/history'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get provenance statistics
Get provenance statistics for a project.
Returns counts and recent entities for provenance tracking.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
Returns
ProvenanceStatsResponse
Provenance statistics
Authorizations
Parameters
Header Parameters
Responses
Samples
curl -X GET \
'http://localhost/provenance/stats' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/stats', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/stats';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/stats'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get recent execution IDs
Get recent unique execution IDs.
Returns unique execution IDs sorted by most recent first.
Uses MongoDB aggregation for efficient retrieval.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
limit : int
Maximum number of execution IDs to return (1-50)
Returns
RecentExecutionsResponse
List of recent execution IDs
Authorizations
Parameters
Header Parameters
Query Parameters
Maximum number of execution IDs to return
Responses
Samples
curl -X GET \
'http://localhost/provenance/executions' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/executions', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/executions';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/executions'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get recent parameter changes with delta
Get recent parameter changes with delta from previous versions.
Returns parameter changes that have a previous version, showing
the delta (difference) from the previous value.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
limit : int
Maximum number of changes to return (1-50)
within_hours : int
Time window in hours (1-168, default: 24)
parameter_names : list[str] | None
Filter by parameter names (e.g., from metrics.yaml config)
Returns
RecentChangesResponse
List of recent parameter changes with delta information
Authorizations
Parameters
Header Parameters
Query Parameters
Maximum number of changes to return
Time window in hours
Filter by parameter names (from metrics config)
Responses
Samples
curl -X GET \
'http://localhost/provenance/changes' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/changes', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/changes';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/changes'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get degradation trends (consecutive worsening)
Get parameters with consecutive degradation across calibration versions.
Detects parameters where the value has been consistently worsening
(based on evaluation mode: maximize/minimize) over multiple versions.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
min_streak : int
Minimum consecutive worsening steps (3-20, default: 3)
limit : int
Maximum number of trends to return (1-100, default: 50)
parameter_names : list[str] | None
Filter by parameter names
Returns
DegradationTrendsResponse
Detected degradation trends sorted by severity
Authorizations
Parameters
Header Parameters
Query Parameters
Minimum consecutive worsening steps
Maximum number of trends to return
Filter by parameter names
Responses
Samples
curl -X GET \
'http://localhost/provenance/degradation-trends' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/degradation-trends', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/degradation-trends';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/degradation-trends'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get recalibration task recommendations
Get recommended recalibration tasks based on parameter change impact.
When a calibration parameter changes (either through recalibration or
manual adjustment), this endpoint analyzes the provenance graph to
identify which downstream parameters are affected and recommends
which calibration tasks should be re-run.
The recommendations are prioritized based on dependency proximity:
tasks producing directly dependent parameters are ranked higher than
those producing transitively dependent parameters.
Parameters
ctx : ProjectContext
Project context with user and project information
service : ProvenanceService
Provenance service instance
entity_id : str
Entity identifier of the changed parameter
max_depth : int
Maximum traversal depth for impact analysis (1-20)
Returns
RecalibrationRecommendationResponse
Prioritized list of recommended recalibration tasks
Example
If qubit_frequency for Q0 changes:
- Priority 1: CheckRabiOscillation (direct dependency)
- Priority 2: CheckT1, CheckT2 (use frequency-dependent pulses)
- Priority 3: CheckCrossResonance (uses derived gate parameters)
Authorizations
Parameters
Header Parameters
Path Parameters
Entity identifier of changed parameter
Query Parameters
Maximum impact traversal depth
Responses
Samples
curl -X GET \
'http://localhost/provenance/recommendations/{entity_id}' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/recommendations/{entity_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/recommendations/{entity_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/recommendations/{entity_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get policy violations for current parameter versions
Get policy violations evaluated on current (latest valid) parameter versions.
Authorizations
Parameters
Header Parameters
Query Parameters
Filter by severity (warn)
Maximum number of violations to return
Filter by parameter names
Responses
Samples
curl -X GET \
'http://localhost/provenance/policy/violations' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/policy/violations', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/policy/violations';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/policy/violations'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())
Get policy violations for current versions in impact set
Get policy violations for current versions within the impact graph of an entity.
Authorizations
Parameters
Header Parameters
Path Parameters
Entity identifier
Query Parameters
Maximum traversal depth
Filter by severity (warn)
Maximum number of violations to return
Responses
Samples
curl -X GET \
'http://localhost/provenance/policy/impact/{entity_id}' \
-H "Content-Type: application/json"fetch('http://localhost/provenance/policy/impact/{entity_id}', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));<?php
$url = 'http://localhost/provenance/policy/impact/{entity_id}';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>import requests
url = 'http://localhost/provenance/policy/impact/{entity_id}'
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
print(response.json())