Skip to main content
IBM Quantum Platform
Diese REST-API steht nur jenen Mitgliedern des On-Prem-Plans zur Verfügung, die sie in ihrer Umgebung aktiviert haben.

IBM Quantum System REST API

Der „ IBM® “ ( Quantum System REST API ) ermöglicht den direkten Zugriff auf den vor Ort beim Kunden installierten Quantencomputer. Die API wird nach der Integration in die Infrastruktur des Kunden (in der Regel eine HPC-Umgebung) lokal bereitgestellt. Die Aufgabe der API besteht darin, die heterogenen Ressourcen der QPU und der klassischen Laufzeitumgebung zu abstrahieren. Über diese Schnittstelle führen Benutzer Workloads auf QPUs mithilfe von „ Qiskit Runtime “-Primitiven aus, ohne sich um hardwarespezifische Details kümmern zu müssen.


Authentifizierung

Sie müssen in jedem Request im Header „ HTTP “ ein I AM-Bearer-Token ( IBM Cloud® Identity and Access Management ) angeben. Um ein Bearer-Token zu generieren, müssen Sie zunächst den API-Schlüssel verwenden, den Sie während der Einrichtungsphase im Rahmen des Integrationsprozesses erstellt haben (fragen Sie Ihren Administrator, falls Sie Ihren API-Schlüssel nicht zur Hand haben). Anschließend generieren Sie das Bearer-Token mithilfe der IAM-REST-API mit der folgenden curl Anfrage.

curl -X POST 'https://iam.cloud.ibm.com/identity/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=MY_APIKEY'

Erwartete Antwort:

{
   "access_token": "<NEW_BEARER_TOKEN>",
   "refresh_token": "not_supported",
   "token_type": "Bearer",
   "expires_in": 3600,
   "expiration": 1473188353,
   "scope": "ibm_openid"
}
Was ist ein Inhaber-Token?

Ein Bearer-Token ist eine temporäre Berechtigung, die nach spätestens einer Stunde abläuft. Nachdem der erworbene Token abgelaufen ist, müssen Sie einen neuen generieren, um weiterhin „ IBM Cloud “ oder andere Service-APIs aufrufen zu können. Sie können nur Aktionen ausführen, die gemäß Ihrer zugewiesenen Zugriffsberechtigung in allen Konten zulässig sind.

Verwenden Sie die Eigenschaft expires_in „response“ in der API-Antwort, um festzustellen, wie lange Ihr spezifisches Zugriffstoken gültig ist. Weitere Informationen zu Inhabertoken findest du in der Dokumentation zu „ IBM Cloud “.

Zudem muss jede Anfrage an die REST-API den Cloud Resource Name (CRN) der Instanz im Anfrage-Header enthalten. Sie können die Instanzen anzeigen, auf die Sie Zugriff haben, indem Sie im Menü oben links zur Seite „Instanzen“ navigieren und dort die Registerkarte „Direkter Zugriff“ auswählen. Jede Instanz wird mit ihrer CRN-Kennung aufgeführt und repräsentiert Ihre Infrastruktur (in der Regel Ihre HPC-Umgebung). Falls Sie keinen Zugriff auf diese Seite haben, wenden Sie sich bitte an Ihren Administrator.

Geben Sie bei jeder Anfrage in einem Authorization und Service-CRN Header Ihr Bearer-Token, CRN sowie IBM -API-Version in folgendem Format an:

Authorization: Bearer <YOUR_BEARER_TOKEN>
Service-CRN: <YOUR_INSTANCE_CRN>
IBM-API-Version: <YYYY-MM-DD>

Beispielanforderung:

curl -X 'GET' \
 '<YOUR_QSA_URL>/v1/backends' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer <YOUR_BEARER_TOKEN>' \
 -H 'Service-CRN: <YOUR_INSTANCE_CRN>' \
 -H 'IBM-API-Version: 2026-02-15'

Einen Job einreichen

Beachten Sie bei der Übermittlung eines Auftrags Folgendes:

  • Verwenden Sie den Befehl „create job“, um einfache Aufträge zu übermitteln.
  • Sie können mehrere Schaltkreise in einem einzigen Auftrag als Array von Zeichenfolgen vom Typ „ OpenQASM “ übermitteln, die die Schaltkreise darstellen.
  • Geben Sie die gewünschte Primitive mit dem program_id Parameter an. Verfügbare primitive Werte sind sampler und estimator.
  • Wenn Sie einen Auftrag an eine lokale QPU übermitteln, müssen Sie die CRN Ihrer „ IBM Cloud “-Direct-Access-Instanz angeben.
  • Sie müssen den Namen Ihres lokalen Quantum-Systems als Backend-Namen angeben. Wenn Sie Zugriff auf die „ On-Prem Plan “ haben, können Sie den Backend-Namen im Abschnitt „Compute-Ressourcen“ unter IBM Quantum Platform einsehen.

Beispiel für eine Anfrage zur Erstellung eines Estimator-Jobs mit einem Schaltkreis und einer Beobachtungsgröße:

curl -X 'POST' \
'<YOUR_QSA_URL>/v1/jobs' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <YOUR_BEARER_TOKEN>' \
-H 'Service-CRN: <YOUR_DIRECT_ACCESS_PLAN_INSTANCE_CRN>' \
-H 'IBM-API-Version: 2026-02-15' \
-H 'Content-Type: application/json' \
--data-raw '{
{
"id": "6e32f594-189e-4bc5-89a2-3c21e1c7e75a",
"program_id": "sampler",
"backend": "ibm_<YOUR_SYSTEM_NAME>",
"timeout_secs": 10000,
"storage": {
 "input": {
   "type": "ibmcloud_cos",
   "region": "us-east",
   "region_type": "regional",
   "bucket_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/abc123:abc123:bucket:my-bucket",
   "object_name": "params:6e32f594-189e-4bc5-89a2-3c21e1c7e75a"
 },
 "results": {
   "type": "ibmcloud_cos",
   "region": "us-east",
   "region_type": "regional",
   "bucket_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/abc123:abc123:bucket:my-bucket",
   "object_name": "results:6e32f594-189e-4bc5-89a2-3c21e1c7e75a"
 },
 "logs": {
   "type": "ibmcloud_cos",
   "region": "us-east",
   "region_type": "regional",
   "bucket_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/abc123:abc123:bucket:my-bucket",
   "object_name": "logs:6e32f594-189e-4bc5-89a2-3c21e1c7e75a"
 }
}
}
}'
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.